- Client detail: Subscription/Invoices/Payments tabs now fully functional - Payments: proper list with today's total + live search prefill from client - Record payment: debounced live search, reference required for non-cash - Remittances: detail screen with included payments breakdown - Tickets: status filter chips + create button, new ticket with categories - Installations: tab now visible with list + confirm flow - Fix: remove duplicate @react-navigation/elements causing Metro asset error - Fix: metro.config.js asset resolution from node_modules
45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import { Tabs } from 'expo-router';
|
|
import { Text } from 'react-native';
|
|
|
|
export default function AppLayout() {
|
|
return (
|
|
<Tabs
|
|
screenOptions={{
|
|
headerShown: false,
|
|
tabBarActiveTintColor: '#2563EB',
|
|
tabBarInactiveTintColor: '#6B7280',
|
|
tabBarStyle: { paddingBottom: 4 },
|
|
}}
|
|
>
|
|
<Tabs.Screen
|
|
name="dashboard"
|
|
options={{ title: 'Home', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>🏠</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="clients"
|
|
options={{ title: 'Clients', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>👥</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="payments"
|
|
options={{ title: 'Payments', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>💰</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="remittances"
|
|
options={{ title: 'Remit', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>📋</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="tickets"
|
|
options={{ title: 'Tickets', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>🎫</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="installations"
|
|
options={{ title: 'Install', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>🔌</Text> }}
|
|
/>
|
|
<Tabs.Screen
|
|
name="profile"
|
|
options={{ title: 'Profile', tabBarIcon: ({ color }) => <Text style={{ color, fontSize: 20 }}>👤</Text> }}
|
|
/>
|
|
</Tabs>
|
|
);
|
|
}
|