68 lines
2.0 KiB
Swift
68 lines
2.0 KiB
Swift
// CxLLM Studio — iOS Application
|
|
// ContentView.swift — Tab-based navigation for iOS
|
|
|
|
import SwiftUI
|
|
import CxCode
|
|
import CxAWS
|
|
import CxGit
|
|
|
|
struct ContentView: View {
|
|
@Environment(AppState.self) private var appState
|
|
@Environment(GatewayService.self) private var gateway
|
|
|
|
var body: some View {
|
|
@Bindable var state = appState
|
|
|
|
TabView(selection: $state.selectedTab) {
|
|
Tab("Chat", systemImage: "bubble.left.and.bubble.right.fill", value: AppState.Tab.chat) {
|
|
NavigationStack {
|
|
ChatView()
|
|
.navigationTitle("Chat")
|
|
}
|
|
}
|
|
|
|
Tab("Models", systemImage: "cpu", value: AppState.Tab.models) {
|
|
NavigationStack {
|
|
ModelsView()
|
|
.navigationTitle("CxModels")
|
|
}
|
|
}
|
|
|
|
Tab("AWS", systemImage: "cloud.fill", value: AppState.Tab.aws) {
|
|
NavigationStack {
|
|
AWSView()
|
|
.navigationTitle("AWS DevOps")
|
|
}
|
|
}
|
|
|
|
Tab("Git", systemImage: "arrow.triangle.branch", value: AppState.Tab.git) {
|
|
NavigationStack {
|
|
GitView()
|
|
.navigationTitle("CxGit")
|
|
}
|
|
}
|
|
|
|
Tab("Agent", systemImage: "bolt.fill", value: AppState.Tab.agent) {
|
|
NavigationStack {
|
|
AgentView()
|
|
.navigationTitle("Agent")
|
|
}
|
|
}
|
|
|
|
Tab("MCP", systemImage: "network", value: AppState.Tab.mcp) {
|
|
NavigationStack {
|
|
MCPView()
|
|
.navigationTitle("MCP")
|
|
}
|
|
}
|
|
|
|
Tab("Settings", systemImage: "gear", value: AppState.Tab.settings) {
|
|
NavigationStack {
|
|
SettingsView()
|
|
.navigationTitle("Settings")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|