From 3b3d9dcf8ec2700983dfc218b4fbd86da26aaf6a Mon Sep 17 00:00:00 2001 From: AIGameCreator App Date: Tue, 7 Jul 2026 22:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=B7=A6=E4=BE=A7=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按 GameAgent 需求落地首页、项目、帮助三类左侧入口 项目页复用本地最近工作区记录并提供打开和显示目录操作 帮助入口改为浮层菜单并接入使用指南、联系我们、最新动态页面 为独立客户端声明 lucide-react 图标依赖 --- apps/ai-game-creator-shell/package.json | 1 + apps/ai-game-creator-shell/src/App.tsx | 363 ++++++++++++++++------ apps/ai-game-creator-shell/src/styles.css | 222 ++++++++++++- 3 files changed, 491 insertions(+), 95 deletions(-) diff --git a/apps/ai-game-creator-shell/package.json b/apps/ai-game-creator-shell/package.json index 613b4d7c9..468c3ed69 100644 --- a/apps/ai-game-creator-shell/package.json +++ b/apps/ai-game-creator-shell/package.json @@ -14,6 +14,7 @@ }, "dependencies": { "@vitejs/plugin-react": "^5.0.4", + "lucide-react": "^0.546.0", "react": "^19.0.0", "react-dom": "^19.0.0", "vite": "^6.2.0" diff --git a/apps/ai-game-creator-shell/src/App.tsx b/apps/ai-game-creator-shell/src/App.tsx index bc65d53d3..cb398a920 100644 --- a/apps/ai-game-creator-shell/src/App.tsx +++ b/apps/ai-game-creator-shell/src/App.tsx @@ -9,6 +9,17 @@ import { useRef, useState, } from 'react'; +import { + Bell, + BookOpen, + CircleHelp, + Contact, + FolderKanban, + Home, + Plus, + Settings, + Upload, +} from 'lucide-react'; import { createGameCreationAppManifest, @@ -49,6 +60,7 @@ const AGENT_RUN_HISTORY_INITIAL_VISIBLE_COUNT = 20; const AGENT_RUN_HISTORY_VISIBLE_STEP = 20; const CONVERSATION_INITIAL_VISIBLE_COUNT = 20; const CONVERSATION_VISIBLE_STEP = 20; +type LauncherView = 'home' | 'projects' | 'guide' | 'contact' | 'news'; interface InitLocalProjectResult { projectPath: string; @@ -1387,6 +1399,7 @@ function RuntimeConfigDialog({ export function WorkspaceLauncher() { const [projectPath, setProjectPath] = useState(defaultProjectPath); const [status, setStatus] = useState('请选择项目'); + const [launcherView, setLauncherView] = useState('home'); const [recentWorkspaces, setRecentWorkspaces] = useState(readRecentWorkspaces); const [recentWorkspaceStatuses, setRecentWorkspaceStatuses] = useState< @@ -1590,6 +1603,49 @@ export function WorkspaceLauncher() { } } + const projectRows = recentWorkspaces.map((workspace) => { + const directoryStatus = recentWorkspaceStatuses[workspace]; + return { + path: workspace, + name: + directoryStatus?.projectName || + workspace.split(/[\\/]/).filter(Boolean).pop() || + workspace, + status: + directoryStatus === null + ? '检查失败' + : directoryStatus?.exists === false + ? '未找到' + : directoryStatus?.isDirectory === false + ? '不是文件夹' + : directoryStatus?.isGameCreatorProject === false + ? '未初始化' + : directoryStatus?.recentRunStatus + ? `最近运行:${directoryStatus.recentRunStatus}` + : recentWorkspaceRefreshing + ? '检查中' + : '本地项目', + canOpen: + !recentWorkspaceRefreshing && + directoryStatus !== null && + directoryStatus?.exists !== false && + directoryStatus?.isDirectory !== false && + directoryStatus?.isGameCreatorProject !== false, + }; + }); + const currentHelpTitle = + launcherView === 'guide' + ? '使用指南' + : launcherView === 'contact' + ? '联系我们' + : '最新动态'; + const currentHelpItems = + launcherView === 'guide' + ? ['创建游戏项目', '上传参考素材', '选择审批档位', '生成试玩原型'] + : launcherView === 'contact' + ? ['产品反馈', '商务合作', '账号与充值支持'] + : ['GameAgent V1.0 首页改版', '项目工作区和 Agent 会话建设中', '美术生成将接入平台 API']; + return (
@@ -1649,88 +1749,169 @@ export function WorkspaceLauncher() { -
-
- tn -
-

Lovart 让设计更简单

-

懂你的设计代理,帮你搞定一切

-
-
-
-