From 46e513559295df586a6e068dcca49a61f5986ebe Mon Sep 17 00:00:00 2001 From: 134 Date: Mon, 13 Jul 2026 16:20:08 +0800 Subject: [PATCH] feat: localize and brand HiCAD workspace --- app/(chat)/ai-cad/page.tsx | 1 - components/ai-cad/zoo-design-studio-frame.tsx | 48 +---- scripts/vendor-zoo-modeling-app.mjs | 29 +++ vendor/zoo-modeling-app/Logo.tsx | 49 +++++ vendor/zoo-modeling-app/localization.ts | 182 ++++++++++++++++++ 5 files changed, 263 insertions(+), 46 deletions(-) create mode 100644 vendor/zoo-modeling-app/Logo.tsx create mode 100644 vendor/zoo-modeling-app/localization.ts diff --git a/app/(chat)/ai-cad/page.tsx b/app/(chat)/ai-cad/page.tsx index d360c7de1..39dc438d4 100644 --- a/app/(chat)/ai-cad/page.tsx +++ b/app/(chat)/ai-cad/page.tsx @@ -26,7 +26,6 @@ export default async function AiCadPage() { return ( ); diff --git a/components/ai-cad/zoo-design-studio-frame.tsx b/components/ai-cad/zoo-design-studio-frame.tsx index 1d66629fd..088a1df80 100644 --- a/components/ai-cad/zoo-design-studio-frame.tsx +++ b/components/ai-cad/zoo-design-studio-frame.tsx @@ -1,45 +1,13 @@ "use client"; -import { AlertTriangle, RefreshCw } from "lucide-react"; -import { useEffect, useRef, useState } from "react"; +import { AlertTriangle } from "lucide-react"; type ZooDesignStudioFrameProps = { isReady: boolean; - sourceLabel: string; src: string; }; -export function ZooDesignStudioFrame({ - isReady, - sourceLabel, - src, -}: ZooDesignStudioFrameProps) { - const [loaded, setLoaded] = useState(false); - const iframeRef = useRef(null); - - useEffect(() => { - if (!isReady) { - return; - } - - const iframe = iframeRef.current; - if (!iframe) { - return; - } - - const markLoaded = () => setLoaded(true); - iframe.addEventListener("load", markLoaded); - try { - if (iframe.contentDocument?.readyState === "complete") { - markLoaded(); - } - } catch { - // The regular load event remains the fallback if access is unavailable. - } - - return () => iframe.removeEventListener("load", markLoaded); - }, [isReady, src]); - +export function ZooDesignStudioFrame({ isReady, src }: ZooDesignStudioFrameProps) { if (!isReady) { return (
@@ -65,20 +33,10 @@ export function ZooDesignStudioFrame({ } return ( -
- {!loaded && ( -
-
- - 正在加载 {sourceLabel} -
-
- )} +