项目界面无法跳转的问题修复

让 /project 复用创作主页桌面导航壳

为项目页补充保留左侧导航并切回推荐页的回归测试

同步项目入口文档约束
This commit is contained in:
2026-06-21 19:39:52 +08:00
parent da34d19b46
commit 976561d385
4 changed files with 73 additions and 26 deletions
@@ -15251,10 +15251,18 @@ export function PlatformEntryFlowShellImpl({
/>
</Suspense>
);
const projectGalleryContent = (
<Suspense fallback={<LazyPanelFallback label="正在加载项目..." />}>
<ProjectGalleryView onOpenProject={openEditorProject} />
</Suspense>
);
const handlePlatformHomeTabChange = useCallback(
(tab: PlatformHomeTab) => {
platformBootstrap.setPlatformTab(tab);
if (selectionStage === 'creation-home' && tab !== 'create') {
if (
(selectionStage === 'creation-home' && tab !== 'create') ||
selectionStage === 'project'
) {
setSelectionStage('platform');
pushAppHistoryPath('/');
}
@@ -15264,11 +15272,14 @@ export function PlatformEntryFlowShellImpl({
const platformHomeView = (
<PlatformEntryHomeView
activeTab={
selectionStage === 'creation-home'
selectionStage === 'creation-home' || selectionStage === 'project'
? 'create'
: platformBootstrap.platformTab
}
allowHiddenActiveTab={selectionStage === 'creation-home'}
activeDesktopNavTab={selectionStage === 'project' ? 'projects' : undefined}
allowHiddenActiveTab={
selectionStage === 'creation-home' || selectionStage === 'project'
}
onTabChange={handlePlatformHomeTabChange}
hasSavedGame={hasSavedGame}
savedSnapshot={savedSnapshot}
@@ -15298,9 +15309,11 @@ export function PlatformEntryFlowShellImpl({
: platformBootstrap.dashboardError
}
createTabContent={
selectionStage === 'creation-home'
? creationLandingContent
: creationStartContent
selectionStage === 'project'
? projectGalleryContent
: selectionStage === 'creation-home'
? creationLandingContent
: creationStartContent
}
draftTabContent={draftHubContent}
onContinueGame={handleContinueGame}
@@ -15408,21 +15421,6 @@ export function PlatformEntryFlowShellImpl({
</Suspense>
</motion.div>
)}
{selectionStage === 'project' && (
<motion.div
key="project-gallery"
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -12 }}
className="project-gallery-stage-shell flex h-full min-h-0 min-w-0 flex-col overflow-hidden"
>
<Suspense fallback={<LazyPanelFallback label="正在加载项目..." />}>
<ProjectGalleryView
onOpenProject={openEditorProject}
/>
</Suspense>
</motion.div>
)}
{selectionStage === 'creation-home' && (
<motion.div
key="creation-home"
@@ -15434,6 +15432,17 @@ export function PlatformEntryFlowShellImpl({
{platformHomeView}
</motion.div>
)}
{selectionStage === 'project' && (
<motion.div
key="project-gallery"
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -12 }}
className="creation-home-stage flex h-full min-h-0 min-w-0 flex-col overflow-hidden"
>
{platformHomeView}
</motion.div>
)}
{selectionStage === 'platform' && (
<motion.div
key="platform-home"