diff --git a/CHANGELOG.md b/CHANGELOG.md index 13ac3d4..e7fd4f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this project are documented in this file. +## [1.114.0] - 2026-09-01 + +### Added +- Focus Mode: "SKIP" button to move on to the next task of the day without completing the + current one. Skipped tasks are remembered until Focus Mode is closed, and the timer + resets for each new task. The button is disabled when no other task is left for today. + +### Changed +- Styling settings: removed the standalone "Element Colors" and "Weekend Colors" sections — + those controls now live only in the CSS Variables panel (added there in 1.113.1). +- Styling settings: larger, borderless color swatches and bigger labels in the CSS Variables + panel. + ## [1.113.1] - 2026-07-08 ### Changed diff --git a/package-lock.json b/package-lock.json index 5132fb7..503c0c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "my-weekly-todo-list", - "version": "1.104.1", + "version": "1.114.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "my-weekly-todo-list", - "version": "1.104.1", + "version": "1.114.0", "license": "MIT", "dependencies": { "@auth/prisma-adapter": "^2.11.1", diff --git a/package.json b/package.json index 99b69bc..0068536 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.113.1", + "version": "1.114.0", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/components/FocusModeOverlay.tsx b/src/components/FocusModeOverlay.tsx index a510ad2..44ebcc2 100644 --- a/src/components/FocusModeOverlay.tsx +++ b/src/components/FocusModeOverlay.tsx @@ -11,9 +11,11 @@ interface FocusModeOverlayProps { duration: number; // in minutes onClose: () => void; onComplete: (taskId: string) => void; + onSkip?: (taskId: string) => void; + hasNext?: boolean; } -export default function FocusModeOverlay({ task, duration, onClose, onComplete }: FocusModeOverlayProps) { +export default function FocusModeOverlay({ task, duration, onClose, onComplete, onSkip, hasNext }: FocusModeOverlayProps) { const [timeLeft, setTimeLeft] = useState(duration * 60); const [isActive, setIsActive] = useState(false); const [isCompleting, setIsCompleting] = useState(false); @@ -51,6 +53,12 @@ export default function FocusModeOverlay({ task, duration, onClose, onComplete } setTimeLeft(duration * 60); }; + const handleSkip = () => { + if (!task || !onSkip) return; + onSkip(task.id); + handleReset(); // Fresh timer for the next task + }; + const handleComplete = async () => { if (!task) return; setIsCompleting(true); @@ -127,6 +135,16 @@ export default function FocusModeOverlay({ task, duration, onClose, onComplete } + {task && onSkip && ( + + )} {task && (