diff --git a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx index 799fe92f..e00e70e4 100644 --- a/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx +++ b/src/components/platform-entry/PlatformEntryFlowShellImpl.tsx @@ -222,6 +222,7 @@ import { useRpgCreationEnterWorld } from '../rpg-entry/useRpgCreationEnterWorld' import { useRpgCreationResultAutosave } from '../rpg-entry/useRpgCreationResultAutosave'; import { useRpgCreationSessionController } from '../rpg-entry/useRpgCreationSessionController'; import { PlatformEntryCreationTypeModal } from './PlatformEntryCreationTypeModal'; +import { PlatformFeedbackView } from './PlatformFeedbackView'; import type { PlatformCreationTypeId } from './platformEntryCreationTypes'; import { isPlatformCreationTypeVisible } from './platformEntryCreationTypes'; import { @@ -1352,6 +1353,22 @@ export function PlatformEntryFlowShellImpl({ }); const { setPlatformTab } = platformBootstrap; + useEffect(() => { + if (selectionStage === 'profile-feedback') { + setPlatformTab('profile'); + } + }, [selectionStage, setPlatformTab]); + + const openProfileFeedback = useCallback(() => { + if (!authUi?.user) { + authUi?.openLoginModal(); + return; + } + + setPlatformTab('profile'); + setSelectionStage('profile-feedback'); + }, [authUi, setPlatformTab, setSelectionStage]); + const enterCreateTab = useCallback(() => { // 只依赖稳定的 setter,避免把 bootstrap 对象的 render 级引用变化 // 传导成 Agent session 恢复 effect 的重复触发。 @@ -5465,6 +5482,7 @@ export function PlatformEntryFlowShellImpl({ setIsProfilePlayStatsOpen(false); }} onOpenPlayedWork={openPlayedWork} + onOpenFeedback={openProfileFeedback} onOpenProfileDashboardCard={(cardKey) => { if (cardKey === 'playedWorks') { openProfilePlayedWorks(); @@ -5479,6 +5497,23 @@ export function PlatformEntryFlowShellImpl({ )} + {selectionStage === 'profile-feedback' && ( + + { + setPlatformTab('profile'); + setSelectionStage('platform'); + }} + /> + + )} + {selectionStage === 'work-detail' && selectedPublicWorkDetail && (