import { Field, Version } from '@/components' import { colorSchemesList } from '@/constants' import { useColorScheme } from '@/contexts' import { Spacer, Button, ScrollView, Box, Row, Icon, Text } from '@/design-system' import { useCallback, useScreenOptions, useTranslation } from '@/hooks' import languages from '@/i18n/languages.json' import { signOut } from '@/store/auth' import { IconNames } from '@/types' import { noop } from '@/utils' const ListItemContent = ({ label, value, iconName, showBorder, }: { label: string value: string iconName: IconNames showBorder?: boolean }) => { return ( {label} {value} ) } export const LanguageSettings = (): JSX.Element => { const { t } = useTranslation() const { i18n } = useTranslation() const language = i18n?.language?.slice?.(0, 2).toUpperCase() as keyof typeof languages const languagesToRender = Object.entries(languages).map(([key, languageData]) => ({ label: `${languageData.emoji} ${languageData.language}`, value: key, })) const handleItemPress = useCallback( (lng: string[]) => { i18n.changeLanguage(lng[0].toLowerCase()) }, [i18n] ) return ( {(props) => ( )} ) } const ColorSchemeSettings = () => { const { t } = useTranslation() const { setColorSchemeSetting, colorSchemeSetting } = useColorScheme() const handleColorSchemeSettingChange = useCallback( (scheme: (typeof colorSchemeSetting)[]) => { setColorSchemeSetting(scheme[0]) }, [setColorSchemeSetting] ) const colorSchemesListToRender = colorSchemesList.map((scheme) => ({ label: scheme, value: scheme, })) return ( {(props) => ( )} ) } export const SettingsScreen = (): JSX.Element => { const { t } = useTranslation() useScreenOptions({ title: t('navigation.screen_titles.settings'), }) return ( {t('settings_screen.list_heading')} {t('settings_screen.sign_out')} ) }