Skip to content

Feature: Chip-driven add-task sheet + UI token foundation #73

Description

@manucompiles

What we're building

UI uplift ported from Tasklog Business: a light design-token foundation, a chip-driven create/edit task sheet, and a board view - plus, folded in, Habits v2 Step 1 (a real fix to how habits behave).

Scope

In scope (shipped): semantic CSS-variable tokens; chip-driven TaskSheet (create + edit; modal desktop / keyboard-aware bottom-sheet mobile) with the QuickAddInput title; calendar DueDatePicker; List|Board view toggle + group-by (due/project/priority) persisted per view; Habits v2 Step 1.

Deferred (later Habits v2 Step 2): habit frequency ("x times a week"); decoupling deadline from a habit's schedule. Out: dark mode; a Todoist filter-query language; calendar heatmap.

Plan

docs/plans/P73-chip-task-sheet.md

Outcome

What was built:

  • Design tokens (light) driving all colors; focus rings unified (closes part of fix: accessibility - contrast and focus indicators below WCAG AA #4).
  • Chip-driven TaskSheet (create+edit) replacing the inline AddTaskForm + EditTaskModal; quick-add title with ! priority, Escape/tap to un-recognize a token, #project/@label auto-create; calendar DueDatePicker.
  • List|Board toggle + group-by + per-view persistence; BoardView/BoardCard (rich card) off the pure groupTasksForBoard helper.
  • Habits v2 Step 1: habits are never completed -> daily check-in (TaskDoneControl, shared by list/card/board); flame badge; right-side panel + mobile drawer (flame in the header); schedule-aware streak (RecurrenceRule.OccursOn); dot row shows only scheduled days; due-today gating ("not due today"); checking in moves the habit out of the day's list. Fixes the v2.16.0 defect where a habit could be completed/closed while still showing on the Habits page.

Verified: 250 backend / 136 frontend / 97 MCP tests; tsc + CSS clean. User reviewed the full diff and validated on the LAN dev server (mobile + desktop) across many iterations.

Issues raised during this work: none.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions