import React, { useState, useEffect, useCallback } from 'react'; import { FlatList, StyleSheet } from 'react-native'; import { SafeBlueArea, BlueListItem, BlueCard, BlueLoadingHook, BlueNavigationStyle, BlueText } from '../../BlueComponents'; import { AvailableLanguages } from '../../loc/languages'; import loc from '../../loc'; const styles = StyleSheet.create({ flex: { flex: 1, }, }); const Language = () => { const [isLoading, setIsLoading] = useState(true); const [language, setLanguage] = useState(loc.getLanguage()); useEffect(() => { setIsLoading(false); }, []); const renderItem = useCallback( ({ item }) => { return ( { console.log('setLanguage', item.value); loc.saveLanguage(item.value); setLanguage(item.value); }} title={item.label} {...(language === item.value ? { rightIcon: { name: 'check', type: 'octaicon', color: '#0070FF' }, } : { hideChevron: true })} /> ); }, [language], ); return isLoading ? ( ) : ( `${index}`} data={AvailableLanguages} renderItem={renderItem} /> {loc.settings.language_restart} ); }; Language.navigationOptions = () => ({ ...BlueNavigationStyle(), headerTitle: loc.settings.language, }); export default Language;