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