diff --git a/src/components/DaySummary.tsx b/src/components/DaySummary.tsx index bd08e70..27f7263 100644 --- a/src/components/DaySummary.tsx +++ b/src/components/DaySummary.tsx @@ -10,13 +10,15 @@ interface DaySummaryProps { totalDuration: number; dayStartTime: Date; onPostDay: () => void; + onDiscardDay: () => void; } export const DaySummary: React.FC = ({ tasks, totalDuration, dayStartTime, - onPostDay + onPostDay, + onDiscardDay }) => { return (
@@ -62,6 +64,13 @@ export const DaySummary: React.FC = ({ > Post Time to Archive +
diff --git a/src/contexts/TimeTrackingContext.tsx b/src/contexts/TimeTrackingContext.tsx index 59f121d..9c88f0a 100644 --- a/src/contexts/TimeTrackingContext.tsx +++ b/src/contexts/TimeTrackingContext.tsx @@ -131,6 +131,7 @@ interface TimeTrackingContextType { // Actions startDay: (startDateTime?: Date) => void; endDay: () => void; + discardDay: () => void; startNewTask: ( title: string, description?: string, @@ -572,6 +573,18 @@ export const TimeTrackingProvider: React.FC<{ children: React.ReactNode }> = ({ } }; + const discardDay = () => { + setIsDayStarted(false); + setDayStartTime(null); + setCurrentTask(null); + setTasks([]); + setHasUnsavedChanges(true); + if (dataService) { + dataService.saveCurrentDay({ isDayStarted: false, dayStartTime: null, currentTask: null, tasks: [] }) + .catch(error => console.error("❌ Error saving state after discarding day:", error)); + } + }; + const startNewTask = ( title: string, description?: string, @@ -1081,6 +1094,7 @@ export const TimeTrackingProvider: React.FC<{ children: React.ReactNode }> = ({ categories, startDay, endDay, + discardDay, startNewTask, updateTask, deleteTask, diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 2704540..eb5e669 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -23,6 +23,7 @@ const TimeTrackerContent = () => { archivedDays, startDay, endDay, + discardDay, postDay, deleteTask, startNewTask, @@ -50,6 +51,10 @@ const TimeTrackerContent = () => { postDay(); }; + const handleDiscardDay = () => { + discardDay(); + }; + const handleNewTask = ( title: string, description?: string, @@ -80,6 +85,7 @@ const TimeTrackerContent = () => { totalDuration={getTotalDayDuration()} dayStartTime={dayStartTime} onPostDay={handlePostDay} + onDiscardDay={handleDiscardDay} />