From 7e3e30ec8376c3d09160ae67c39c111985111027 Mon Sep 17 00:00:00 2001 From: mARTin-B78 Date: Tue, 1 Sep 2026 17:37:17 +0200 Subject: [PATCH] feat: add SKIP button to Focus Mode Focus Mode now shows a SKIP button that moves to the next task of the day without completing the current one. Skipped task ids are tracked in WeeklyView and filtered out of the focus queue, so completing a task still picks the correct next one; the list is cleared when Focus Mode closes. The timer resets on each new task, and the button is disabled when no other task is left for today. Also drops the standalone "Element Colors" and "Weekend Colors" sections from Styling settings (those controls live in the CSS Variables panel since 1.113.1) and enlarges the CSS variable swatches. v1.114.0 Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 13 +++ package-lock.json | 4 +- package.json | 2 +- src/components/FocusModeOverlay.tsx | 27 ++++- src/components/SettingsSidebar.tsx | 172 +--------------------------- src/components/WeeklyView.tsx | 30 +++-- 6 files changed, 66 insertions(+), 182 deletions(-) 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 && (