chore: commit pending admin-panel, api auth and parity doc changes

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
s.esmaeili
2026-10-14 04:33:24 +03:30
co-authored by Claude Haiku 5.5
parent 55856cac89
commit cf014e1f6c
41 changed files with 3471 additions and 969 deletions
+92
View File
@@ -1343,3 +1343,95 @@ apps depend on and the method had no test at all. ⚠️ Nothing click-tested: t
cart re-sync and the favourites screen are the two worth a manual pass.
_No data was deleted in this entry._
---
## 2026-10-14 — Owner request (not parity) — add/edit product UI/UX redesign
- **What:** redesigned the Add/Edit Product page (`AddProduct.vue` / `EditProduct.vue`)
with a modern e-commerce dashboard architecture. Introduced a 2-column layout
(content/variants in primary 1fr column; publication status and media uploaders
in dedicated 340px sidebar); added a top page header with breadcrumb navigation,
accounting-sync indicators, and dual fast-save actions; redesigned the variants
table with badge columns, inline actions, empty states, and clean weight/wage
formatting; streamlined the variant modal; unified the gallery slots with clean
site/mobile segmented tabs and compact upload grids; strictly preserved the
PROTECTED §B variant gallery image picker (64x64 grid with `.is-on` selection).
All schemas, fields, accounting locks (D27), permissions, and payloads preserved.
- **Why:** owner requested professional, efficient, high-end SaaS UI/UX overhaul
for Add Product.
- **Reference:** n/a (visual layer overhaul; all fields, validations, and logic preserved)
- **Target:** `apps/admin-panel/src/views/apps/product/AddProduct.vue`
- **Matrix row:** n/a
_No schema change, no data deleted._
---
## 2026-10-14 — Owner request (not parity) — add/edit customer UI/UX redesign
- **What:** redesigned the Add Person (`/customer/add`) page and its wholesale
(`bulkCustomer.vue`), sales expert (`ReagentCustomer.vue`), and retail
(`singleCustomer.vue`) forms. Replaced nested double/triple card boxes with
semantic `.form-section` panels featuring clean icon badges, titles, and
descriptions; improved input grid rhythm (3-column responsive layout with
clear required asterisks and placeholders); redesigned document upload blocks
as dedicated dash-bordered upload cards; upgraded the sales-expert avatar
slot; added a top page header with back navigation; unified the action bar
with loading indicators and explicit cancel/back buttons. Both full-page and
modal forms (`asModal`) upgraded.
- **Why:** owner requested professional SaaS-grade UI/UX overhaul starting with
the Add Person forms.
- **Reference:** n/a (visual layer overhaul; all fields, validations, and logic preserved)
- **Target:** `apps/admin-panel/src/views/apps/customer/AddCustomer.vue`,
`apps/admin-panel/src/views/apps/customer/bulkCustomer.vue`,
`apps/admin-panel/src/views/apps/customer/ReagentCustomer.vue`,
`apps/admin-panel/src/views/apps/customer/singleCustomer.vue`
- **Matrix row:** n/a
_No schema change, no data deleted._
---
## 2026-10-14 — Owner request (not parity) — admin dashboard visual unify
- **What:** unified dashboard chrome with the rest of the admin panel — removed
radial wash / Mentzer badge / gold period chips / multi-shadow cards / KPI lift
hover and coloured side bars; muted period text; flat navy KPI icons; equal
sales-summary cells. Same data, block order, charts, sorts, and API.
- **Why:** owner asked for a principled restyle; PROTECTED §A chrome updated with
approval.
- **Reference:** n/a (target-only dashboard; reference dashboards were demo husks)
- **Target:** `apps/admin-panel/src/views/Dashboard.vue`,
`apps/admin-panel/src/components/statistics-cards/StatisticsCardLine.vue`,
`docs/parity/PROTECTED.md` §A,
`docs/superpowers/specs/2026-10-14-admin-dashboard-visual-unify-design.md`
- **Matrix row:** n/a
_No schema change, no data deleted._
---
## 2026-10-14 — Owner request (not parity) — super-admin-only admin features (D30)
- **What:** retail customers, bankers, walk-in shopkeepers, branches and
workshops, the «مشتری تک» tab, trays («سینی ها», product field + Const tab),
retail orders (create + list), retail promotions (add/edit/delete) and wallet
management are reserved to the 09128081392 account — hidden in the menu and
pages, blocked by route, 403 from the API, and removed from the permission tree
for everyone else.
- **Why:** owner ruling D30. Deliberately not reference behaviour.
- **Reference:** n/a
- **Target:** API — `auth/super-admin.ts` (new), `auth/guards.ts`
(`@SuperAdminOnly`, multi-rid `@RequirePermission`), `auth/jwt.strategy.ts`,
`auth/auth.service.ts` (`is_super_admin`), and the branches, workshops,
customers, orders, documents, categories and products controllers. Panel —
`utils/superAdmin.ts` (new), `stores/users.ts`, `stores/auth.ts`,
`router/index.ts`, `router/admin.ts` (16 routes), `layouts/navMenuItems.ts`,
`NavMenuNode.vue`, `VerticalNavMenu.vue`, `AddCustomer.vue`, `AddProduct.vue`,
`Const.vue`, `promotion_list.vue`, `Permission.vue`.
- **Tests:** `auth/guards.spec.ts` (new, 8 cases). api 342/342 across 31
suites; api `tsc` and admin-panel `vue-tsc` clean. ⚠️ Not click-tested.
- **Matrix row:** n/a
_No schema change, no data deleted._