- Add Expo Router with bottom tabs (Home, Scan, Proforma, Payments, Profile) - Home: earnings summary, quick actions, invoice list with Waiting/Paid filters - Scan: placeholder for camera flow, recent scans list - Proforma: list of proforma requests with send-to-contacts CTA - Payments: pending match and reconciled list - Profile: account info, about, logout - Apply Yaltopia theme: primary orange (#ea580c), dark navbar/tabs (#2d2d2d) - Add mock data (invoices, proforma, payments, user) in lib/mock-data.ts - Root layout: GestureHandler, SafeArea, PortalHost; tab bar dark with orange active Co-authored-by: Cursor <cursoragent@cursor.com>
59 lines
1.3 KiB
TypeScript
59 lines
1.3 KiB
TypeScript
import { Tabs } from 'expo-router';
|
|
import { View } from 'react-native';
|
|
|
|
const NAV_BG = '#2d2d2d';
|
|
const ACTIVE_TINT = '#ea580c';
|
|
const INACTIVE_TINT = '#a1a1aa';
|
|
|
|
export default function TabsLayout() {
|
|
return (
|
|
<Tabs
|
|
screenOptions={{
|
|
headerStyle: { backgroundColor: NAV_BG },
|
|
headerTintColor: '#ffffff',
|
|
headerTitleStyle: { fontWeight: '600' },
|
|
tabBarStyle: { backgroundColor: NAV_BG },
|
|
tabBarActiveTintColor: ACTIVE_TINT,
|
|
tabBarInactiveTintColor: INACTIVE_TINT,
|
|
tabBarLabelStyle: { fontSize: 12 },
|
|
}}
|
|
>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: 'Home',
|
|
tabBarLabel: 'Home',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="scan"
|
|
options={{
|
|
title: 'Scan Invoice',
|
|
tabBarLabel: 'Scan',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="proforma"
|
|
options={{
|
|
title: 'Proforma',
|
|
tabBarLabel: 'Proforma',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="payments"
|
|
options={{
|
|
title: 'Payments',
|
|
tabBarLabel: 'Payments',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="profile"
|
|
options={{
|
|
title: 'Profile',
|
|
tabBarLabel: 'Profile',
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
);
|
|
}
|