import { NativeStackNavigationOptions } from '@react-navigation/native-stack' import { StackNavigationProp } from '@react-navigation/stack' import { StyleService, Text, useStyleSheet, useTheme, } from '@ui-kitten/components' import React from 'react' import { Image, ImageStyle, Keyboard, TouchableOpacity, TouchableWithoutFeedback, View, } from 'react-native' import { useTranslation } from '../hooks/useTranslation' import { Layout as LayoutStyle, Sizing, Typography } from '../styles' import { fontSize } from '../styles/typography' import { KeyboardAvoidingView } from '../ui/keyboardAvoidingView.component' import { SafeAreaView } from '../ui/safeAreaView.component' import { SettingsIcon } from './icon.component' import { Login } from './login.component' import { RootStackParamList } from './navigation.component' const randomWord = ( t: (scope: I18n.Scope, options?: I18n.TranslateOptions | undefined) => string ) => { const words = t('auth.words') const keys = Object.keys(words) const randomIndex: number = Math.floor(Math.random() * keys.length) const argumentKey: string = keys[randomIndex] return words[argumentKey] } interface AuthProps { navigation: StackNavigationProp } export const authRouteOptions = (): NativeStackNavigationOptions => { return { headerShown: false, animationTypeForReplace: 'push', animation: 'fade', } } export const Auth: React.FC = ({ navigation }) => { const styles = useStyleSheet(themeStyles) const colors = useTheme() const { t } = useTranslation() return ( navigation.navigate('Settings')} accessibilityHint={t('auth.a11y_navigate_to_settings', { defaultValue: 'Navigerar till vyn för inställningar', })} accessibilityLabel={t('auth.a11y_settings', { defaultValue: 'Inställningar', })} > {t('general.settings')} Öppna skolplattformen {t('auth.subtitle', { word: randomWord(t), })} ) } const themeStyles = StyleService.create({ container: { ...LayoutStyle.mainAxis.flexStart, ...LayoutStyle.crossAxis.flexEnd, padding: Sizing.t6, }, imageWrapper: { flex: 1, justifyContent: 'flex-end', }, image: { ...Sizing.aspectRatio(1.5, Sizing.Ratio['4:3']), }, content: { ...LayoutStyle.flex.full, }, header: { width: '100%', marginBottom: Sizing.t5, fontFamily: 'Poppins-Black', fontWeight: '900', }, subtitle: { width: '100%', textAlign: 'center', ...Typography.fontSize.xs, marginTop: Sizing.t5, }, language: { flexDirection: 'row', alignItems: 'center', padding: Sizing.t3, paddingLeft: Sizing.t5, }, languageText: { ...fontSize.sm, marginLeft: Sizing.t1, }, settingsLink: { alignSelf: 'flex-start', zIndex: 1, }, })