diff --git a/frontend/src/pages/SettingsPage.tsx b/frontend/src/pages/SettingsPage.tsx
index c724e20..8359d3b 100644
--- a/frontend/src/pages/SettingsPage.tsx
+++ b/frontend/src/pages/SettingsPage.tsx
@@ -11,6 +11,7 @@ import { useAdminAccess } from '../core/auth/useAdminAccess';
import { useProfile, useUpdateProfile } from '../features/settings/hooks/useProfile';
import { useExportUserData } from '../features/settings/hooks/useExportUserData';
import { useVehicles } from '../features/vehicles/hooks/useVehicles';
+import { useSubscription } from '../features/subscription/hooks/useSubscription';
import { useTheme } from '../shared-minimal/theme/ThemeContext';
import { DeleteAccountDialog } from '../features/settings/components/DeleteAccountDialog';
import { PendingDeletionBanner } from '../features/settings/components/PendingDeletionBanner';
@@ -32,7 +33,8 @@ import {
MenuItem,
FormControl,
TextField,
- CircularProgress
+ CircularProgress,
+ Chip
} from '@mui/material';
import AccountCircleIcon from '@mui/icons-material/AccountCircle';
import NotificationsIcon from '@mui/icons-material/Notifications';
@@ -41,6 +43,7 @@ import SecurityIcon from '@mui/icons-material/Security';
import StorageIcon from '@mui/icons-material/Storage';
import AdminPanelSettingsIcon from '@mui/icons-material/AdminPanelSettings';
import DirectionsCarIcon from '@mui/icons-material/DirectionsCar';
+import CreditCardIcon from '@mui/icons-material/CreditCard';
import EditIcon from '@mui/icons-material/Edit';
import SaveIcon from '@mui/icons-material/Save';
import CancelIcon from '@mui/icons-material/Cancel';
@@ -62,6 +65,11 @@ export const SettingsPage: React.FC = () => {
// Vehicles state (for My Vehicles section)
const { data: vehicles, isLoading: vehiclesLoading } = useVehicles();
+
+ // Subscription state
+ const { data: subscriptionData, isLoading: subscriptionLoading } = useSubscription();
+ const subscription = subscriptionData?.data;
+
const [isEditingProfile, setIsEditingProfile] = useState(false);
const [editedDisplayName, setEditedDisplayName] = useState('');
const [editedNotificationEmail, setEditedNotificationEmail] = useState('');
@@ -378,19 +386,78 @@ export const SettingsPage: React.FC = () => {
)}
+ {/* Subscription Section */}
+
+
+
+
+
+ Subscription
+
+
+ navigate('/garage/settings/subscription')}
+ sx={{
+ backgroundColor: 'primary.main',
+ color: 'primary.contrastText',
+ '&:hover': {
+ backgroundColor: 'primary.dark'
+ }
+ }}
+ >
+ Manage
+
+
+
+ {subscriptionLoading ? (
+
+
+
+ ) : (
+
+
+
+ Current Plan:
+
+
+ {subscription?.status && subscription.status !== 'active' && (
+
+ )}
+
+
+ {subscription?.tier === 'free'
+ ? 'Upgrade to Pro or Enterprise for more features and vehicle slots.'
+ : subscription?.tier === 'pro'
+ ? 'Pro plan with up to 5 vehicles and full features.'
+ : 'Enterprise plan with unlimited vehicles and all features.'}
+
+
+ )}
+
+
{/* Notifications Section */}
Notifications
-
+
-