From 2524381f1ec3a70af1e22d630d0c4939149304d4 Mon Sep 17 00:00:00 2001 From: Pier Dolique Date: Mon, 28 Sep 2026 21:29:44 +0300 Subject: [PATCH] feat(equipment): manage catalog brands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ✨ Add an admin page to search, create, edit, and delete brands - 🐛 Keep brand changes and keyboard focus safe during loading and retry - ♿ Add accessible field errors, page landmarks, and responsive dialogs - 🐛 Return safe database conflicts and retain raw errors in server logs - ♻️ Keep brand types, view models, and styles aligned with project rules - ✅ Cover API errors, strict HTTP mocks, custom slugs, and admin browser flows Fixes #780 --- app/pages/admin/equipment/brands/index.vue | 590 +++++++++++++++++ app/pages/admin/index.vue | 7 + app/utils/navigation.ts | 1 + server/api/equipment/brands/[id].delete.ts | 20 +- server/api/equipment/brands/[id].patch.ts | 22 +- .../equipment/brands/__tests__/create.test.ts | 92 ++- .../brands/__tests__/update-delete.test.ts | 72 +- server/api/equipment/brands/index.post.ts | 22 +- server/utils/equipment/brand-write-errors.ts | 76 +++ .../gear-library/admin-brands.test.ts | 622 ++++++++++++++++++ 10 files changed, 1475 insertions(+), 49 deletions(-) create mode 100644 app/pages/admin/equipment/brands/index.vue create mode 100644 server/utils/equipment/brand-write-errors.ts create mode 100644 tests/playwright/gear-library/admin-brands.test.ts diff --git a/app/pages/admin/equipment/brands/index.vue b/app/pages/admin/equipment/brands/index.vue new file mode 100644 index 00000000..c970cab5 --- /dev/null +++ b/app/pages/admin/equipment/brands/index.vue @@ -0,0 +1,590 @@ + + + + + diff --git a/app/pages/admin/index.vue b/app/pages/admin/index.vue index f2b95964..2629b30c 100644 --- a/app/pages/admin/index.vue +++ b/app/pages/admin/index.vue @@ -1,6 +1,13 @@