Add Notifications preferences (session-expiry reminder lead time)

- New Notifications screen (Account > Notifications): enable/disable expiry
  reminders + a 5-minute-increment stepper (5–60 min), default 15 min
- localReminders.scheduleExpiryReminder now reads the persisted lead time + enabled
  flag, so it's ready to fire once the start-session flow is wired

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hank 2026-07-06 11:33:17 -07:00
parent a566f41d66
commit 9a5c9d445f
5 changed files with 173 additions and 3 deletions

View file

@ -19,6 +19,7 @@ import { AccountScreen } from '@/screens/AccountScreen';
import { ProfileScreen } from '@/screens/ProfileScreen';
import { VehiclesScreen } from '@/screens/VehiclesScreen';
import { PaymentMethodsScreen } from '@/screens/PaymentMethodsScreen';
import { NotificationsScreen } from '@/screens/NotificationsScreen';
import { useTheme } from '@/theme/ThemeContext';
import type { Zone } from 'parksmarter-client';
@ -29,6 +30,7 @@ export type RootStackParamList = {
Profile: undefined;
Vehicles: undefined;
PaymentMethods: undefined;
Notifications: undefined;
};
export type TabParamList = {
@ -117,6 +119,11 @@ export function RootNavigator() {
component={PaymentMethodsScreen}
options={{ title: 'Payment methods' }}
/>
<Stack.Screen
name="Notifications"
component={NotificationsScreen}
options={{ title: 'Notifications' }}
/>
</Stack.Navigator>
) : (
<LoginScreen />