64 lines
2.8 KiB
Markdown
64 lines
2.8 KiB
Markdown
# humor-units Backlog
|
|
|
|
Issues and improvements to address eventually. Not blockers.
|
|
|
|
---
|
|
|
|
## Bugs
|
|
|
|
*(none yet)*
|
|
|
|
## Improvements
|
|
|
|
### UI: "Clear" button hover feedback in light/Dan mode
|
|
In dark mode the "Clear" button text lightens on hover, giving visual feedback. In light
|
|
mode and Dan mode it currently does nothing visible. Should have a matching subtle
|
|
highlight (e.g. text darkens, underline appears, or border darkens).
|
|
|
|
### Admin: user-provided IDs for units and groups
|
|
When creating a unit or group, allow the user to optionally supply their own ID.
|
|
- If the ID field is left empty, auto-generate it by kebab-casing the label (live
|
|
preview as the user types the label).
|
|
- If the user types into the ID field, stop auto-generating and use what they typed.
|
|
- Validate: IDs must be unique and slug-safe.
|
|
|
|
### Admin: allow renaming unit and group IDs
|
|
The edit forms do not currently expose the `id` field for existing units or groups.
|
|
|
|
- **Units:** straightforward — update `units[].id` and save.
|
|
- **Groups:** update `groups[].id` and rewrite every `units[].group` reference in the
|
|
same atomic `saveData()` call.
|
|
|
|
Validate that the new ID is unique and kebab-safe before committing in both cases.
|
|
|
|
### Admin: tooltips / descriptions for units
|
|
Allow users to attach an optional `description` string to each unit. On the front end,
|
|
show it as a tooltip when hovering over the unit name or symbol. A single `description`
|
|
field is sufficient — no need to distinguish between tooltip text and description text.
|
|
|
|
Data shape change: add optional `description?: string` to the `Unit` type.
|
|
|
|
### Admin: group sort order (alphabetical vs. defined)
|
|
Per-group setting controlling whether units are displayed on the front end in:
|
|
- **Defined order** — the order they appear in `units.json` (current implicit behaviour)
|
|
- **Alphabetical order** — sorted by label at render time
|
|
|
|
Data shape change: add optional `sortOrder?: 'defined' | 'alpha'` to the `Group` type
|
|
(default: `'defined'`).
|
|
|
|
### Admin: drag-to-reorder units within a group
|
|
Allow units to be reordered within their group via drag-and-drop in the left panel.
|
|
Order is persisted to `units.json`. Only meaningful when the group's `sortOrder` is
|
|
`'defined'`.
|
|
|
|
### Admin: unsaved-form guard on "Add Unit" / "Add Group"
|
|
If the user is in the middle of filling out a create/edit form and clicks "+ Add Unit"
|
|
or "+ Add Group", the current form should be auto-saved before opening the new one.
|
|
If the save fails (e.g. missing required field), highlight the erroring field and block
|
|
navigation until it is resolved — don't silently discard the in-progress work.
|
|
|
|
### Admin: "Delete" action in the bulk actions menu
|
|
Add a "Delete" option to the bulk action dropdown so multiple units can be deleted at
|
|
once. Should show a confirmation dialog listing the units to be deleted before
|
|
committing.
|