Block a user
Frontend design-kit consistency: dead Card, duplicated segmented-control + row/icon recipes, focusRing/useLang drift
Frontend design-kit consistency: dead Card, duplicated segmented-control + row/icon recipes, focusRing/useLang drift
Done in merge 7cabebc.
Shared helpers (stop future drift):
lib/use-lang.ts— `useLang(): "sv"
Frontend: split queries.ts by domain, extract error classes, add query-key factory; decide search-invalidation
Frontend: split queries.ts by domain, extract error classes, add query-key factory; decide search-invalidation
Done in merge 002af9d.
api/errors.tsnow owns the 4 error classes;error-message.tsimports them from./errors, so the toast path (query-client → error-message → errors) no…
Frontend refactor: unify the duplicated Vocabulary + Authority CRUD surfaces
Frontend refactor: unify the duplicated Vocabulary + Authority CRUD surfaces
Done in merge 404cf67. The Vocabulary-terms and Authorities CRUD surfaces now share three components in src/components/:
LabelledRecordRow— the inline display/edit row (label +…
Frontend a11y: label-id collision, invalid table row semantics, unnamed drawer, unannounced table states
Frontend a11y: label-id collision, invalid table row semantics, unnamed drawer, unannounced table states
Fixed in merge 285a132. All five gaps closed:
- Label-id collision —
LabelEditornow uses ReactuseId()(unique per instance), so the create form + inline-edit rows no longer share…
Frontend data layer: silent update failures + dead/unreachable mutation error strings
Frontend data layer: silent update failures + dead/unreachable mutation error strings
Fixed in merge 56076c4.
Grounding corrected the framing: the update mutations weren't silent — useUpdateTerm/useUpdateAuthority were the only 2 of 18 mutations without `suppressErrorT…
Frontend: bundle vendor-split (221 KB gz, ~29 KB headroom) + fill unit-test gaps
Frontend design-kit consistency: dead Card, duplicated segmented-control + row/icon recipes, focusRing/useLang drift
Frontend: split queries.ts by domain, extract error classes, add query-key factory; decide search-invalidation
Frontend refactor: unify the duplicated Vocabulary + Authority CRUD surfaces