From a27f0906165202a776aecad9022e2de76f291799 Mon Sep 17 00:00:00 2001 From: Lars Date: Fri, 20 Mar 2026 10:31:04 +0100 Subject: [PATCH] feat: add SubscriptionPage - user-facing subscription info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User can now view: - Current tier (Free, Basic, Premium, Selfhosted) with icon - Trial status and end date - Access expiration date - Feature limits with usage bars - Progress indicators (green/orange/red based on usage) - Reset period info (daily/monthly/never) Coupon redemption: - Input field for coupon code - Auto-uppercase, monospace display - Enter key support - Success/error feedback - Auto-refresh after redemption Features: - Clean card-based layout - Visual tier badges with colors - Progress bars for count limits - Trial and access warnings - Integrated in Settings page Link added to SettingsPage: - "👑 Abo-Status, Limits & Coupon einlösen" - Easy access for all users Phase 3 complete - all user-facing subscription features done! Co-Authored-By: Claude Opus 4.6 --- frontend/src/App.jsx | 2 + frontend/src/pages/SettingsPage.jsx | 10 + frontend/src/pages/SubscriptionPage.jsx | 241 ++++++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 frontend/src/pages/SubscriptionPage.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index babf3c0..6b9421f 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -25,6 +25,7 @@ import AdminFeaturesPage from './pages/AdminFeaturesPage' import AdminTiersPage from './pages/AdminTiersPage' import AdminCouponsPage from './pages/AdminCouponsPage' import AdminUserRestrictionsPage from './pages/AdminUserRestrictionsPage' +import SubscriptionPage from './pages/SubscriptionPage' import './app.css' function Nav() { @@ -125,6 +126,7 @@ function AppShell() { }/> }/> }/> + }/>