import { create } from 'zustand'; export type TimerPhase = 'work' | 'short_break' | 'long_break'; export interface TimerTickPayload { phase: TimerPhase; remaining_secs: number; total_secs: number; session_count: number; current_task_id: string | null; } interface TimerState { phase: TimerPhase; remainingSecs: number; totalSecs: number; running: boolean; sessionCount: number; currentTaskId: string | null; setTimerTick: (payload: TimerTickPayload) => void; setRunning: (running: boolean) => void; } export const useTimerStore = create((set) => ({ phase: 'work', remainingSecs: 25 * 60, totalSecs: 25 * 60, running: false, sessionCount: 0, currentTaskId: null, setTimerTick: (payload) => set({ phase: payload.phase, remainingSecs: payload.remaining_secs, totalSecs: payload.total_secs, sessionCount: payload.session_count, currentTaskId: payload.current_task_id, }), setRunning: (running) => set({ running }), }));