![detail-image]()
@@ -854,8 +875,28 @@ function validateJournalEntryReason(){
}
function showImage(src){document.getElementById("bigImg").src=src;document.getElementById("imgModal").style.display="flex";}
function closeModal(){document.getElementById("imgModal").style.display="none";}
-function forceCloseDetailModal(){document.getElementById("detailModal").style.display="none";}
+function setDetailModalFullscreen(on){
+ const modal = document.getElementById("detailModal");
+ if(modal){ modal.classList.toggle("fullscreen", !!on); }
+}
+function forceCloseDetailModal(){
+ const modal = document.getElementById("detailModal");
+ if(modal){ modal.style.display = "none"; modal.classList.remove("fullscreen"); }
+}
function closeDetailModal(e){if(e.target && e.target.id==="detailModal"){forceCloseDetailModal();}}
+function expandDetailToFullscreen(){ setDetailModalFullscreen(true); }
+function openAiInlineResultFullscreen(title, elementId){
+ const el = document.getElementById(elementId || "daily_result");
+ const text = String((el && el.innerText) || "").trim();
+ if(!text){ alert("暂无内容"); return; }
+ document.getElementById("detailTitle").innerText = title || "AI复盘";
+ document.getElementById("detailBody").innerText = text;
+ const imgEl = document.getElementById("detailImage");
+ imgEl.src = "";
+ imgEl.style.display = "none";
+ setDetailModalFullscreen(true);
+ document.getElementById("detailModal").style.display = "flex";
+}
const journalCache = {};
const reviewCache = {};
@@ -897,10 +938,11 @@ function openJournalDetail(id){
imgEl.src = "";
imgEl.style.display = "none";
}
+ setDetailModalFullscreen(false);
document.getElementById("detailModal").style.display = "flex";
}
-function openReviewDetail(id){
+function openReviewDetail(id, fullscreen){
const r = reviewCache[id];
if(!r){ return; }
document.getElementById("detailTitle").innerText = `${r.review_type === "daily" ? "日复盘" : "周复盘"}|${r.target_date || "-"}`;
@@ -908,6 +950,7 @@ function openReviewDetail(id){
const imgEl = document.getElementById("detailImage");
imgEl.src = "";
imgEl.style.display = "none";
+ setDetailModalFullscreen(!!fullscreen);
document.getElementById("detailModal").style.display = "flex";
}
@@ -1096,7 +1139,8 @@ function loadReviews(){
${r.created_at || ""}
${shortText || "(空)"}
@@ -1113,8 +1157,10 @@ function genDaily(){
fetch("/ai_daily_review",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`date=${encodeURIComponent(d)}`})
.then(r=>r.json()).then(data=>{
const el=document.getElementById("daily_result");
+ const wrap=document.getElementById("daily_result_wrap");
el.innerText=data.result;
- el.style.display="block";
+ if(wrap){ wrap.style.display="block"; }
+ else { el.style.display="block"; }
loadReviews();
});
}
@@ -1126,8 +1172,10 @@ function genWeekly(){
fetch("/ai_weekly_review",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`start_date=${encodeURIComponent(s)}&end_date=${encodeURIComponent(e)}`})
.then(r=>r.json()).then(data=>{
const el=document.getElementById("weekly_result");
+ const wrap=document.getElementById("weekly_result_wrap");
el.innerText=data.result;
- el.style.display="block";
+ if(wrap){ wrap.style.display="block"; }
+ else { el.style.display="block"; }
loadReviews();
});
}
diff --git a/crypto_monitor_gate_bot/templates/index.html b/crypto_monitor_gate_bot/templates/index.html
index f4a407c..cb534e1 100644
--- a/crypto_monitor_gate_bot/templates/index.html
+++ b/crypto_monitor_gate_bot/templates/index.html
@@ -83,6 +83,14 @@
.detail-modal .panel-close{padding:6px 10px;background:#2f2134;color:#ffb2b2;border:none;border-radius:8px;cursor:pointer}
.detail-modal .panel-body{white-space:pre-wrap;line-height:1.5;font-size:.86rem;color:#e5e9ff}
.detail-modal .panel-image{margin-top:10px;max-width:min(100%,680px);border-radius:8px;cursor:pointer;border:1px solid #2a3150}
+ .detail-modal .panel-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
+ .detail-modal .panel-fs{padding:6px 10px;background:#1f3a5a;color:#8fc8ff;border:none;border-radius:8px;cursor:pointer;font-size:.82rem}
+ .detail-modal.fullscreen{padding:10px}
+ .detail-modal.fullscreen .panel{width:100%;height:100%;max-width:none;max-height:none;display:flex;flex-direction:column;overflow:hidden}
+ .detail-modal.fullscreen .panel-body{flex:1;overflow:auto;min-height:0;font-size:.9rem}
+ .ai-result-wrap{margin-top:8px}
+ .ai-result-toolbar{display:flex;gap:8px;margin-top:6px}
+ .ai-result-toolbar .btn-fs{padding:4px 10px;font-size:.78rem;background:#1f3a5a;color:#8fc8ff;border:none;border-radius:6px;cursor:pointer}
.table-wrap{overflow-x:auto}
.trade-dashboard{grid-column:1/-1;display:flex;flex-direction:column;gap:14px}
.trade-panels-row,.dual-panel-grid,.strategy-trading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
@@ -572,8 +580,18 @@