- Add Lucide React Native icon library and use across tabs and screens
- Mobile-like design: rounded cards (xl/2xl), section dividers, icon chips, chevrons
- New pages from swagger: register, invoices/[id], reports, documents, settings
- Invoice detail: amount, bill to, items, Share/PDF actions (GET /invoices/{id})
- Register screen with link to login (POST /auth/register)
- Reports list with mock data and download (GET /reports)
- Documents list with upload CTA (GET /documents)
- Settings: notifications link, language, about
- Profile: links to Notifications, Reports, Documents, Settings
- Home: invoice rows navigate to /invoices/[id]
- Login ↔ Register navigation
- Keep orange (#ea580c) and dark navbar (#2d2d2d) theme throughout
- README: update screens table with new routes
Co-authored-by: Cursor <cursoragent@cursor.com>
40 lines
1.8 KiB
TypeScript
40 lines
1.8 KiB
TypeScript
import '../global.css';
|
|
import { Stack } from 'expo-router';
|
|
import { StatusBar } from 'expo-status-bar';
|
|
import { PortalHost } from '@rn-primitives/portal';
|
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
import { View } from 'react-native';
|
|
|
|
export default function RootLayout() {
|
|
return (
|
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
<SafeAreaProvider>
|
|
<View className="flex-1 bg-background">
|
|
<StatusBar style="light" />
|
|
<Stack
|
|
screenOptions={{
|
|
headerStyle: { backgroundColor: '#2d2d2d' },
|
|
headerTintColor: '#ffffff',
|
|
headerTitleStyle: { fontWeight: '600' },
|
|
}}
|
|
>
|
|
<Stack.Screen name="(tabs)" options={{ headerShown: false }} />
|
|
<Stack.Screen name="proforma/[id]" options={{ title: 'Proforma request' }} />
|
|
<Stack.Screen name="payments/[id]" options={{ title: 'Payment' }} />
|
|
<Stack.Screen name="notifications" options={{ title: 'Notifications' }} />
|
|
<Stack.Screen name="notifications/settings" options={{ title: 'Notification settings' }} />
|
|
<Stack.Screen name="login" options={{ title: 'Sign in', headerShown: false }} />
|
|
<Stack.Screen name="register" options={{ title: 'Create account', headerShown: false }} />
|
|
<Stack.Screen name="invoices/[id]" options={{ title: 'Invoice' }} />
|
|
<Stack.Screen name="reports" options={{ title: 'Reports' }} />
|
|
<Stack.Screen name="documents" options={{ title: 'Documents' }} />
|
|
<Stack.Screen name="settings" options={{ title: 'Settings' }} />
|
|
</Stack>
|
|
<PortalHost />
|
|
</View>
|
|
</SafeAreaProvider>
|
|
</GestureHandlerRootView>
|
|
);
|
|
}
|