From 2331c03664918aa2782a9059adb49596d8c12f51 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Thu, 27 Aug 2026 13:02:24 -0400 Subject: [PATCH] Tick a guide's sections off as you work through it Only checklist items could be ticked, which answers "what have I done" but not the question a long procedure actually raises: where was I. Somebody looks away to do the thing the guide asked for and looks back at a wall of text. Every step and every heading now carries a checkbox while reading. Ticking one strikes it through and fades it rather than hiding it, because somebody scanning back up the page has to still be able to read what they did. The number is struck through with it, but the step's own "Step 3" label is not - that is the address of the thing, not part of what was done. Headings count, not just steps. A guide converted from an HTML article often has fifty headings and no steps at all, and those are exactly the guides long enough to lose your place in. That also means the card's "N steps to tick" stops reading as a broken feature on a guide that is entirely tickable. Reading only, as the checklists already were: in the editor a tick would be an edit, and an author clicking around their own draft would quietly change what the next reader sees as done. Progress stays per browser and per version - shopfloor PCs share a login, so one technician's ticks must not greet the next person on that bay, and step 4 of version 3 is not step 4 of version 2. --- CHANGELOG.md | 12 ++++++ docs/PROJECT-MAP.md | 2 +- .../frontend/components/GuideBlocks.vue | 42 +++++++++++++++++-- plugins/guides/frontend/views/GuideView.vue | 4 ++ plugins/guides/services/blocks.py | 14 ++++++- tests/test_plugins/test_guides.py | 17 ++++++++ 6 files changed, 85 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e24d97de..61a7e29b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,18 @@ ADR-007 and ADR-002. ### Added +- **A guide's sections can be ticked off while you read it.** Only checklist + items were tickable, which answered "what have I done" but not the question a + long procedure actually raises - where was I. Somebody looks away to do the + thing the guide asked for and looks back at a wall of text. Every step and + every heading now carries a checkbox in the reader; ticking one strikes it + through and fades it rather than hiding it, because scanning back up the page + has to still show what was done. Headings count as well as steps: a guide + converted from an HTML article often has fifty headings and no steps at all. + Progress is per browser and per version, as it already was for checklists - + shopfloor PCs share a login, so one technician's ticks must not greet the + next person on that bay. + - **A guest is a role now, not a switch per feature.** Whether somebody with no account may see something was answered one feature at a time: a `securesend_allow_guests` setting, an enable flag per kiosk, and very nearly a diff --git a/docs/PROJECT-MAP.md b/docs/PROJECT-MAP.md index 89d046ef..b1f72384 100644 --- a/docs/PROJECT-MAP.md +++ b/docs/PROJECT-MAP.md @@ -88,6 +88,6 @@ Manifest-less directories under `plugins/` are core frontend surface and always ## Size -- test functions defined: **1413** (parametrised cases collect higher) +- test functions defined: **1414** (parametrised cases collect higher) - documented API paths: **305** (`docs/openapi.json`, regenerate with `scripts/gen_openapi.py`) diff --git a/plugins/guides/frontend/components/GuideBlocks.vue b/plugins/guides/frontend/components/GuideBlocks.vue index a0ed0e9b..b446ca12 100644 --- a/plugins/guides/frontend/components/GuideBlocks.vue +++ b/plugins/guides/frontend/components/GuideBlocks.vue @@ -2,14 +2,36 @@