共创页签改为只列支持共创的作品(复用广场卡片+forkable=1+加载更多),主题列表页保留但撤下页签入口
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled

This commit is contained in:
2026-10-07 14:25:38 +08:00
parent bfe336a53c
commit 1bb74aab6f
13 changed files with 347 additions and 44 deletions
@@ -606,9 +606,12 @@ export function PlatformEntryFlowShellImpl({
setSelectionStage('games', { path: '/games' });
}, [setSelectionStage]);
/** 共创主题列表(`/games` 的「共创」页签)。 */
const openGameThemes = useCallback(() => {
setSelectionStage('game-themes', { path: '/games/themes' });
/**
* 「共创」页签:**只列支持共创的作品**(游戏卡片 + 同一套游标分页)。
* 它不再指向共创主题列表——主题列表页(stage `game-themes`)与路由保留,只是没有页签入口。
*/
const openGameCoCreation = useCallback(() => {
setSelectionStage('game-co-creation', { path: '/games/co-creation' });
}, [setSelectionStage]);
const backFromGameThemes = useCallback(() => {
@@ -634,8 +637,8 @@ export function PlatformEntryFlowShellImpl({
window.history.back();
return;
}
replaceAppHistoryPath('/games/themes');
setSelectionStage('game-themes', { path: '/games/themes' });
replaceAppHistoryPath('/games/co-creation');
setSelectionStage('game-co-creation', { path: '/games/co-creation' });
}, [setSelectionStage]);
/**
@@ -774,6 +777,7 @@ export function PlatformEntryFlowShellImpl({
selectionStage === 'game-detail' ||
selectionStage === 'game-compare' ||
selectionStage === 'game-themes' ||
selectionStage === 'game-co-creation' ||
selectionStage === 'game-theme' ||
selectionStage === 'game-play' ||
selectionStage === 'game-mine' ||
@@ -1049,7 +1053,7 @@ export function PlatformEntryFlowShellImpl({
searchKeyword={activeSearchKeyword}
onOpenDetail={openGameDetail}
onOpenMyGames={openMyGames}
onOpenThemes={openGameThemes}
onOpenThemes={openGameCoCreation}
onOpenPublish={
gamePublishGateAllowed ? openGamePublish : undefined
}
@@ -1103,6 +1107,13 @@ export function PlatformEntryFlowShellImpl({
onBack={backFromGameCompare}
onOpenDetail={openGameDetail}
/>
) : selectionStage === 'game-co-creation' ? (
<GameGalleryPage
searchKeyword={activeSearchKeyword}
scope="forkable"
onOpenDetail={openGameDetail}
onOpenGallery={openGames}
/>
) : selectionStage === 'game-themes' ? (
<GameThemesPage
onBack={backFromGameThemes}