feat(live-activity): widgetURL -> tap ouvre /live (vue native CoachLiveView)

Sur la Dynamic Island compact/minimal ET sur la bannière Lock Screen,
.widgetURL(https://coach.hypnotruck.ch/live) fait que le tap ouvre l'app
sur /live, qui appelle openNativeLive et présente CoachLiveView (Liquid
Glass plein écran) avec toutes les mesures.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sylvain
2026-05-26 19:55:27 +02:00
parent a5795bf83f
commit 4484b3ea47

View File

@@ -15,6 +15,9 @@ struct CoachLiveActivityWidget: Widget {
lockScreenView(context: context) lockScreenView(context: context)
.activityBackgroundTint(Color.black.opacity(0.55)) .activityBackgroundTint(Color.black.opacity(0.55))
.activitySystemActionForegroundColor(.white) .activitySystemActionForegroundColor(.white)
// Tap sur la bannière Lock Screen -> ouvre /live dans l'app
// (qui présente CoachLiveView natif via openNativeLive).
.widgetURL(URL(string: "https://coach.hypnotruck.ch/live"))
} dynamicIsland: { context in } dynamicIsland: { context in
DynamicIsland { DynamicIsland {
@@ -67,6 +70,9 @@ struct CoachLiveActivityWidget: Widget {
.foregroundStyle(.red) .foregroundStyle(.red)
.symbolEffect(.pulse, isActive: context.state.isLive) .symbolEffect(.pulse, isActive: context.state.isLive)
} }
// Tap sur l'île (compact ou minimal) -> ouvre /live dans l'app.
// Pour la vue expanded, c'est le système qui gère le tap = ouvre l'app.
.widgetURL(URL(string: "https://coach.hypnotruck.ch/live"))
.keylineTint(.red) .keylineTint(.red)
} }
} }