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')}
)
}