diff --git a/frontend-admin/src/screens/admin/OrderDetailScreen.tsx b/frontend-admin/src/screens/admin/OrderDetailScreen.tsx
index 28481bb0..e802736f 100644
--- a/frontend-admin/src/screens/admin/OrderDetailScreen.tsx
+++ b/frontend-admin/src/screens/admin/OrderDetailScreen.tsx
@@ -598,6 +598,34 @@ export default function OrderDetailScreen() {
{new Date(command.created_at).toLocaleString("fr-FR")}
+ {command.status === "cancelled" && command.cancel_reason ? (
+
+
+ Motif d'annulation
+
+
+ {command.cancel_reason}
+
+
+ ) : command.status === "cancelled" ? (
+
+
+ Aucun motif fourni
+
+
+ ) : null}
{/* Livreur tracking map */}
diff --git a/frontend-admin/src/screens/auth/AdminLoginScreen.tsx b/frontend-admin/src/screens/auth/AdminLoginScreen.tsx
index 5f3eda09..fc6a4d27 100644
--- a/frontend-admin/src/screens/auth/AdminLoginScreen.tsx
+++ b/frontend-admin/src/screens/auth/AdminLoginScreen.tsx
@@ -4,7 +4,7 @@ import {
Text,
StyleSheet,
KeyboardAvoidingView,
- Platform,
+ ScrollView,
TouchableOpacity,
TextInput as RNTextInput,
Animated,
@@ -158,8 +158,13 @@ export default function AdminLoginScreen() {
return (
+
{/* Decorative top accent */}
@@ -297,6 +302,7 @@ export default function AdminLoginScreen() {
message={alert.message}
onClose={hideAlert}
/>
+
);
}
diff --git a/frontend-admin/src/screens/auth/CabineLoginScreen.tsx b/frontend-admin/src/screens/auth/CabineLoginScreen.tsx
index e38bb165..2dba90e4 100644
--- a/frontend-admin/src/screens/auth/CabineLoginScreen.tsx
+++ b/frontend-admin/src/screens/auth/CabineLoginScreen.tsx
@@ -4,7 +4,7 @@ import {
Text,
StyleSheet,
KeyboardAvoidingView,
- Platform,
+ ScrollView,
TouchableOpacity,
TextInput as RNTextInput,
Animated,
@@ -158,8 +158,13 @@ export default function CabineLoginScreen() {
return (
+
+
);
}
diff --git a/frontend-admin/src/screens/auth/DeliveryLoginScreen.tsx b/frontend-admin/src/screens/auth/DeliveryLoginScreen.tsx
index 8c5f1251..bec576c1 100644
--- a/frontend-admin/src/screens/auth/DeliveryLoginScreen.tsx
+++ b/frontend-admin/src/screens/auth/DeliveryLoginScreen.tsx
@@ -4,7 +4,7 @@ import {
Text,
StyleSheet,
KeyboardAvoidingView,
- Platform,
+ ScrollView,
TouchableOpacity,
TextInput as RNTextInput,
Animated,
@@ -158,8 +158,13 @@ export default function DeliveryLoginScreen() {
return (
+
+
);
}
diff --git a/mobile/src/screens/auth/ChangePasswordScreen.tsx b/mobile/src/screens/auth/ChangePasswordScreen.tsx
index 0b6ab3aa..7ab56464 100644
--- a/mobile/src/screens/auth/ChangePasswordScreen.tsx
+++ b/mobile/src/screens/auth/ChangePasswordScreen.tsx
@@ -7,6 +7,8 @@ import {
StyleSheet,
Alert,
ActivityIndicator,
+ KeyboardAvoidingView,
+ ScrollView,
} from "react-native";
import { Feather } from "@expo/vector-icons";
import { useAuth } from "../../auth/AuthContext";
@@ -56,7 +58,15 @@ export default function ChangePasswordScreen() {
};
return (
-
+
+
@@ -130,13 +140,17 @@ export default function ChangePasswordScreen() {
Confirmer
)}
-
+
+
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
+ },
+ scrollContent: {
+ flexGrow: 1,
padding: 24,
justifyContent: "center",
},
diff --git a/mobile/src/screens/auth/ClientLoginScreen.tsx b/mobile/src/screens/auth/ClientLoginScreen.tsx
index ee7ce245..ef2a29f4 100644
--- a/mobile/src/screens/auth/ClientLoginScreen.tsx
+++ b/mobile/src/screens/auth/ClientLoginScreen.tsx
@@ -6,6 +6,8 @@ import {
TouchableOpacity,
ActivityIndicator,
StyleSheet,
+ KeyboardAvoidingView,
+ ScrollView,
} from "react-native";
import { Feather, FontAwesome } from "@expo/vector-icons";
import { loginUser } from "../../api/api";
@@ -84,9 +86,15 @@ const LoginClient = () => {
};
return (
-
+
@@ -213,7 +221,8 @@ const LoginClient = () => {
)}
-
+
+
);
};
@@ -222,6 +231,9 @@ export default LoginClient;
const styles = StyleSheet.create({
container: {
flex: 1,
+ },
+ scrollContent: {
+ flexGrow: 1,
justifyContent: "center",
alignItems: "center",
padding: 16,