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