From 6e89c88bd36123581e5c474fb8d773b5296a65c2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 4 Mar 2026 01:22:19 +0800 Subject: [PATCH] feat: move canvas banner above chat input --- components/canvas/CanvasChatPanel.tsx | 51 +++++++++++++++------------ 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 43bca9e08..484fea4d3 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -2311,6 +2311,10 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF }, []); const totalGeneratedImages = Number(userImageStats?.totalImages ?? NaN); const aiDetailGenerationEnabled = siteSettings?.aiDetailGenerationEnabled === true; + const shouldShowCanvasBanner = + !isDetailGenerationMode && + (siteSettings?.bannerEnabled ?? true) && + Boolean(siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!"); const canvasSkillTagsEnabled = canvasSkillTagsData?.enabled !== false; const canvasSkillTagsTitle = String(canvasSkillTagsData?.title || "").trim() || DEFAULT_CANVAS_SKILL_TAGS_TITLE; @@ -6366,29 +6370,6 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF

- {/* Banner - 从系统设置中获取 */} - {(siteSettings?.bannerEnabled ?? true) && (siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!") && ( -
{ - if (siteSettings?.bannerLink) { - window.open(siteSettings.bannerLink, '_blank'); - } - }} - > -
-
- -
- {siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!"} -
- e.stopPropagation()} /> -
- )} - {canvasSkillTags.length > 0 && (
@@ -6957,6 +6938,30 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
, document.body )} + + {renderableVisibleMessages.length === 0 && shouldShowCanvasBanner ? ( +
+
{ + if (siteSettings?.bannerLink) { + window.open(siteSettings.bannerLink, "_blank"); + } + }} + > +
+
+ +
+ {siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!"} +
+ e.stopPropagation()} /> +
+
+ ) : null} {/* 底部输入区域 - 混合输入(图片标签+文字可自由混合) */}