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:
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user