fix(dae): update error message

This commit is contained in:
devthejo 2026-03-08 20:42:54 +01:00
parent 59ccc13836
commit 43aae4e133
No known key found for this signature in database
GPG key ID: 00CCA7A92B1D5351
2 changed files with 23 additions and 2 deletions

View file

@ -70,7 +70,7 @@ function EmptyError({ error, onRetry }) {
]} ]}
> >
Impossible de charger les défibrillateurs.{"\n"} Impossible de charger les défibrillateurs.{"\n"}
{error?.message || "Veuillez réessayer."} Veuillez réessayer ultérieurement.
</Text> </Text>
{onRetry && ( {onRetry && (
<Button mode="contained" onPress={onRetry} style={styles.retryButton}> <Button mode="contained" onPress={onRetry} style={styles.retryButton}>

View file

@ -15,6 +15,27 @@ const DEFAULT_LIMIT = 200;
const AUTO_DISMISS_DELAY = 4_000; const AUTO_DISMISS_DELAY = 4_000;
/**
* Convert a technical DAE update error into a user-friendly French message.
* The raw technical details are already logged via console.warn in updateDaeDb.
*/
function userFriendlyDaeError(error) {
const msg = error?.message || "";
if (msg.includes("Network") || msg.includes("network")) {
return "Impossible de contacter le serveur. Vérifiez votre connexion internet et réessayez.";
}
if (msg.includes("HTTP")) {
return "Le serveur a rencontré un problème. Veuillez réessayer ultérieurement.";
}
if (msg.includes("Download failed") || msg.includes("file is empty")) {
return "Le téléchargement a échoué. Veuillez réessayer.";
}
if (msg.includes("failed validation")) {
return "Le fichier téléchargé est corrompu. Veuillez réessayer.";
}
return "La mise à jour a échoué. Veuillez réessayer ultérieurement.";
}
export default createAtom(({ merge, reset }) => { export default createAtom(({ merge, reset }) => {
const actions = { const actions = {
reset, reset,
@ -153,7 +174,7 @@ export default createAtom(({ merge, reset }) => {
if (!result.success) { if (!result.success) {
merge({ merge({
daeUpdateState: "error", daeUpdateState: "error",
daeUpdateError: result.error?.message || "Erreur inconnue", daeUpdateError: userFriendlyDaeError(result.error),
}); });
return; return;
} }