Le widget disait « JOUR OFF » les jours de sortie non planifiee
Pendant du commit web 25f53b5. Quand la seance prevue est remplacee par une autre activite, le plan du jour se vide : le widget iPhone affichait « JOUR OFF / Pas de seance prevue » et la complication Watch « Jour OFF » — le jour meme d'une sortie de 20 km. Le snapshot ne portait que le PLAN. CoachWidgetSnapshot gagne doneToday (sport, titre, sous-titre), optionnel : un snapshot ecrit par une version anterieure reste decodable. today decrit le plan, doneToday decrit la journee ; les deux peuvent coexister. CoachWidgetBridge le conserve quand l'appel l'omet, comme la nutrition — mais seulement si le snapshot precedent date d'aujourd'hui, sinon la sortie de la veille resterait affichee indefiniment. Les deux vues basculent sur l'activite realisee, avec la pastille verte « Realisee » deja utilisee pour une seance planifiee faite. Le sous-titre (« 20,3 km · 56 min ») passe devant le titre : le titre d'une seance importee est souvent vide. ⚠️ NON COMPILE — a builder au prochain passage sur le Mac. Aucun fichier nouveau, donc rien a cabler dans le pbxproj : les quatre fichiers touches sont deja membres de leurs cibles. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -162,6 +162,25 @@ struct CoachWatchSessionView: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if let d = entry.snapshot?.doneToday {
|
||||
/* Rien au plan, mais quelque chose a été fait : le plan se vide
|
||||
quand l'activité est remplacée (« j'ai fait du VTT »).
|
||||
Afficher « Jour OFF » ce jour-là est faux au poignet de
|
||||
quelqu'un qui vient de rentrer de sortie. */
|
||||
if family == .accessoryInline {
|
||||
Label(d.subtitle ?? watchSportLabel(d.sport),
|
||||
systemImage: watchSportSymbol(d.sport))
|
||||
} else {
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Label(watchSportLabel(d.sport).uppercased(),
|
||||
systemImage: watchSportSymbol(d.sport))
|
||||
.font(.caption2.weight(.bold))
|
||||
.foregroundStyle(.secondary)
|
||||
Text(d.subtitle ?? d.title ?? "Séance réalisée")
|
||||
.font(.headline).lineLimit(1)
|
||||
Text("Réalisée").font(.caption2).foregroundStyle(.green)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if family == .accessoryInline {
|
||||
Label("Jour OFF", systemImage: "moon.zzz.fill")
|
||||
|
||||
Reference in New Issue
Block a user