fix: complete jump-hop frontend wiring

This commit is contained in:
kdletters
2026-05-22 06:19:59 +08:00
parent 7b8cb82bf0
commit 1756b83789
10 changed files with 132 additions and 2 deletions

View File

@@ -716,6 +716,12 @@ function mapVisualNovelWorkToPublicWorkDetail(
return mapVisualNovelWorkToPlatformGalleryCard(item);
}
function mapJumpHopWorkToPublicWorkDetail(
item: JumpHopGalleryCardResponse | JumpHopWorkProfileResponse,
): PlatformPublicGalleryCard {
return mapJumpHopWorkToPlatformGalleryCard(item);
}
function mapBarkBattleWorkToPublicWorkDetail(
item: BarkBattleWorkSummary,
): PlatformPublicGalleryCard {
@@ -2563,6 +2569,22 @@ export function PlatformEntryFlowShellImpl({
useState(false);
const [squareHoleGenerationState, setSquareHoleGenerationState] =
useState<MiniGameDraftGenerationState | null>(null);
const [jumpHopSession, setJumpHopSession] =
useState<JumpHopSessionSnapshotResponse | null>(null);
const [jumpHopRun, setJumpHopRun] = useState<
JumpHopRunResponse['run'] | null
>(null);
const [jumpHopWork, setJumpHopWork] =
useState<JumpHopWorkProfileResponse | null>(null);
const [jumpHopGalleryEntries, setJumpHopGalleryEntries] = useState<
JumpHopGalleryCardResponse[]
>([]);
const [jumpHopRuntimeReturnStage, setJumpHopRuntimeReturnStage] =
useState<JumpHopRuntimeReturnStage>('jump-hop-result');
const [jumpHopGenerationState, setJumpHopGenerationState] =
useState<MiniGameDraftGenerationState | null>(null);
const [jumpHopError, setJumpHopError] = useState<string | null>(null);
const [isJumpHopBusy, setIsJumpHopBusy] = useState(false);
const [barkBattleWorks, setBarkBattleWorks] = useState<
BarkBattleWorkSummary[]
>([]);
@@ -3674,6 +3696,7 @@ export function PlatformEntryFlowShellImpl({
...match3dGalleryEntries.map(mapMatch3DWorkToPublicWorkDetail),
...puzzleGalleryEntries.map(mapPuzzleWorkToPlatformGalleryCard),
...barkBattleGalleryEntries.map(mapBarkBattleWorkToPlatformGalleryCard),
...jumpHopGalleryEntries.map(mapJumpHopWorkToPlatformGalleryCard),
...(barkBattleGalleryEntries.length === 0
? barkBattleWorks
.filter((work) => work.status === 'published')