* feat: implement example of data table
* feat: load item data into table
* chore: begin switching dialogs
* feat: implement old dialog for controlling headers and page size
* feat: get table into relatively usable state
* feat: enhance dropdown actions for multi-selection and CSV download
* feat: enhance table cell and dropdown button styles for better usability
* feat: json download for table
* feat: add expanded row component for item details in data table
* chore: add translation support
* feat: restore table on home page
* fix: oops need ids
* feat: move card view to use tanstack to allow for pagination
* feat: switch the items search to use ItemViewSelectable
* fix: update pagination handling and improve button click logic
* feat: improve selectable table
* feat: add indeterminate to checkbox
* feat: overhaul maintenance dialog to use new system and add maintenance options to table
* feat: add label ids and location id to item patch api
* feat: change location and labels in table view
* feat: add quick actions preference and enable toggle in table settings
* fix: lint
* fix: remove sized 1 pages
* fix: attempt to fix type error
* fix: various issues
* fix: remove
* fix: refactor item fetching logic to use useAsyncData for improved reactivity and improve use confirm
* fix: sort backend issues
* fix: enhance CSV export functionality by escaping fields to prevent formula injection
* fix: put aria sort on th not button
* chore: update api types
* feat: sort themes and remove daisyui
* docs: update docs to reflect daisyui being removed
* feat: remove specific colours for better theme compatibility
* feat: migrate tools page and label generator to shadcn
* chore: lint issues
* feat: also do profile page
* feat: shadcn 404 page
* feat: login page shadcn
* fix: daisyui ironically breaks the z height for the login page
* feat: componentise the language selector and add it to the login page
* feat: use nuxtlink
* feat: card and table made more shadcn
* feat: shadcn statscard
* chore: lint
* feat: shadcn labelchip and locationcard
* feat: shadcn locations page
* refactor: remove unused new item page
* chore: lint
* feat: shadcn item card
* fix: wrapping of location and lint
* feat: ctrl enter in text area in form submits form
* feat: begin shadcn locations page and remove pageqrcode comp in favour of integrating it into labelmaker
* chore: lint + remove unused code
* fix: remove uneeded margin
* feat: shadcn labels page and fix some issues with location
* feat: shadcn scanner
* chore: lint
* feat: begin shadcning item pages
* feat: shadcn maintenance page
* feat: begin shadcn search page
* fix: quick switch blurry text and crashing page when switching + incorrect z height for create menu
* feat: finish shadcn search page
* chore: lint
* feat: shadcn edit item page
* fix: quickmenumodal bug
* feat: shadcn item details page
* feat: remove all non-color related daisyui classes
* fix: type error
* fix: quick menu modal again :(
* chore: get front end tests passing
* chore: add @vue/runtime-core to fix types for $t
* chore: sort lockfile
* Discard changes to frontend/pnpm-lock.yaml
* chore: sort lockfile
* chore: fix some type errors
* chore: switch from nuxi typecheck to vue-tsc to force a known good version
* chore: linting
* chore: update pnpm version in frontend test
* feat: add proper pagination type (need to sort why it still doesn't work)
* chore: format imports and initialize totalPrice in label page to null when no label is present
* chore: update pnpm to v9.12.2, merge ItemSummaryPaginationResult with PaginationResult, and handle error in label generator more gracefully
* chore: lint
---------
Co-authored-by: Matt Kilgore <matthew@kilgore.dev>