feat: move canvas banner above chat input
This commit is contained in:
parent
ca8f211138
commit
6e89c88bd3
@ -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
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Banner - 从系统设置中获取 */}
|
||||
{(siteSettings?.bannerEnabled ?? true) && (siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!") && (
|
||||
<div
|
||||
className={cn(
|
||||
"mb-6 bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-300 p-3 rounded-xl text-sm flex items-center justify-between",
|
||||
siteSettings?.bannerLink && "cursor-pointer hover:bg-blue-100 dark:hover:bg-blue-900/30 transition-colors"
|
||||
)}
|
||||
onClick={() => {
|
||||
if (siteSettings?.bannerLink) {
|
||||
window.open(siteSettings.bannerLink, '_blank');
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="p-1 bg-blue-100 dark:bg-blue-800 rounded">
|
||||
<Box className="h-4 w-4" />
|
||||
</div>
|
||||
<span>{siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!"}</span>
|
||||
</div>
|
||||
<X className="h-4 w-4 cursor-pointer opacity-50 hover:opacity-100" onClick={(e) => e.stopPropagation()} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
{canvasSkillTags.length > 0 && (
|
||||
<div className="mb-8 rounded-3xl border border-[#eceef2] bg-white/90 p-4">
|
||||
<div className="mb-3 text-center">
|
||||
@ -6957,6 +6938,30 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
|
||||
</div>,
|
||||
document.body
|
||||
)}
|
||||
|
||||
{renderableVisibleMessages.length === 0 && shouldShowCanvasBanner ? (
|
||||
<div className="px-4 pb-2">
|
||||
<div
|
||||
className={cn(
|
||||
"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-300 p-3 rounded-xl text-sm flex items-center justify-between",
|
||||
siteSettings?.bannerLink && "cursor-pointer hover:bg-blue-100 dark:hover:bg-blue-900/30 transition-colors"
|
||||
)}
|
||||
onClick={() => {
|
||||
if (siteSettings?.bannerLink) {
|
||||
window.open(siteSettings.bannerLink, "_blank");
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="flex items-center gap-2">
|
||||
<div className="p-1 bg-blue-100 dark:bg-blue-800 rounded">
|
||||
<Box className="h-4 w-4" />
|
||||
</div>
|
||||
<span>{siteSettings?.bannerText || "升级会员, Nano Banana Pro 免费365天!"}</span>
|
||||
</div>
|
||||
<X className="h-4 w-4 cursor-pointer opacity-50 hover:opacity-100" onClick={(e) => e.stopPropagation()} />
|
||||
</div>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
{/* 底部输入区域 - 混合输入(图片标签+文字可自由混合) */}
|
||||
<div className="p-4 bg-white dark:bg-zinc-950 border-t">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user