- NestJS backend: auth, restaurants, orders, drivers, payments, tracking, reviews, zones, admin, email - Next.js 14 frontend: landing, restaurants, checkout, tracking, dashboards, onboarding - Expo mobile app: driver orders and earnings screens - PostgreSQL + PostGIS schema with seed data - Docker Compose for local dev (Postgres, Redis, OSRM) - MapLibre GL + OpenStreetMap integration - Stripe subscription and payment processing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { Tabs } from 'expo-router'
|
|
import { StyleSheet, Text } from 'react-native'
|
|
|
|
export default function DriverTabLayout() {
|
|
return (
|
|
<Tabs
|
|
screenOptions={{
|
|
headerStyle: { backgroundColor: '#0F172A' },
|
|
headerTintColor: '#fff',
|
|
headerTitleStyle: { fontWeight: 'bold' },
|
|
tabBarStyle: { backgroundColor: '#0F172A', borderTopColor: '#1E293B' },
|
|
tabBarActiveTintColor: '#0D9488',
|
|
tabBarInactiveTintColor: '#64748B',
|
|
}}
|
|
>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: 'Dashboard',
|
|
tabBarIcon: ({ color }) => <Text style={{ fontSize: 20, color }}>📊</Text>,
|
|
headerTitle: 'The Vibe',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="orders"
|
|
options={{
|
|
title: 'Orders',
|
|
tabBarIcon: ({ color }) => <Text style={{ fontSize: 20, color }}>📦</Text>,
|
|
headerTitle: 'Available Orders',
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="earnings"
|
|
options={{
|
|
title: 'Earnings',
|
|
tabBarIcon: ({ color }) => <Text style={{ fontSize: 20, color }}>💰</Text>,
|
|
headerTitle: 'My Earnings',
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
)
|
|
}
|