2022-12-28 23:41:36 +01:00
|
|
|
import { HeaderLeft } from '@components/Header'
|
2021-05-09 21:59:03 +02:00
|
|
|
import { Message } from '@components/Message'
|
2021-08-21 01:45:43 +02:00
|
|
|
import { createNativeStackNavigator } from '@react-navigation/native-stack'
|
2022-12-11 14:08:27 +01:00
|
|
|
import { TabMeProfileStackParamList, TabMeStackScreenProps } from '@utils/navigation/navigators'
|
2021-05-09 21:59:03 +02:00
|
|
|
import React, { useRef } from 'react'
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
import { KeyboardAvoidingView, Platform } from 'react-native'
|
|
|
|
import FlashMessage from 'react-native-flash-message'
|
2022-12-28 23:41:36 +01:00
|
|
|
import TabMeProfileFields from './Fields'
|
|
|
|
import TabMeProfileName from './Name'
|
|
|
|
import TabMeProfileNote from './Note'
|
|
|
|
import TabMeProfileRoot from './Root'
|
2021-05-09 21:59:03 +02:00
|
|
|
|
2021-08-29 15:25:38 +02:00
|
|
|
const Stack = createNativeStackNavigator<TabMeProfileStackParamList>()
|
2021-05-09 21:59:03 +02:00
|
|
|
|
2022-12-11 14:08:27 +01:00
|
|
|
const TabMeProfile: React.FC<TabMeStackScreenProps<'Tab-Me-Switch'>> = ({ navigation }) => {
|
2021-05-09 21:59:03 +02:00
|
|
|
const { t } = useTranslation('screenTabs')
|
|
|
|
const messageRef = useRef<FlashMessage>(null)
|
|
|
|
|
|
|
|
return (
|
|
|
|
<KeyboardAvoidingView
|
|
|
|
style={{ flex: 1 }}
|
|
|
|
behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
|
|
|
|
>
|
2021-08-21 01:45:43 +02:00
|
|
|
<Stack.Navigator screenOptions={{ headerShadowVisible: false }}>
|
2021-05-09 21:59:03 +02:00
|
|
|
<Stack.Screen
|
|
|
|
name='Tab-Me-Profile-Root'
|
|
|
|
options={{
|
2021-12-18 23:44:08 +01:00
|
|
|
title: t('me.stacks.profile.name'),
|
2021-05-09 21:59:03 +02:00
|
|
|
headerLeft: () => (
|
2023-01-25 00:15:46 +01:00
|
|
|
<HeaderLeft content='chevron-down' onPress={() => navigation.goBack()} />
|
2021-05-09 21:59:03 +02:00
|
|
|
)
|
|
|
|
}}
|
2021-05-17 23:09:50 +02:00
|
|
|
>
|
2023-01-26 00:57:48 +01:00
|
|
|
{props => <TabMeProfileRoot messageRef={messageRef} {...props} />}
|
2021-05-17 23:09:50 +02:00
|
|
|
</Stack.Screen>
|
2021-05-09 21:59:03 +02:00
|
|
|
<Stack.Screen
|
|
|
|
name='Tab-Me-Profile-Name'
|
2022-12-11 14:08:27 +01:00
|
|
|
options={{ title: t('me.stacks.profileName.name') }}
|
2021-05-09 21:59:03 +02:00
|
|
|
>
|
2023-01-26 00:57:48 +01:00
|
|
|
{props => <TabMeProfileName messageRef={messageRef} {...props} />}
|
2021-05-09 21:59:03 +02:00
|
|
|
</Stack.Screen>
|
|
|
|
<Stack.Screen
|
|
|
|
name='Tab-Me-Profile-Note'
|
2022-12-11 14:08:27 +01:00
|
|
|
options={{ title: t('me.stacks.profileNote.name') }}
|
2021-05-09 21:59:03 +02:00
|
|
|
>
|
2023-01-26 00:57:48 +01:00
|
|
|
{props => <TabMeProfileNote messageRef={messageRef} {...props} />}
|
2021-05-09 21:59:03 +02:00
|
|
|
</Stack.Screen>
|
|
|
|
<Stack.Screen
|
|
|
|
name='Tab-Me-Profile-Fields'
|
2022-12-11 14:08:27 +01:00
|
|
|
options={{ title: t('me.stacks.profileFields.name') }}
|
2021-05-09 21:59:03 +02:00
|
|
|
>
|
2023-01-26 00:57:48 +01:00
|
|
|
{props => <TabMeProfileFields messageRef={messageRef} {...props} />}
|
2021-05-09 21:59:03 +02:00
|
|
|
</Stack.Screen>
|
|
|
|
</Stack.Navigator>
|
|
|
|
|
|
|
|
<Message ref={messageRef} />
|
|
|
|
</KeyboardAvoidingView>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default TabMeProfile
|