From 2607c6c7a7f29a4ecde184045d6ff66adedc18d5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 15 Feb 2026 00:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E9=A6=96=E9=A1=B5Ag?= =?UTF-8?q?ent=E6=98=BE=E7=A4=BA=E5=B9=B6=E6=8C=89=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E9=9A=90=E8=97=8F=E5=8D=87=E7=BA=A7=E5=85=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/home/lovart-home.tsx | 180 +++++++++++++++++--------------- 1 file changed, 98 insertions(+), 82 deletions(-) diff --git a/components/home/lovart-home.tsx b/components/home/lovart-home.tsx index b5fc9b46e..8df97e4e3 100644 --- a/components/home/lovart-home.tsx +++ b/components/home/lovart-home.tsx @@ -374,6 +374,9 @@ export function LovartHome({ canvasDefaultModelId?: string | null; lovartComposerPrefix?: string | null; lovartComposerPreviewTexts?: string[]; + membershipConfig?: { + enabled?: boolean; + }; toolbox1Name?: string | null; toolbox1Enabled?: boolean; toolbox2Name?: string | null; @@ -424,10 +427,20 @@ export function LovartHome({ [imageModels] ); - const currentComposerModel = useMemo( - () => allComposerModels.find((model) => model.id === selectedModelId), - [allComposerModels, selectedModelId] + const composerModelValue = useMemo(() => { + if (!selectedModelId) return "auto"; + if (allComposerModels.some((model) => model.id === selectedModelId)) { + return selectedModelId; + } + return "auto"; + }, [allComposerModels, selectedModelId]); + const triggerComposerModel = useMemo( + () => + allComposerModels.find((model) => model.id === composerModelValue) || + allComposerModels.find((model) => model.id === "auto"), + [allComposerModels, composerModelValue] ); + const isMembershipEnabled = siteSettingsData?.membershipConfig?.enabled !== false; const discoveryTabs = useMemo(() => { const configured = (surpriseCategories || []) @@ -557,11 +570,10 @@ export function LovartHome({ useEffect(() => { if (!selectedModelId) return; - if (!modelsData) return; if (allComposerModels.length === 0) return; if (allComposerModels.some((model) => model.id === selectedModelId)) return; setSelectedModelId("auto"); - }, [allComposerModels, selectedModelId, modelsData]); + }, [allComposerModels, selectedModelId]); useEffect(() => { if (!isAuthenticated) return; @@ -862,7 +874,7 @@ export function LovartHome({ attachments: uploadedAttachments, autoSend: true, createdAt: Date.now(), - selectedModelId: selectedModelId || "auto", + selectedModelId: composerModelValue, imageParams, }) ); @@ -964,67 +976,69 @@ export function LovartHome({ - - - - - -
-
-
-
- {currentPlan?.name || "Free"} -
-
+ {isMembershipEnabled ? ( + + -
-
-
- - - 积分 - - {membershipData?.summary?.currentCredits ?? 0} -
-
- - - 每日免费积分 - - {membershipData?.summary?.dailyFreeCredits ?? 0} -
-
- -
-
-
+
+
+
+
+ {currentPlan?.name || "Free"} +
+
+ +
+
+
+ + + 积分 + + {membershipData?.summary?.currentCredits ?? 0} +
+
+ + + 每日免费积分 + + {membershipData?.summary?.dailyFreeCredits ?? 0} +
+
+ +
+ + + ) : null} {isAuthenticated ? ( @@ -1248,15 +1262,17 @@ export function LovartHome({
- + {isMembershipEnabled ? ( + + ) : null}
{siteLogo ? ( @@ -1315,26 +1331,26 @@ export function LovartHome({ /> - - +
- {currentComposerModel?.avatarUrl ? ( + {triggerComposerModel?.avatarUrl ? ( {currentComposerModel.displayName ) : ( - {(currentComposerModel?.displayName || "A").slice(0, 1)} + {(triggerComposerModel?.displayName || "A").slice(0, 1)} )} - {currentComposerModel?.displayName || "Agent模式"} + {triggerComposerModel?.displayName || "Agent模式"} - +
@@ -1357,7 +1373,7 @@ export function LovartHome({ {model.displayName} - {(selectedModelId || "auto") === model.id ? ( + {composerModelValue === model.id ? ( ✓ ) : null} @@ -1369,11 +1385,11 @@ export function LovartHome({