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({