Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 4.1 KB

File metadata and controls

95 lines (65 loc) · 4.1 KB

TodayTask

TodayTask application

TodayTask is a focused daily task manager with a carry-over workflow, focus mode, and day transitions. Everything runs in the browser with no account or backend required.

Table of Contents

Features

Task Sections

The app is organized into four sections:

  • Focus: pinned tasks for your highest priorities. Not draggable. Limit: 1–3 (configurable, default 3).
  • Active Tasks: your working list for the day. Limit: 1–10 (configurable, default 7).
  • Carried Over: tasks brought forward from a previous day. Limit: 1–5 (configurable, default 3), capped at the active task limit.
  • Completed Tasks: tasks you have finished.

Adding Tasks

Use the input field at the top to add a new task. An optional description field is available for extra detail. A Quick Focus button lets you add a task directly into the Focus section without extra steps.

Description

Task Actions

Each task supports the following actions:

  • Focus / Unfocus: pin a task to the Focus section (star icon). Unfocusing moves the task back to Active.
  • Complete / Undo: check off a task to move it to Completed. Click again to move it back to Active.
  • Edit: inline editing for both the task title and description.
  • Carry Over / Move to Active: available via the overflow menu on active and carried-over tasks.
  • Delete: permanently removes the task.

Drag and Drop

Tasks can be dragged to reorder within a section or moved between Active, Carried Over, and Completed zones. Section limits are enforced on drop, so if a zone is full, the drop is rejected. Focused tasks are fixed and cannot be dragged.

Day Transition

When you open the app on a new day (based on a configurable day boundary, default 3:00 AM), a modal appears. The behavior depends on how much time has passed and whether you have unfinished tasks:

  • Greeting mode: no leftover tasks. Shows a motivational message and a "Let's go" button.
  • Review mode (1–6 days passed, tasks remain): review each task one at a time. For every unfinished task, choose to carry it over, mark it complete, or abandon it. A carry-over counter tracks how many you are keeping. All tasks must be resolved before continuing.
  • Auto-abandon mode (7+ days passed, tasks remain): all old tasks are cleared automatically. Click "Start fresh" to begin.

Settings

Open the settings modal to configure:

Setting Range Default
Active task limit 1–10 7
Focus task limit 1–3 3
Carried-over limit 1–5 3
Day boundary 0–360 min after midnight 180 min (3:00 AM)

Notifications

Toast messages appear and auto-dismiss when a section limit is violated, for example when drag-and-drop, unfocusing, or restoring a task would exceed the active task limit.

Persistence

All tasks and settings are saved to localStorage. No account or network connection is needed.

Technologies Used

  • React 18
  • TypeScript 5
  • Vite 4
  • react-beautiful-dnd
  • react-icons
  • CSS (custom properties for theming)
  • localStorage (no backend)
  • Netlify

Feedback

Found a bug or have a suggestion? Open an issue on GitHub.