Settings modal is an empty placeholder — needs real content #119

Closed
opened 2026-10-02 23:40:02 +00:00 by Mark · 1 comment
Owner

Finding

The Settings button in the Workspace header opens a modal that just says "No settings configured yet." and has a Close button. It's a placeholder shell — the user clicks a button labeled "Settings" and gets no settings.

Where

src/pages/Workspace.tsx:335-357 — the {showSettings && ( modal block.

{showSettings && (
  <div role="dialog" aria-modal="true" aria-label="Settings" data-testid="settings-modal" ...>
    <h2>Settings</h2>
    <p>No settings configured yet.</p>
    <button>Close</button>
  </div>
)}

Why now

The modal was created in commit 1f3e611 to stop the "coming soon" toast — the button has been wired (it opens the modal) but the modal has no real content. Prior closed issue #76 ("Help page FAQ references Settings → Thread Palettes but no Settings page exists") resolved the button → page wiring, but not the page's actual functionality.

This is the next-generation gap: the modal is a working button, but a user clicking "Settings" still gets nothing.

Suggested fix shape

Add real sections to the Settings modal. At minimum:

  1. Thread library (see related issue: thread-library-CRD) — entry point to manage custom thread colors.
  2. Background color — color picker for the Workspace canvas background (currently hardcoded #F8F2E9 in src/components/workspace/canvasRenderer.ts).
  3. Color simplification preview (see related issue: color-simplification-preview) — entry point for live preview of the quantization result.

Optional but useful:

  1. Default render scale (currently auto per session, no per-user default).
  2. Default undo history depth (currently HISTORY_LIMIT = 50 in src/pages/Editor.tsx:180).
  3. Show/hide grid by default (currently always shown).

The modal's existing 480px width and pattern (role="dialog", aria-modal, data-testid, backdrop click + Close) should be preserved. Each section should be a Collapsible like the right panel's Design Settings section.

Severity

Low (the app is fully functional without settings — this is a missing-feature gap, not a bug). But the Settings button is a discoverable-but-dead surface; every other dead-button fix in the recent rounds has been prioritized.

Discovered by

User-story walkthrough (round 4) + Help page reference (closed #76).

  • #76 — Help page FAQ referenced a Settings page that didn't exist; fixed the button wiring, not the page contents.
  • #71 — Editor's "Settings" button had no onClick handler; fixed the wiring.
  • #115 / #116 / #117 / #118 — Auto-Digitize Settings panel half-wired; these are settings PANEL bugs (in the right panel), distinct from the Settings MODAL bug.
## Finding The Settings button in the Workspace header opens a modal that just says "No settings configured yet." and has a Close button. It's a placeholder shell — the user clicks a button labeled "Settings" and gets no settings. ## Where `src/pages/Workspace.tsx:335-357` — the `{showSettings && (` modal block. ```tsx {showSettings && ( <div role="dialog" aria-modal="true" aria-label="Settings" data-testid="settings-modal" ...> <h2>Settings</h2> <p>No settings configured yet.</p> <button>Close</button> </div> )} ``` ## Why now The modal was created in commit 1f3e611 to stop the "coming soon" toast — the button has been wired (it opens the modal) but the modal has no real content. Prior closed issue #76 ("Help page FAQ references Settings → Thread Palettes but no Settings page exists") resolved the **button → page** wiring, but not the page's actual functionality. This is the next-generation gap: the modal is a working button, but a user clicking "Settings" still gets nothing. ## Suggested fix shape Add real sections to the Settings modal. At minimum: 1. **Thread library** (see related issue: thread-library-CRD) — entry point to manage custom thread colors. 2. **Background color** — color picker for the Workspace canvas background (currently hardcoded `#F8F2E9` in `src/components/workspace/canvasRenderer.ts`). 3. **Color simplification preview** (see related issue: color-simplification-preview) — entry point for live preview of the quantization result. Optional but useful: 4. Default render scale (currently `auto` per session, no per-user default). 5. Default undo history depth (currently `HISTORY_LIMIT = 50` in `src/pages/Editor.tsx:180`). 6. Show/hide grid by default (currently always shown). The modal's existing 480px width and pattern (`role="dialog"`, `aria-modal`, `data-testid`, backdrop click + Close) should be preserved. Each section should be a `Collapsible` like the right panel's Design Settings section. ## Severity Low (the app is fully functional without settings — this is a missing-feature gap, not a bug). But the Settings button is a discoverable-but-dead surface; every other dead-button fix in the recent rounds has been prioritized. ## Discovered by User-story walkthrough (round 4) + Help page reference (closed #76). ## Related (closed) - #76 — Help page FAQ referenced a Settings page that didn't exist; fixed the button wiring, not the page contents. - #71 — Editor's "Settings" button had no onClick handler; fixed the wiring. - #115 / #116 / #117 / #118 — Auto-Digitize Settings panel half-wired; these are settings PANEL bugs (in the right panel), distinct from the Settings MODAL bug.
Author
Owner

Decomposed into 4 children — each section is its own scoped card so a kilo-gsd-runner can land them one at a time:

  • #122 — Settings modal: Background color picker section (replaces hardcoded #F8F2E9)
  • #123 — Settings modal: Thread library entry-point section
  • #124 — Settings modal: Color simplification preview section
  • #125 — Settings modal: Optional defaults (render scale, undo depth, grid visibility)

Closing this parent; the children carry the triage-approved label and will route through the normal pipeline.

Decomposed into 4 children — each section is its own scoped card so a kilo-gsd-runner can land them one at a time: - #122 — Settings modal: Background color picker section (replaces hardcoded `#F8F2E9`) - #123 — Settings modal: Thread library entry-point section - #124 — Settings modal: Color simplification preview section - #125 — Settings modal: Optional defaults (render scale, undo depth, grid visibility) Closing this parent; the children carry the triage-approved label and will route through the normal pipeline.
Mark closed this issue 2026-10-02 23:41:48 +00:00
Sign in to join this conversation.
No description provided.