Skip to content

fix(web): checkbox groups for tags & quality in the capture panel - #68

Merged
PhysShell merged 1 commit into
mainfrom
claude/modest-maxwell-0zecwn
Jun 18, 2026
Merged

fix(web): checkbox groups for tags & quality in the capture panel#68
PhysShell merged 1 commit into
mainfrom
claude/modest-maxwell-0zecwn

Conversation

@PhysShell

Copy link
Copy Markdown
Owner

What

Follow-up to #67. Replaces the two native <select multiple> pickers in the chunk-capture panel (tags, quality flags) with checkbox groups.

<select multiple> is a known UX trap on desktop: you must Ctrl/Cmd-click to pick more than one, and a plain click silently wipes the whole selection. Checkboxes make multi-select obvious on both desktop and phone.

How

  • #capTags / #capQuality become <div class="checkgrid"> inside a <fieldset>; tags render as checkboxes from the wasm tag palette, quality holds the four static flags (clean pre-checked).
  • selectedValues() now reads input[type="checkbox"]:checked and still returns the same space-separated indices build_chunk_json / parse_indices expect — the emitted chunk.json is byte-identical to before.
  • New .checks / .checkgrid CSS (responsive grid, 20px boxes, big touch targets); drops the now-dead select[multiple] rules.

Scope / tests

Static-asset-only (JS/HTML/CSS) — no Rust, no schema change. Host + wasm32 release builds and the 16 web tests are unaffected; node --check passes on app.js.

Reaches the live Pages site on merge to main (web.yml).

🤖 Generated with Claude Code

https://claude.ai/code/session_01TTUbGjzD8ysnVnCJnZJE95


Generated by Claude Code

The tag and quality-flag pickers were native <select multiple> controls,
which on desktop need Ctrl/Cmd-click to select more than one and silently
wipe the whole selection on a plain click — confusing and easy to get wrong.

Both become checkbox groups in a <fieldset>: #capTags is filled from the
wasm tag palette as checkboxes, #capQuality holds the four static flags.
selectedValues() now reads input[type=checkbox]:checked, still emitting the
space-separated indices build_chunk_json/parse_indices expect — the emitted
chunk.json is byte-identical to before.

Static-asset-only change; host + wasm32 builds and the 16 web tests are
unaffected. node --check passes on app.js.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TTUbGjzD8ysnVnCJnZJE95
@PhysShell
PhysShell merged commit f75fe70 into main Jun 18, 2026
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.

2 participants