2.0 KiB
2.0 KiB
humor-units Backlog
Items are roughly ordered by priority. Move to DONE when shipped.
TODO
Uniform font size
Get actual text measurements of output card values and render all cards in a group at a uniform font size. JS must be minimal — no heavy layout libraries. The requirement is real uniformity based on measurements, not "close enough."
Custom dropdown (typeahead fix)
Native <select> accumulates keystrokes into a browser-managed search string.
Switching letters requires backspace to clear the accumulated string first.
Fix requires replacing the native select with a custom dropdown component
that handles keyboard search with a clean reset-on-idle timer.
DONE
- Hidden flag on Unit and Group (server-side filtered, admin checkbox)
- Description placeholders:
{id},{id:label},{id:plural},{id:symbol},{id:description}Two-pass resolver with cycle fallback to Label (symbol) - Drag handle contrast fix (opacity on --pico-color, primary-inverse on selected rows, magenta in Dan Mode)
- Custom tooltip (500ms hover delay, no mouse movement required, Dan Mode styled)
- ⓘ indicator on units with descriptions
- Enter to save / Escape to discard in admin forms
- Auto-save on unit/group selection in admin
- Domain-based branding (humorunits.com / dickloads.com) via src/lib/brand.ts
- YOLO toggle visibility: auto (show when >1 group) or never — admin Settings panel
- Group alwaysShowLabel flag
- Production server setup (npm run start / build:watch + serve with nodemon)
- Editable unit/group IDs with full cascade (group refs, baseUnitId refs, {id:*} in descriptions)
- Alpha sort tiebreak: labelPlural primary, symbol secondary
- Infinite loop fix: $effect → onMount + in-flight guards on loadData/loadConfig
- Sort-alpha button per group in admin tree (⇅)
- Settings button moved to admin header
- sortPosition pin: optional 1-based fixed slot per unit, inserts into float list
- Dropdown optgroup dividers matching group order and visibility rules