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:
Yanis 2026-05-01 00:03:55 +02:00
parent 0ce7b3a718
commit 28d4fc176e
5 changed files with 38 additions and 16 deletions

View file

@ -15,8 +15,6 @@ import RootNavigator from '@/navigation/RootNavigator';
export default function App() { export default function App() {
useEffect(() => { useEffect(() => {
if (Platform.OS === 'android') { if (Platform.OS === 'android') {
NavigationBar.setBackgroundColorAsync('transparent');
NavigationBar.setPositionAsync('absolute');
NavigationBar.setButtonStyleAsync('dark'); NavigationBar.setButtonStyleAsync('dark');
} }
}, []); }, []);

View file

@ -39,6 +39,7 @@
"startScanning": "Start scanning!", "startScanning": "Start scanning!",
"tapToStart": "Tap to scan", "tapToStart": "Tap to scan",
"frequentDiseases": "Frequent diseases", "frequentDiseases": "Frequent diseases",
"recentScans": "My recent plants",
"seasonAlert": { "seasonAlert": {
"title": "High downy mildew risk", "title": "High downy mildew risk",
"message": "Rain and heat expected this week. Keep an eye on your leaves." "message": "Rain and heat expected this week. Keep an eye on your leaves."
@ -275,7 +276,8 @@
"toasts": { "toasts": {
"favorited": "Added to favorites", "favorited": "Added to favorites",
"unfavorited": "Removed from favorites", "unfavorited": "Removed from favorites",
"deleted": "Scan deleted" "deleted": "Scan deleted",
"renamed": "Name updated"
}, },
"status": { "status": {
"healthy": "Healthy", "healthy": "Healthy",
@ -309,7 +311,11 @@
"shareText": "My VinEye scan", "shareText": "My VinEye scan",
"shareError": "Could not share the scan", "shareError": "Could not share the scan",
"notFound": "Scan not found", "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": { "guides": {
@ -545,6 +551,10 @@
"subtitle": "Give this plant a custom name so you can recognize it easily.", "subtitle": "Give this plant a custom name so you can recognize it easily.",
"placeholder": "E.g. Garden vine", "placeholder": "E.g. Garden vine",
"save": "Save" "save": "Save"
},
"preview": {
"title": "Preview",
"tapHint": "Tap again to view details"
} }
}, },
"location": { "location": {

View file

@ -39,6 +39,7 @@
"startScanning": "Commencez à scanner !", "startScanning": "Commencez à scanner !",
"tapToStart": "Appuyez pour scanner", "tapToStart": "Appuyez pour scanner",
"frequentDiseases": "Maladies fréquentes", "frequentDiseases": "Maladies fréquentes",
"recentScans": "Mes plantes récentes",
"seasonAlert": { "seasonAlert": {
"title": "Risque mildiou élevé", "title": "Risque mildiou élevé",
"message": "Pluie et chaleur prévues cette semaine. Surveillez vos feuilles." "message": "Pluie et chaleur prévues cette semaine. Surveillez vos feuilles."
@ -275,7 +276,8 @@
"toasts": { "toasts": {
"favorited": "Ajouté aux favoris", "favorited": "Ajouté aux favoris",
"unfavorited": "Retiré des favoris", "unfavorited": "Retiré des favoris",
"deleted": "Scan supprimé" "deleted": "Scan supprimé",
"renamed": "Nom mis à jour"
}, },
"status": { "status": {
"healthy": "Saine", "healthy": "Saine",
@ -309,7 +311,11 @@
"shareText": "Mon scan VinEye", "shareText": "Mon scan VinEye",
"shareError": "Impossible de partager le scan", "shareError": "Impossible de partager le scan",
"notFound": "Scan introuvable", "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": { "guides": {
@ -545,6 +551,10 @@
"subtitle": "Donnez un nom personnalisé à cette plante pour la retrouver plus facilement.", "subtitle": "Donnez un nom personnalisé à cette plante pour la retrouver plus facilement.",
"placeholder": "Ex. Vigne du jardin", "placeholder": "Ex. Vigne du jardin",
"save": "Enregistrer" "save": "Enregistrer"
},
"preview": {
"title": "Aperçu",
"tapHint": "Appuyez à nouveau pour voir les détails"
} }
}, },
"location": { "location": {

View file

@ -35,6 +35,7 @@ function MyCustomTabBar({ state, descriptors, navigation }: any) {
paddingBottom: insets.bottom, paddingBottom: insets.bottom,
paddingTop: 6, paddingTop: 6,
alignItems: "flex-end", alignItems: "flex-end",
overflow: "visible",
}} }}
> >
{state.routes.map((route: any, index: number) => { {state.routes.map((route: any, index: number) => {
@ -71,21 +72,24 @@ function MyCustomTabBar({ state, descriptors, navigation }: any) {
style={{ style={{
flex: 1, flex: 1,
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "flex-end",
paddingBottom: 8,
overflow: "visible",
}} }}
> >
<View <View
style={{ style={{
position: "absolute",
bottom: 18,
width: 56, width: 56,
height: 56, height: 56,
borderRadius: 28, borderRadius: 28,
backgroundColor: colors.primary[800], backgroundColor: colors.primary[800],
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",
marginTop: -25,
shadowColor: colors.primary[900], shadowColor: colors.primary[900],
shadowOffset: { width: 0, height: 0 }, shadowOffset: { width: 0, height: 4 },
shadowOpacity: 0.3, shadowOpacity: 0.25,
shadowRadius: 8, shadowRadius: 8,
elevation: 8, elevation: 8,
}} }}

View file

@ -92,12 +92,12 @@ export default function SettingsScreen() {
rightText: i18n.language === "fr" ? "Français" : "English", rightText: i18n.language === "fr" ? "Français" : "English",
onPress: handleLanguageToggle, onPress: handleLanguageToggle,
}, },
{ // {
icon: "notifications-outline", // icon: "notifications-outline",
label: t("settings.notifications.label"), // label: t("settings.notifications.label"),
toggleValue: notificationsEnabled, // toggleValue: notificationsEnabled,
onToggle: handleNotificationsToggle, // onToggle: handleNotificationsToggle,
}, // },
{ {
icon: "shield-outline", icon: "shield-outline",
label: t("settings.privacy"), label: t("settings.privacy"),