mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-04-20 03:00:24 -04:00
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
import { NavigationContainer } from '@react-navigation/native';
|
|
import {
|
|
NativeStackNavigationOptions,
|
|
createNativeStackNavigator,
|
|
} from '@react-navigation/native-stack';
|
|
import { LanguageSelector } from '../components/LanguageSelector';
|
|
import { authRoutes, baseRoutes } from '../routes';
|
|
import { useAppLayout } from './AppLayoutController';
|
|
import { Icon } from 'react-native-elements';
|
|
import { Theme } from '../components/ui/styleUtils';
|
|
|
|
const { Navigator, Screen } = createNativeStackNavigator();
|
|
|
|
export const AppLayout: React.FC = () => {
|
|
const controller = useAppLayout();
|
|
|
|
const options: NativeStackNavigationOptions = {
|
|
title: '',
|
|
headerTitleAlign: 'center',
|
|
headerShadowVisible: false,
|
|
headerRight: () => (
|
|
<LanguageSelector
|
|
triggerComponent={<Icon name="language" color={Theme.Colors.Icon} />}
|
|
/>
|
|
),
|
|
headerBackVisible: false,
|
|
};
|
|
|
|
return (
|
|
<NavigationContainer>
|
|
<Navigator initialRouteName={baseRoutes[0].name} screenOptions={options}>
|
|
{baseRoutes.map((route) => (
|
|
<Screen key={route.name} {...route} />
|
|
))}
|
|
{controller.isAuthorized &&
|
|
authRoutes.map((route) => <Screen key={route.name} {...route} />)}
|
|
</Navigator>
|
|
</NavigationContainer>
|
|
);
|
|
};
|