Journal UI: write and read season notes where you're already looking #53

Closed
opened 2026-07-21 04:18:31 +00:00 by steve · 0 comments
Owner

Design: DESIGN.md

Context

#52 stores entries; this makes writing one cheap enough that it actually happens. Notes get written standing in the garden holding a phone, usually with one hand — if it takes more than a couple of taps from looking at a bed to typing a sentence, the log stays empty.

Scope

  • Add note from the object inspector, so a bed you already have selected is one tap from a note. Body + date, date defaulting to today and editable for backdating.
  • A garden-level journal view: entries newest-first, showing which bed or plop each is attached to, filterable to one bed and to a date range.
  • An entry indicator on beds that have notes — something small on the canvas or in the inspector, so the log is discoverable rather than a page you have to remember exists.
  • Edit/delete your own entries; owner can delete any.
  • Empty state that says what the journal is for, since it starts empty for a whole season's worth of gardens.

Out of scope

  • Photos (blocked on the storage decision in #52).
  • Rich text. Plain text, and let it be plain.

Key files

web/src/editor/Inspector.tsx · web/src/pages/GardenEditorPage.tsx · web/src/lib/ (new journal.ts) · see the rail-layout decision in #49

Dependencies

Blocked by #52. Coordinate with #49 on where this lives in the editor chrome — journal, history and chat are three panels competing for one rail, and that should be settled once.

Acceptance criteria

  • From selecting a bed, a note can be written in two taps and appears immediately in the garden journal.
  • Backdating works and sorts correctly.
  • Notes survive their bed being moved or resized; deleting the bed removes them.
  • Usable one-handed on a phone.
Design: [DESIGN.md](https://gitea.stevedudenhoeffer.com/steve/pansy/src/branch/main/DESIGN.md) ## Context #52 stores entries; this makes writing one cheap enough that it actually happens. Notes get written standing in the garden holding a phone, usually with one hand — if it takes more than a couple of taps from looking at a bed to typing a sentence, the log stays empty. ## Scope - [ ] **Add note** from the object inspector, so a bed you already have selected is one tap from a note. Body + date, date defaulting to today and editable for backdating. - [ ] A garden-level journal view: entries newest-first, showing which bed or plop each is attached to, filterable to one bed and to a date range. - [ ] An entry indicator on beds that have notes — something small on the canvas or in the inspector, so the log is discoverable rather than a page you have to remember exists. - [ ] Edit/delete your own entries; owner can delete any. - [ ] Empty state that says what the journal is for, since it starts empty for a whole season's worth of gardens. ## Out of scope - Photos (blocked on the storage decision in #52). - Rich text. Plain text, and let it be plain. ## Key files `web/src/editor/Inspector.tsx` · `web/src/pages/GardenEditorPage.tsx` · `web/src/lib/` (new `journal.ts`) · see the rail-layout decision in #49 ## Dependencies Blocked by #52. Coordinate with #49 on where this lives in the editor chrome — journal, history and chat are three panels competing for one rail, and that should be settled once. ## Acceptance criteria - From selecting a bed, a note can be written in two taps and appears immediately in the garden journal. - Backdating works and sorts correctly. - Notes survive their bed being moved or resized; deleting the bed removes them. - Usable one-handed on a phone.
steve added the frontendpolish labels 2026-07-21 04:18:31 +00:00
steve closed this issue 2026-07-21 05:55:45 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: steve/pansy#53