// ============ Types & Interfaces ============ export interface ImmerseTask { id: string; text: string; completed: boolean; estimatedMinutes: number; actualMinutes: number; createdAt: number; completedAt?: number; list: string; notes: string; scheduledDate?: string; isActive: boolean; } export interface TaskList { id: string; name: string; color: string; icon: string; } export interface ImmerseSettings { pomodoroWorkMinutes: number; pomodoroBreakMinutes: number; longBreakMinutes: number; longBreakInterval: number; enableSounds: boolean; enableCelebrations: boolean; defaultEstimateMinutes: number; lists: TaskList[]; autoStartBreak: boolean; tickSoundEnabled: boolean; // Daily note logging logToDaily: boolean; } export interface ImmerseData { tasks: ImmerseTask[]; completedToday: number; totalFocusMinutesToday: number; streak: number; lastActiveDate: string; pomodorosCompleted: number; } export const DEFAULT_SETTINGS: ImmerseSettings = { pomodoroWorkMinutes: 25, pomodoroBreakMinutes: 5, longBreakMinutes: 15, longBreakInterval: 4, enableSounds: true, enableCelebrations: true, defaultEstimateMinutes: 30, lists: [ { id: 'work', name: 'Work', color: '#6366f1', icon: '💼' }, { id: 'personal', name: 'Personal', color: '#22c55e', icon: '🏠' }, { id: 'learning', name: 'Learning', color: '#f59e0b', icon: '📚' }, ], autoStartBreak: true, tickSoundEnabled: false, // Daily note logging logToDaily: false, }; export const DEFAULT_DATA: ImmerseData = { tasks: [], completedToday: 0, totalFocusMinutesToday: 0, streak: 0, lastActiveDate: '', pomodorosCompleted: 0, }; export const VIEW_TYPE_IMMERSE = 'immerse-view'; // ============ Celebration Messages ============ export const CELEBRATION_MESSAGES = [ { emoji: '💥', message: 'Crushed it!' }, { emoji: '🔥', message: 'On fire!' }, { emoji: '⚡', message: 'Lightning fast!' }, { emoji: '🎯', message: 'Bullseye!' }, { emoji: '🚀', message: 'Blasting through!' }, { emoji: '💪', message: 'Strong work!' }, { emoji: '🌟', message: 'Stellar!' }, { emoji: '✨', message: 'Brilliant!' }, { emoji: '🏆', message: 'Champion!' }, { emoji: '🎉', message: 'Well done!' }, ]; export const EARLY_FINISH_MESSAGES = [ { emoji: '⚡', message: 'Speed demon! Finished early!' }, { emoji: '🏎️', message: 'Faster than expected!' }, { emoji: '🎯', message: 'Under budget! Nice work!' }, ]; export const OVERTIME_MESSAGES = [ { emoji: '💪', message: 'Persistence pays off!' }, { emoji: '🏃', message: 'Marathon runner!' }, { emoji: '🔥', message: 'The grind is real!' }, ];