File size: 2,614 Bytes
5c876be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import React from 'react';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

// ─── Screen imports ────────────────────────────────────────────────────────────

import HomeScreen from '../screens/home/HomeScreen';
import SearchScreen from '../screens/home/SearchScreen';
import PickOnMapScreen from '../screens/home/PickOnMapScreen';
import CreateRideScreen from '../screens/home/CreateRideScreen';
import MatchListScreen from '../screens/home/MatchListScreen';
import ActiveRideScreen from '../screens/home/ActiveRideScreen';
import RateRideScreen from '../screens/home/RateRideScreen';
import NotificationsScreen from '../screens/home/NotificationsScreen';
import SOSScreen from '../screens/safety/SOSScreen';

// ─── Types ─────────────────────────────────────────────────────────────────────

import type { HomeStackParamList } from './types';

type HomeStack = createNativeStackNavigator<HomeStackParamList>;

// ─── HomeStackNavigator ────────────────────────────────────────────────────────

export default function HomeStackNavigator() {
  const Stack = createNativeStackNavigator<HomeStackParamList>();

  return (
    <Stack.Navigator
      initialRouteName="Home"
      screenOptions={{
        headerShown: false,
        animation: 'slide_from_right',
      }}
    >
      <Stack.Screen name="Home" component={HomeScreen} />
      <Stack.Screen name="Search" component={SearchScreen} />
      <Stack.Screen
        name="PickOnMap"
        component={PickOnMapScreen}
        options={{ animation: 'slide_from_bottom', presentation: 'modal' }}
      />
      <Stack.Screen name="CreateRide" component={CreateRideScreen} />
      <Stack.Screen name="MatchList" component={MatchListScreen} />
      <Stack.Screen name="ActiveRide" component={ActiveRideScreen} />
      <Stack.Screen
        name="RateRide"
        component={RateRideScreen}
        options={{ animation: 'slide_from_bottom', presentation: 'modal' }}
      />
      <Stack.Screen name="Notifications" component={NotificationsScreen} />
      <Stack.Screen
        name="SOS"
        component={SOSScreen}
        options={{ animation: 'slide_from_bottom', presentation: 'modal' }}
      />
    </Stack.Navigator>
  );
}