Optimize language selector

This commit is contained in:
Maarten 2024-08-13 08:55:25 +02:00
parent fc53bb14a0
commit f3c5667f0a

View file

@ -64,7 +64,7 @@ export default function SettingsScreen() {
setCity( session.address.city ); setCity( session.address.city );
// Language // Language
setLanguage(session.language); setLanguage( session.language );
} }
// Handle save settings // Handle save settings
@ -115,7 +115,7 @@ export default function SettingsScreen() {
sheetRef.current?.close(); sheetRef.current?.close();
i18n.changeLanguage( lang ).then( () => { i18n.changeLanguage( lang ).then( () => {
setLanguage(lang); setLanguage( lang );
handleSave( { language: lang } ); handleSave( { language: lang } );
} ); } );
@ -265,10 +265,20 @@ export default function SettingsScreen() {
]} ]}
viewStyle={styles.languagesList} viewStyle={styles.languagesList}
renderItem={(item: any, index: any) => ( renderItem={(item: any, index: any) => (
<ThemedView>
{item.key === language ?
(
<TouchableOpacity style={styles.languagesListItem} key={index} onPress={() => changeLanguage( item.key )}> <TouchableOpacity style={styles.languagesListItem} key={index} onPress={() => changeLanguage( item.key )}>
<ThemedText type="defaultSemiBold">{item.name}</ThemedText> <ThemedText type="defaultSemiBold">{item.name}</ThemedText>
<ThemedIcon name={'chevron-forward'} size={18}/> <ThemedIcon name="checkmark" size={18}/>
</TouchableOpacity> </TouchableOpacity>
) : (
<TouchableOpacity style={styles.languagesListItem} key={index} onPress={() => changeLanguage( item.key )}>
<ThemedText type="default">{item.name}</ThemedText>
</TouchableOpacity>
)
}
</ThemedView>
)} )}
/> />
</ThemedView> </ThemedView>