From 941396fc6076e9bd6c8e0927b406b53aba7fbfed Mon Sep 17 00:00:00 2001 From: wilson Date: Fri, 8 May 2026 10:59:24 +0100 Subject: [PATCH] feat: [frontend] Update the styles and data on the adventure page, to automatically refresh --- .../app/adventures/[id]/+page.server.ts | 6 +- .../routes/app/adventures/[id]/+page.svelte | 286 ++++++++++++++- .../app/adventures/[id]/LatestEntry.svelte | 330 ++++++++++++++---- .../app/adventures/[id]/NextSteps.svelte | 69 ++-- .../adventures/[id]/PreviousEntries.svelte | 1 + .../app/adventures/[id]/adventureState.ts | 56 +++ .../adventures/[id]/getAdventure.remote.ts | 26 ++ .../routes/app/adventures/new/+page.server.ts | 122 ++++--- frontend/src/routes/app/jobs/+page.server.ts | 2 +- 9 files changed, 744 insertions(+), 154 deletions(-) create mode 100644 frontend/src/routes/app/adventures/[id]/adventureState.ts create mode 100644 frontend/src/routes/app/adventures/[id]/getAdventure.remote.ts diff --git a/frontend/src/routes/app/adventures/[id]/+page.server.ts b/frontend/src/routes/app/adventures/[id]/+page.server.ts index bd8a64b..6843c91 100644 --- a/frontend/src/routes/app/adventures/[id]/+page.server.ts +++ b/frontend/src/routes/app/adventures/[id]/+page.server.ts @@ -18,13 +18,13 @@ export const load: PageServerLoad = async ({ locals, params }) => { return error(400, `Error loading adventure`); } - const { title, entries, current_entry_choices, language } = response.data; + const { title, entries, current_entry_choices, language, status } = response.data; - response.data.entries.forEach((e) => console.log(e.story_text)); return { title: title, entries, choices: current_entry_choices, - language: language + language: language, + status: status }; }; diff --git a/frontend/src/routes/app/adventures/[id]/+page.svelte b/frontend/src/routes/app/adventures/[id]/+page.svelte index d04fb6f..620ea9e 100644 --- a/frontend/src/routes/app/adventures/[id]/+page.svelte +++ b/frontend/src/routes/app/adventures/[id]/+page.svelte @@ -1,18 +1,120 @@

Choose your own adventure

-

{data.title}

+

{adventureTitle}

- + {#if $adventureState.status === 'awaiting_first_entry'} +

Waiting for the first entry...

+ {:else} + - ({ - label: choice.text, - id: choice.id - }))} - adventureId={params.id} - /> + + {/if}