mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 11:00:50 +00:00
41 lines
1.2 KiB
Swift
41 lines
1.2 KiB
Swift
import SwiftUI
|
|
|
|
struct DeepLinkAgentPromptAlert: ViewModifier {
|
|
@Environment(NodeAppModel.self) private var appModel: NodeAppModel
|
|
|
|
private var promptBinding: Binding<NodeAppModel.AgentDeepLinkPrompt?> {
|
|
Binding(
|
|
get: { self.appModel.pendingAgentDeepLinkPrompt },
|
|
set: { _ in
|
|
// Keep prompt state until explicit user action.
|
|
})
|
|
}
|
|
|
|
func body(content: Content) -> some View {
|
|
content.alert(item: self.promptBinding) { prompt in
|
|
Alert(
|
|
title: Text("Run OpenClaw agent?"),
|
|
message: Text(
|
|
"""
|
|
Message:
|
|
\(prompt.messagePreview)
|
|
|
|
URL:
|
|
\(prompt.urlPreview)
|
|
"""),
|
|
primaryButton: .cancel(Text("Cancel")) {
|
|
self.appModel.declinePendingAgentDeepLinkPrompt()
|
|
},
|
|
secondaryButton: .default(Text("Run")) {
|
|
Task { await self.appModel.approvePendingAgentDeepLinkPrompt() }
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
extension View {
|
|
func deepLinkAgentPromptAlert() -> some View {
|
|
self.modifier(DeepLinkAgentPromptAlert())
|
|
}
|
|
}
|