/** * Global application state */ // Modal state export let currentEditingId = null; export let datePicker = null; export let startTimePicker = null; export let endTimePicker = null; export let filterFromPicker = null; export let filterToPicker = null; // Timer state export let timerInterval = null; export let timerStartTime = null; export let timerPausedDuration = 0; // Total paused time in seconds export let isPaused = false; export let pauseTimeout = null; export let currentEntryId = null; // ID of today's entry being timed // Current month display state export let displayYear = new Date().getFullYear(); export let displayMonth = new Date().getMonth(); // 0-11 // Bulk edit state export let bulkEditMode = false; export let selectedEntries = new Set(); // Setters for state mutations export function setCurrentEditingId(id) { currentEditingId = id; } export function setDatePicker(picker) { datePicker = picker; } export function setStartTimePicker(picker) { startTimePicker = picker; } export function setEndTimePicker(picker) { endTimePicker = picker; } export function setFilterFromPicker(picker) { filterFromPicker = picker; } export function setFilterToPicker(picker) { filterToPicker = picker; } export function setTimerInterval(interval) { timerInterval = interval; } export function setTimerStartTime(time) { timerStartTime = time; } export function setTimerPausedDuration(duration) { timerPausedDuration = duration; } export function setIsPaused(paused) { isPaused = paused; } export function setPauseTimeout(timeout) { pauseTimeout = timeout; } export function setCurrentEntryId(id) { currentEntryId = id; } export function setDisplayYear(year) { displayYear = year; } export function setDisplayMonth(month) { displayMonth = month; } export function setBulkEditMode(mode) { bulkEditMode = mode; } export function clearSelectedEntries() { selectedEntries.clear(); } export function addSelectedEntry(id) { selectedEntries.add(id); } export function removeSelectedEntry(id) { selectedEntries.delete(id); } export function hasSelectedEntry(id) { return selectedEntries.has(id); }