43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# 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
|