39 lines
1.2 KiB
Swift
39 lines
1.2 KiB
Swift
import ClawdbotChatUI
|
|
import SwiftUI
|
|
|
|
struct ChatSheet: View {
|
|
@Environment(\.dismiss) private var dismiss
|
|
@State private var viewModel: ClawdbotChatViewModel
|
|
private let userAccent: Color?
|
|
|
|
init(bridge: BridgeSession, sessionKey: String, userAccent: Color? = nil) {
|
|
let transport = IOSBridgeChatTransport(bridge: bridge)
|
|
self._viewModel = State(
|
|
initialValue: ClawdbotChatViewModel(
|
|
sessionKey: sessionKey,
|
|
transport: transport))
|
|
self.userAccent = userAccent
|
|
}
|
|
|
|
var body: some View {
|
|
NavigationStack {
|
|
ClawdbotChatView(
|
|
viewModel: self.viewModel,
|
|
showsSessionSwitcher: true,
|
|
userAccent: self.userAccent)
|
|
.navigationTitle("Chat")
|
|
.navigationBarTitleDisplayMode(.inline)
|
|
.toolbar {
|
|
ToolbarItem(placement: .topBarTrailing) {
|
|
Button {
|
|
self.dismiss()
|
|
} label: {
|
|
Image(systemName: "xmark")
|
|
}
|
|
.accessibilityLabel("Close")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|