refactor(ui): split talkie dialogue overlay
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled

This commit is contained in:
Tom Boullay
2026-06-01 21:43:58 +02:00
parent 3b07f40f2d
commit a1798aecb3
5 changed files with 158 additions and 116 deletions
@@ -0,0 +1,27 @@
import { GAME_STEPS } from "@/data/game/gameStateConfig";
import { useGameStore } from "@/managers/stores/useGameStore";
import { useSubtitleStore } from "@/managers/stores/useSubtitleStore";
const TALKIE_FIRST_VISIBLE_STEP = "reveal";
const TALKIE_FIRST_VISIBLE_STEP_INDEX = GAME_STEPS.indexOf(
TALKIE_FIRST_VISIBLE_STEP,
);
interface TalkieDialogueOverlayState {
isNarratorDialogue: boolean;
isVisible: boolean;
}
export function useTalkieDialogueOverlayState(): TalkieDialogueOverlayState {
const activeSubtitle = useSubtitleStore((state) => state.activeSubtitle);
const mainState = useGameStore((state) => state.mainState);
const introStep = useGameStore((state) => state.intro.currentStep);
const introStepIndex = GAME_STEPS.indexOf(introStep);
return {
isNarratorDialogue: activeSubtitle?.speaker === "Narrateur",
isVisible:
mainState !== "intro" ||
introStepIndex >= TALKIE_FIRST_VISIBLE_STEP_INDEX,
};
}