This commit is contained in:
anlicheng 2026-02-28 12:10:43 +08:00
parent 1e4e10f847
commit 38ed560122

View File

@ -23,45 +23,47 @@ struct SettingsView: View {
var body: some View { var body: some View {
NavigationSplitView(columnVisibility: $columnVisibility) { NavigationSplitView(columnVisibility: $columnVisibility) {
List(MenuItem.allCases, id: \.self) { menu in List(MenuItem.allCases, id: \.self, selection: $selectedMenu) { menu in
HStack(alignment: .center) { HStack(alignment: .center) {
Rectangle() // Rectangle()
.frame(width: 3, height: 25) // .frame(width: 3, height: 25)
.foregroundColor(self.selectedMenu == menu ? .black : .clear) // .foregroundColor(self.selectedMenu == menu ? .black : .clear)
Text(menu.rawValue) Text(menu.rawValue)
Spacer() Spacer()
} }
.contentShape(Rectangle()) // .contentShape(Rectangle())
.onTapGesture { // .onTapGesture {
self.selectedMenu = menu // self.selectedMenu = menu
} // }
.onHover { inside in // .onHover { inside in
hovering = inside // hovering = inside
if inside { // if inside {
NSCursor.pointingHand.push() // NSCursor.pointingHand.push()
} else { // } else {
NSCursor.pop() // NSCursor.pop()
} // }
} // }
} }
.listStyle(.sidebar) .listStyle(.sidebar)
.frame(minWidth: 180, idealWidth: 200, maxWidth: 250) .frame(minWidth: 180, idealWidth: 200, maxWidth: 250)
} detail: { } detail: {
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 0) {
switch self.selectedMenu { Group {
case .accout: switch self.selectedMenu {
SettingsAccountView(state: self.state) case .accout:
case .network: SettingsAccountView(state: self.state)
SettingsNetworkView(state: self.state) case .network:
case .device: SettingsNetworkView(state: self.state)
SettingsDeviceView() case .device:
case .system: SettingsDeviceView()
SettingsSystemView() case .system:
case .about: SettingsSystemView()
SettingsAboutView() case .about:
SettingsAboutView()
}
} }
Spacer() Spacer()
} }