// Application state store import { writable } from 'svelte/store'; export const currentScreen = writable('idle'); // idle | home | restaurants | attractions export const selectedIndex = writable(-1); export const restaurants = writable([]); export const attractions = writable([]); export const currentTime = writable(new Date()); export const wsConnected = writable(false); // Input handling export const inputState = writable({ up: false, down: false, left: false, right: false, select: false, back: false, }); // Navigation stack for back button const navigationStack = writable(['idle']); export function pushScreen(screen) { navigationStack.update((stack) => [...stack, screen]); currentScreen.set(screen); selectedIndex.set(0); } export function popScreen() { navigationStack.update((stack) => { if (stack.length > 1) { stack.pop(); currentScreen.set(stack[stack.length - 1]); } return stack; }); selectedIndex.set(0); } export function resetNavigation() { navigationStack.set(['idle']); currentScreen.set('idle'); selectedIndex.set(0); }