v0.1.8: tap a session for full detail + receipt
- Sessions list items are now tappable -> SessionDetailScreen. - Past sessions fetch the full receipt (GET /api/ParkingReceipt): vehicle, start/end, time purchased, parking/fee/total, payment (MASTERCARD ••1234), auth code, meter, city, transaction id. Adds an "Email me this receipt" action. - Active sessions show zone/space/start/ends/time-remaining. - Confirm PastSession + ParkingReceipt types from a live DL-zone session (were UNCONFIRMED); fix past-session card to show Zone/Description, not blank. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
42a96b0cff
commit
4cb5478737
5 changed files with 243 additions and 25 deletions
|
|
@ -21,14 +21,16 @@ import { VehiclesScreen } from '@/screens/VehiclesScreen';
|
|||
import { PaymentMethodsScreen } from '@/screens/PaymentMethodsScreen';
|
||||
import { NotificationsScreen } from '@/screens/NotificationsScreen';
|
||||
import { StartSessionScreen } from '@/screens/StartSessionScreen';
|
||||
import { SessionDetailScreen } from '@/screens/SessionDetailScreen';
|
||||
import { DiagnosticsScreen } from '@/screens/DiagnosticsScreen';
|
||||
import { useTheme } from '@/theme/ThemeContext';
|
||||
import type { Zone } from 'parksmarter-client';
|
||||
import type { ActiveSession, PastSession, Zone } from 'parksmarter-client';
|
||||
|
||||
export type RootStackParamList = {
|
||||
Tabs: undefined;
|
||||
MeterDetail: { zone: Zone };
|
||||
StartSession: { zone: Zone };
|
||||
SessionDetail: { session: PastSession | ActiveSession; kind: 'active' | 'past' };
|
||||
About: undefined;
|
||||
Profile: undefined;
|
||||
Vehicles: undefined;
|
||||
|
|
@ -120,6 +122,11 @@ export function RootNavigator() {
|
|||
component={StartSessionScreen}
|
||||
options={{ title: 'Start session' }}
|
||||
/>
|
||||
<Stack.Screen
|
||||
name="SessionDetail"
|
||||
component={SessionDetailScreen}
|
||||
options={{ title: 'Session' }}
|
||||
/>
|
||||
<Stack.Screen name="About" component={AboutScreen} options={{ title: 'About' }} />
|
||||
<Stack.Screen name="Profile" component={ProfileScreen} options={{ title: 'Profile' }} />
|
||||
<Stack.Screen name="Vehicles" component={VehiclesScreen} options={{ title: 'Vehicles' }} />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue