From 18991025bfcd1bb4c0033eebf58bcbf01ee1ac13 Mon Sep 17 00:00:00 2001 From: Lars Date: Fri, 20 Mar 2026 07:53:47 +0100 Subject: [PATCH] feat: add AdminCouponsPage for coupon management Full CRUD interface for coupons: - Create, edit, delete coupons - Three coupon types supported: - Single-Use: one-time redemption per user - Multi-Use Period: unlimited redemptions in timeframe (Wellpass) - Gift: bonus system coupons Features: - Auto-generate random coupon codes - Configure tier, duration, validity period - Set max redemptions (or unlimited) - View redemption history per coupon (modal) - Active/inactive state management - Card-based layout with visual type indicators Form improvements: - Conditional fields based on coupon type - Date pickers for period coupons - Duration config for single-use/gift - Help text for each field - Labels above inputs (consistent with other pages) Integrated in AdminPanel navigation Co-Authored-By: Claude Opus 4.6 --- frontend/src/App.jsx | 2 + frontend/src/pages/AdminCouponsPage.jsx | 523 ++++++++++++++++++++++++ frontend/src/pages/AdminPanel.jsx | 5 + 3 files changed, 530 insertions(+) create mode 100644 frontend/src/pages/AdminCouponsPage.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 54e5c0f..6823627 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -23,6 +23,7 @@ import GuidePage from './pages/GuidePage' import AdminTierLimitsPage from './pages/AdminTierLimitsPage' import AdminFeaturesPage from './pages/AdminFeaturesPage' import AdminTiersPage from './pages/AdminTiersPage' +import AdminCouponsPage from './pages/AdminCouponsPage' import './app.css' function Nav() { @@ -121,6 +122,7 @@ function AppShell() { }/> }/> }/> + }/>