Skip to content

Story 24.10: Quiet task rows with hover-reveal affordances - #352

Merged
c64bob merged 1 commit into
mainfrom
hoplite/thera-88a75dd8
Aug 4, 2026
Merged

Story 24.10: Quiet task rows with hover-reveal affordances#352
c64bob merged 1 commit into
mainfrom
hoplite/thera-88a75dd8

Conversation

@usehoplite

@usehoplite usehoplite Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Story

Adds docs/backlog/stories/story-24-10-ruhige-aufgabenzeilen-mit-hover-aktionen.md (Epic 24) and implements it: task rows read as a scannable list instead of a form, because pure edit affordances without information value are hidden until the row is hovered or focused.

What changed

  • Hidden at rest (opacity 0, revealed on :hover / :focus-within): the bulk-select checkbox and empty meta editors ("Labels" without labels, "Keine Priorität").
  • Always visible: set values — priority, labels, project, due date — plus checkbox, title, and favorite star.
  • Bulk selection: while any task is selected, caldo-bulk-select-active on <body> keeps every row's select checkbox visible.
  • Touch devices: the reveal only applies under @media (hover: hover); touch keeps all controls permanently visible.
  • No layout shift: reveal is opacity-only; row bounding boxes are identical before/after hover (verified programmatically).

Templ: new caldo-task-meta-empty marker on the priority form and labels shell when the value is empty (taskHasPriorityValue, empty label chips). JS: one line toggling caldo-bulk-select-active. CSS: one hover-media block. Assets rebuilt (app.e2cb14b.css, app.e24346f.js, manifest updated).

Verification

Resting Hover on last row
resting hover
Rows show only checkbox, title, favorite, and set values (project, priority, due date) Hovered row additionally reveals Details, bulk-select checkbox, and empty "Labels" editor — no layout shift
  • go test ./... -race passes; go vet ./... clean; templ generate regenerated files committed.
  • Playwright bulk-selection.spec.js passes (10/10 Chromium+WebKit; the 5 Firefox failures were a sandbox $HOME ownership issue and pass with HOME=/root).
  • Programmatic checks: resting opacity 0 → hover/focus-within opacity 1; keyboard focus inside a row reveals its controls; active bulk selection keeps all select checkboxes at opacity 1 even with the pointer away; (hover: none) leaves everything visible.

Hide pure edit affordances without information value (bulk-select
checkbox, empty labels/priority editors) until the row is hovered or
focused. Set values stay permanently visible, active bulk selection
keeps all checkboxes visible, and touch devices keep everything
visible via the hover media query. Opacity-based reveal avoids any
layout shift.

Co-authored-by: Hoplite1 <hoplite1@gmx.pw>
@c64bob
c64bob merged commit c7cd853 into main Aug 4, 2026
3 checks passed
@c64bob
c64bob deleted the hoplite/thera-88a75dd8 branch August 4, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant