From 04972684c3bc062f20ed1dbff34b71b4cd38e927 Mon Sep 17 00:00:00 2001 From: 134 Date: Thu, 11 Jun 2026 19:35:09 +0800 Subject: [PATCH] fix image providers and model deletion --- components/home/lovart-home.tsx | 18 -- .../home/lovart/lovart-hero-composer.tsx | 24 +- .../home/lovart/lovart-projects-section.tsx | 4 +- lib/ai/grsai-gpt-image-sizes.ts | 49 ++-- lib/ai/providers/alibaba-image.ts | 233 +++++++++++++++--- lib/ai/providers/fal-image.ts | 45 +++- lib/ai/providers/gemini-image.ts | 28 +-- lib/ai/runtime/model-health.ts | 12 +- lib/canvas/generate-image.ts | 8 +- ...ternal_image_log_model_delete_set_null.sql | 13 + lib/db/migrations/meta/_journal.json | 7 + lib/db/queries.ts | 49 +++- lib/db/schema.ts | 4 +- 13 files changed, 360 insertions(+), 134 deletions(-) create mode 100644 lib/db/migrations/0086_external_image_log_model_delete_set_null.sql diff --git a/components/home/lovart-home.tsx b/components/home/lovart-home.tsx index e39d340ca..770c06d2c 100644 --- a/components/home/lovart-home.tsx +++ b/components/home/lovart-home.tsx @@ -766,23 +766,6 @@ export function LovartHome({ .filter(Boolean); }, [composerFixedPrefix, composerPreviewTexts]); - const lovartPromptTagVisibility = useMemo(() => { - const raw = siteSettingsData?.lovartPromptTagVisibility || {}; - return { - nanoBananaPro: raw.nanoBananaPro !== false, - design: raw.design !== false, - branding: raw.branding !== false, - illustration: raw.illustration !== false, - ecommerce: raw.ecommerce !== false, - video: raw.video !== false, - }; - }, [siteSettingsData?.lovartPromptTagVisibility]); - - const visiblePromptTags = useMemo( - () => PROMPT_TAGS.filter((tag) => lovartPromptTagVisibility[tag.key]), - [lovartPromptTagVisibility] - ); - const contactConfig = useMemo( () => ({ phone: String(siteSettingsData?.contactConfig?.phone || "").trim(), @@ -1826,7 +1809,6 @@ export function LovartHome({ shouldInvertLogo={shouldInvertLogo} siteName={siteName} selectedModelId={selectedComposerModel.id} - visiblePromptTags={visiblePromptTags} /> )} diff --git a/components/home/lovart/lovart-hero-composer.tsx b/components/home/lovart/lovart-hero-composer.tsx index 60721643f..c5f491c59 100644 --- a/components/home/lovart/lovart-hero-composer.tsx +++ b/components/home/lovart/lovart-hero-composer.tsx @@ -11,9 +11,6 @@ import { import { Textarea } from "@/components/ui/textarea"; import { cn } from "@/lib/utils"; import type { ModelOption, UploadFileItem } from "./types"; -import type { PROMPT_TAGS } from "./utils"; - -type PromptTag = (typeof PROMPT_TAGS)[number]; type LovartHeroComposerProps = { composerPlaceholder: string; @@ -43,7 +40,6 @@ type LovartHeroComposerProps = { onModelChange: (modelId: string) => void; onStartAgentMode: () => void; selectedModelId: string; - visiblePromptTags: PromptTag[]; }; export function LovartHeroComposer({ @@ -70,7 +66,6 @@ export function LovartHeroComposer({ onModelChange, onStartAgentMode, selectedModelId, - visiblePromptTags, }: LovartHeroComposerProps) { return (
@@ -111,7 +106,7 @@ export function LovartHeroComposer({ {heroSubtitleText || "懂你的设计代理,帮你搞定一切"}

-
+