From 9d58d973732ceff7495e8e82cb964a666c9a5275 Mon Sep 17 00:00:00 2001 From: ginnoir Date: Thu, 11 Jun 2026 18:57:30 -0500 Subject: [PATCH] feat(ui): full-screen story panel with VN layout and story log --- src/ui/StoryPanel.tsx | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/ui/StoryPanel.tsx diff --git a/src/ui/StoryPanel.tsx b/src/ui/StoryPanel.tsx new file mode 100644 index 0000000..833aedd --- /dev/null +++ b/src/ui/StoryPanel.tsx @@ -0,0 +1,74 @@ +import { gameRuntime } from '../state/runtime'; +import { useGameStore } from '../state/store'; + +/** Full-screen VN overlay with prose, choices, and desktop story log sidebar. */ +export function StoryPanel() { + const open = useGameStore((s) => s.storyPanelOpen); + const story = useGameStore((s) => s.story); + const storyLog = useGameStore((s) => s.storyLog); + + if (!open) return null; + + const hasChoices = story.choices.length > 0; + + return ( +
+
+ +
+

{story.currentProse}

+ {hasChoices ? ( +
+ {story.choices.map((choice) => ( + + ))} +
+ ) : ( + + )} + +
+
+
+ ); +}