- useAuditLog hook + AuditLogRow type.
- new /admin/audit route: action/target filters, search, and a compact
before→after diff of the touched fields per entry.
- sidebar "گزارش فعالیت" nav link.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Approve (complete) / reject buttons on pending payouts, hitting the new admin
action endpoint (which debits the balance + journals on approve). Toasts + list
and overview invalidation on success.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ledger section with sub-tabs: overview (money held/owed, payouts by status, and
a reconciliation warning card), payouts + transactions lists, per-seller balances
list, and a per-seller detail showing recorded vs derived balance + discrepancy,
bank accounts and payout history. Enabled the Ledger nav item.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /admin opted out of shopper chrome in MyLayout; /admin added to server
protectedRoutes; useRequireAdmin() gates to superusers (UserProfile.isSuperuser).
- Admin shell (admin.tsx) with sidebar nav (Overview live; other sections stubbed)
and a mobile top bar; Overview dashboard (KPI cards + 14-day orders chart) via
use-admin-hooks.ts hitting /api/adminpanel/v1/overview/.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>