chore(i18n,ui): keys for home/map/scan-detail + minor polish
i18n FR + EN :
- home.recentScans : 'Mes plantes récentes' / 'My recent plants'
- map.preview.{title,tapHint}
- myPlants.detail.rename{Title,Subtitle,Placeholder,Save}
- myPlants.toasts.renamed
App.tsx : retire NavigationBar.setBackgroundColorAsync + setPositionAsync
(navigation bar déjà bien gérée par expo-navigation-bar par défaut).
BottomTabNavigator + SettingsScreen : petits ajustements layout.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0ce7b3a718
commit
28d4fc176e
|
|
@ -15,8 +15,6 @@ import RootNavigator from '@/navigation/RootNavigator';
|
|||
export default function App() {
|
||||
useEffect(() => {
|
||||
if (Platform.OS === 'android') {
|
||||
NavigationBar.setBackgroundColorAsync('transparent');
|
||||
NavigationBar.setPositionAsync('absolute');
|
||||
NavigationBar.setButtonStyleAsync('dark');
|
||||
}
|
||||
}, []);
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
"startScanning": "Start scanning!",
|
||||
"tapToStart": "Tap to scan",
|
||||
"frequentDiseases": "Frequent diseases",
|
||||
"recentScans": "My recent plants",
|
||||
"seasonAlert": {
|
||||
"title": "High downy mildew risk",
|
||||
"message": "Rain and heat expected this week. Keep an eye on your leaves."
|
||||
|
|
@ -275,7 +276,8 @@
|
|||
"toasts": {
|
||||
"favorited": "Added to favorites",
|
||||
"unfavorited": "Removed from favorites",
|
||||
"deleted": "Scan deleted"
|
||||
"deleted": "Scan deleted",
|
||||
"renamed": "Name updated"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Healthy",
|
||||
|
|
@ -309,7 +311,11 @@
|
|||
"shareText": "My VinEye scan",
|
||||
"shareError": "Could not share the scan",
|
||||
"notFound": "Scan not found",
|
||||
"goBack": "Go back"
|
||||
"goBack": "Go back",
|
||||
"renameTitle": "Rename plant",
|
||||
"renameSubtitle": "Give this plant a custom name so you can recognize it easily.",
|
||||
"renamePlaceholder": "E.g. Garden vine",
|
||||
"renameSave": "Save"
|
||||
}
|
||||
},
|
||||
"guides": {
|
||||
|
|
@ -545,6 +551,10 @@
|
|||
"subtitle": "Give this plant a custom name so you can recognize it easily.",
|
||||
"placeholder": "E.g. Garden vine",
|
||||
"save": "Save"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Preview",
|
||||
"tapHint": "Tap again to view details"
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
"startScanning": "Commencez à scanner !",
|
||||
"tapToStart": "Appuyez pour scanner",
|
||||
"frequentDiseases": "Maladies fréquentes",
|
||||
"recentScans": "Mes plantes récentes",
|
||||
"seasonAlert": {
|
||||
"title": "Risque mildiou élevé",
|
||||
"message": "Pluie et chaleur prévues cette semaine. Surveillez vos feuilles."
|
||||
|
|
@ -275,7 +276,8 @@
|
|||
"toasts": {
|
||||
"favorited": "Ajouté aux favoris",
|
||||
"unfavorited": "Retiré des favoris",
|
||||
"deleted": "Scan supprimé"
|
||||
"deleted": "Scan supprimé",
|
||||
"renamed": "Nom mis à jour"
|
||||
},
|
||||
"status": {
|
||||
"healthy": "Saine",
|
||||
|
|
@ -309,7 +311,11 @@
|
|||
"shareText": "Mon scan VinEye",
|
||||
"shareError": "Impossible de partager le scan",
|
||||
"notFound": "Scan introuvable",
|
||||
"goBack": "Retour"
|
||||
"goBack": "Retour",
|
||||
"renameTitle": "Renommer la plante",
|
||||
"renameSubtitle": "Donnez un nom personnalisé à cette plante pour la retrouver plus facilement.",
|
||||
"renamePlaceholder": "Ex. Vigne du jardin",
|
||||
"renameSave": "Enregistrer"
|
||||
}
|
||||
},
|
||||
"guides": {
|
||||
|
|
@ -545,6 +551,10 @@
|
|||
"subtitle": "Donnez un nom personnalisé à cette plante pour la retrouver plus facilement.",
|
||||
"placeholder": "Ex. Vigne du jardin",
|
||||
"save": "Enregistrer"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Aperçu",
|
||||
"tapHint": "Appuyez à nouveau pour voir les détails"
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ function MyCustomTabBar({ state, descriptors, navigation }: any) {
|
|||
paddingBottom: insets.bottom,
|
||||
paddingTop: 6,
|
||||
alignItems: "flex-end",
|
||||
overflow: "visible",
|
||||
}}
|
||||
>
|
||||
{state.routes.map((route: any, index: number) => {
|
||||
|
|
@ -71,21 +72,24 @@ function MyCustomTabBar({ state, descriptors, navigation }: any) {
|
|||
style={{
|
||||
flex: 1,
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
justifyContent: "flex-end",
|
||||
paddingBottom: 8,
|
||||
overflow: "visible",
|
||||
}}
|
||||
>
|
||||
<View
|
||||
style={{
|
||||
position: "absolute",
|
||||
bottom: 18,
|
||||
width: 56,
|
||||
height: 56,
|
||||
borderRadius: 28,
|
||||
backgroundColor: colors.primary[800],
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
marginTop: -25,
|
||||
shadowColor: colors.primary[900],
|
||||
shadowOffset: { width: 0, height: 0 },
|
||||
shadowOpacity: 0.3,
|
||||
shadowOffset: { width: 0, height: 4 },
|
||||
shadowOpacity: 0.25,
|
||||
shadowRadius: 8,
|
||||
elevation: 8,
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -92,12 +92,12 @@ export default function SettingsScreen() {
|
|||
rightText: i18n.language === "fr" ? "Français" : "English",
|
||||
onPress: handleLanguageToggle,
|
||||
},
|
||||
{
|
||||
icon: "notifications-outline",
|
||||
label: t("settings.notifications.label"),
|
||||
toggleValue: notificationsEnabled,
|
||||
onToggle: handleNotificationsToggle,
|
||||
},
|
||||
// {
|
||||
// icon: "notifications-outline",
|
||||
// label: t("settings.notifications.label"),
|
||||
// toggleValue: notificationsEnabled,
|
||||
// onToggle: handleNotificationsToggle,
|
||||
// },
|
||||
{
|
||||
icon: "shield-outline",
|
||||
label: t("settings.privacy"),
|
||||
|
|
|
|||
Loading…
Reference in a new issue