Refactor to use consolidated CommandClient

This commit is contained in:
世界
2025-11-26 22:25:48 +08:00
parent b71cbae382
commit 39b10d707e
11 changed files with 79 additions and 99 deletions
@@ -4,7 +4,7 @@ import SwiftUI
@MainActor
public struct ClashModeView: View {
@Environment(\.scenePhase) private var scenePhase
@EnvironmentObject private var commandClient: CommandClient
@StateObject private var viewModel = ClashModeViewModel()
public init() {}
@@ -29,13 +29,7 @@ public struct ClashModeView: View {
}
.padding([.leading, .trailing])
.onAppear {
viewModel.connect()
}
.onDisappear {
viewModel.disconnect()
}
.onChangeCompat(of: scenePhase) { newValue in
viewModel.handleScenePhase(newValue)
viewModel.setCommandClient(commandClient)
}
.alertBinding($viewModel.alert)
}