fix(illness): wire P3 engine to UI + OpenAPI, correctness (return-anchor, red-flag, fever, tz), FLARE/edit, guards

This commit is contained in:
Marc-André Bombeck committed 2026-06-16 23:18:40 +02:00
commit d92af094ed
32 files changed
+2379 -272

No files matched your search

+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Begonnen am",
"note": "Notiz",
"notePlaceholder": "Was erwähnenswert ist (verschlüsselt).",
"saveError": "Die Episode konnte nicht gespeichert werden. Bitte erneut versuchen."
"saveError": "Die Episode konnte nicht gespeichert werden. Bitte erneut versuchen.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "{date} erfassen",
@@ -6848,7 +6850,8 @@
"noteSet": "Gesetzt",
"notePlaceholder": "Wie sich der Tag anfühlte (verschlüsselt).",
"severityFor": "Stärke für {symptom}",
"saveError": "Der Tag konnte nicht gespeichert werden. Bitte erneut versuchen."
"saveError": "Der Tag konnte nicht gespeichert werden. Bitte erneut versuchen.",
"day": "Day"
},
"impact": {
"0": "Voll belastbar",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "Noch ein paar abgeschlossene Episoden und hier erscheint eine typische Erholungslücke.",
"byMonth": "Wann du Episoden erfasst",
"none": "In diesem Zeitraum keine Episoden erfasst."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {
+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Started on",
"note": "Note",
"notePlaceholder": "Anything worth remembering (encrypted).",
"saveError": "Could not save the episode. Please try again."
"saveError": "Could not save the episode. Please try again.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "Log {date}",
@@ -6848,7 +6850,8 @@
"noteSet": "Set",
"notePlaceholder": "How the day felt (encrypted).",
"severityFor": "Severity for {symptom}",
"saveError": "Could not save the day. Please try again."
"saveError": "Could not save the day. Please try again.",
"day": "Day"
},
"impact": {
"0": "Fully functional",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "A few more resolved episodes and a typical recovery gap will appear here.",
"byMonth": "When you tend to log episodes",
"none": "No episodes logged in this period."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {
+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Comenzó el",
"note": "Nota",
"notePlaceholder": "Algo que valga la pena recordar (cifrado).",
"saveError": "No se pudo guardar el episodio. Inténtalo de nuevo."
"saveError": "No se pudo guardar el episodio. Inténtalo de nuevo.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "Registrar {date}",
@@ -6848,7 +6850,8 @@
"noteSet": "Definida",
"notePlaceholder": "Cómo te sentiste hoy (cifrado).",
"severityFor": "Gravedad de {symptom}",
"saveError": "No se pudo guardar el día. Inténtalo de nuevo."
"saveError": "No se pudo guardar el día. Inténtalo de nuevo.",
"day": "Day"
},
"impact": {
"0": "Plenamente funcional",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "Con unos pocos episodios resueltos más aparecerá aquí una brecha de recuperación típica.",
"byMonth": "Cuándo sueles registrar episodios",
"none": "Sin episodios registrados en este período."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {
+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Débuté le",
"note": "Note",
"notePlaceholder": "Ce qui mérite d'être noté (chiffré).",
"saveError": "Impossible d'enregistrer l'épisode. Veuillez réessayer."
"saveError": "Impossible d'enregistrer l'épisode. Veuillez réessayer.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "Enregistrer {date}",
@@ -6848,7 +6850,8 @@
"noteSet": "Définie",
"notePlaceholder": "Comment s'est passée la journée (chiffré).",
"severityFor": "Intensité de {symptom}",
"saveError": "Impossible d'enregistrer la journée. Veuillez réessayer."
"saveError": "Impossible d'enregistrer la journée. Veuillez réessayer.",
"day": "Day"
},
"impact": {
"0": "Pleinement fonctionnel",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "Encore quelques épisodes résolus et un écart de récupération typique apparaîtra ici.",
"byMonth": "Quand tu enregistres des épisodes",
"none": "Aucun épisode enregistré sur cette période."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {
+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Iniziato il",
"note": "Nota",
"notePlaceholder": "Qualcosa da ricordare (cifrato).",
"saveError": "Impossibile salvare l'episodio. Riprova."
"saveError": "Impossibile salvare l'episodio. Riprova.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "Registra {date}",
@@ -6848,7 +6850,8 @@
"noteSet": "Impostata",
"notePlaceholder": "Com'è andata la giornata (cifrato).",
"severityFor": "Intensità di {symptom}",
"saveError": "Impossibile salvare la giornata. Riprova."
"saveError": "Impossibile salvare la giornata. Riprova.",
"day": "Day"
},
"impact": {
"0": "Pienamente funzionale",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "Ancora qualche episodio risolto e qui apparirà un divario di recupero tipico.",
"byMonth": "Quando tendi a registrare episodi",
"none": "Nessun episodio registrato in questo periodo."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {
+34 -2
View File
@@ -6836,7 +6836,9 @@
"onset": "Początek",
"note": "Notatka",
"notePlaceholder": "Cokolwiek wartego zapamiętania (zaszyfrowane).",
"saveError": "Nie udało się zapisać epizodu. Spróbuj ponownie."
"saveError": "Nie udało się zapisać epizodu. Spróbuj ponownie.",
"parent": "Part of",
"parentNone": "Not linked"
},
"sheet": {
"title": "Zapisz {date}",
@@ -6848,7 +6850,8 @@
"noteSet": "Ustawiona",
"notePlaceholder": "Jak minął dzień (zaszyfrowane).",
"severityFor": "Nasilenie: {symptom}",
"saveError": "Nie udało się zapisać dnia. Spróbuj ponownie."
"saveError": "Nie udało się zapisać dnia. Spróbuj ponownie.",
"day": "Day"
},
"impact": {
"0": "Pełna sprawność",
@@ -6893,6 +6896,35 @@
"typicalGapLearning": "Jeszcze kilka zakończonych epizodów i pojawi się tu typowa luka rekonwalescencji.",
"byMonth": "Kiedy zwykle zapisujesz epizody",
"none": "Brak epizodów zapisanych w tym okresie."
},
"loadError": "Could not load this episode.",
"backToList": "Back to journal",
"detail": {
"note": "Note"
},
"edit": {
"title": "Edit episode",
"description": "Update this episode's details."
},
"menu": {
"label": "Episode actions"
},
"deleteConfirm": {
"title": "Delete this episode?",
"body": "“{label}” and all its day-logs will be removed. This cannot be undone."
},
"vital": {
"RESTING_HEART_RATE": "Resting heart rate",
"HEART_RATE_VARIABILITY": "Heart-rate variability",
"RECOVERY_SCORE": "Recovery",
"OXYGEN_SATURATION": "Oxygen saturation",
"BODY_TEMPERATURE": "Body temperature",
"SKIN_TEMPERATURE": "Skin temperature",
"RESPIRATORY_RATE": "Respiratory rate",
"BLOOD_PRESSURE_SYS": "Systolic blood pressure",
"BLOOD_PRESSURE_DIA": "Diastolic blood pressure",
"PULSE": "Pulse",
"WEIGHT": "Weight"
}
},
"coach": {