From 4484b3ea47b2dbc6b4e17dfa557e9aceb556a7c2 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Tue, 26 May 2026 19:55:27 +0200 Subject: [PATCH] feat(live-activity): widgetURL -> tap ouvre /live (vue native CoachLiveView) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- ios/App/CoachLiveActivity/CoachLiveActivityWidget.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ios/App/CoachLiveActivity/CoachLiveActivityWidget.swift b/ios/App/CoachLiveActivity/CoachLiveActivityWidget.swift index 7571aff..8b2efb9 100644 --- a/ios/App/CoachLiveActivity/CoachLiveActivityWidget.swift +++ b/ios/App/CoachLiveActivity/CoachLiveActivityWidget.swift @@ -15,6 +15,9 @@ struct CoachLiveActivityWidget: Widget { lockScreenView(context: context) .activityBackgroundTint(Color.black.opacity(0.55)) .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 { @@ -67,6 +70,9 @@ struct CoachLiveActivityWidget: Widget { .foregroundStyle(.red) .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) } }