From 9438b5d617d1cd8bdffcd9145d147acd25c691df Mon Sep 17 00:00:00 2001 From: Lars Date: Thu, 19 Mar 2026 15:21:52 +0100 Subject: [PATCH 01/56] feat: add Tier Limits Matrix Editor (Admin UI) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 3 Frontend - First Component: Matrix Editor New page: AdminTierLimitsPage - Displays Tier x Feature matrix (editable table) - Inline editing for all limit values - Visual feedback for changes (highlighted cells) - Batch save with validation - Category grouping (data, ai, export, integration) - Legend: ∞ = unlimited (NULL), ❌ = disabled (0), 1-999 = limit - Responsive table with sticky column headers Features: - GET /api/tier-limits - Load matrix - PUT /api/tier-limits/batch - Save all changes - Change tracking (shows unsaved count) - Reset button to discard changes - Success/error messages API helpers added (api.js): - v9c subscription endpoints (user + admin) - listFeatures, listTiers, getTierLimitsMatrix - updateTierLimit, updateTierLimitsBatch - listCoupons, redeemCoupon - User restrictions, access grants Navigation: - Link in AdminPanel (Settings Page) - Route: /admin/tier-limits Ready for testing on Dev! Co-Authored-By: Claude Opus 4.6 --- frontend/src/App.jsx | 2 + frontend/src/pages/AdminPanel.jsx | 18 +- frontend/src/pages/AdminTierLimitsPage.jsx | 274 +++++++++++++++++++++ frontend/src/utils/api.js | 43 ++++ 4 files changed, 336 insertions(+), 1 deletion(-) create mode 100644 frontend/src/pages/AdminTierLimitsPage.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 7595d67..8a2e6e6 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -20,6 +20,7 @@ import ActivityPage from './pages/ActivityPage' import Analysis from './pages/Analysis' import SettingsPage from './pages/SettingsPage' import GuidePage from './pages/GuidePage' +import AdminTierLimitsPage from './pages/AdminTierLimitsPage' import './app.css' function Nav() { @@ -115,6 +116,7 @@ function AppShell() { }/> }/> }/> + }/>