fixed color crash
This commit is contained in:
@@ -23,6 +23,7 @@ struct PreferencesView: View {
|
||||
}
|
||||
}
|
||||
@EnvironmentObject private var sparkleUpdater: SparkleUpdater
|
||||
@Environment(\.colorScheme) private var colorScheme
|
||||
|
||||
@AppStorage("pingInterval") private var storedPingInterval: Int = 10
|
||||
@AppStorage("refreshInterval") private var storedRefreshInterval: Int = 60
|
||||
@@ -143,12 +144,39 @@ struct PreferencesView: View {
|
||||
}
|
||||
private func backgroundColor(for tab: Tab) -> Color {
|
||||
if selection == tab {
|
||||
return Color.accentColor
|
||||
return sidebarSelectionColor
|
||||
}
|
||||
if hoveredTab == tab {
|
||||
return Color.accentColor.opacity(0.2)
|
||||
return sidebarHoverColor
|
||||
}
|
||||
return sidebarBaseColor
|
||||
}
|
||||
|
||||
private var sidebarSelectionColor: Color {
|
||||
switch colorScheme {
|
||||
case .dark:
|
||||
return Color(red: 0.22, green: 0.45, blue: 0.88)
|
||||
default:
|
||||
return Color(red: 0.10, green: 0.39, blue: 0.90)
|
||||
}
|
||||
}
|
||||
|
||||
private var sidebarHoverColor: Color {
|
||||
switch colorScheme {
|
||||
case .dark:
|
||||
return Color(red: 0.20, green: 0.22, blue: 0.27)
|
||||
default:
|
||||
return Color(red: 0.87, green: 0.91, blue: 0.98)
|
||||
}
|
||||
}
|
||||
|
||||
private var sidebarBaseColor: Color {
|
||||
switch colorScheme {
|
||||
case .dark:
|
||||
return Color(red: 0.15, green: 0.16, blue: 0.19)
|
||||
default:
|
||||
return Color(red: 0.96, green: 0.97, blue: 0.99)
|
||||
}
|
||||
return Color.accentColor.opacity(0.08)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ import SwiftUI
|
||||
struct ResourcesView: View {
|
||||
@Binding var server: Server
|
||||
|
||||
private var displayInfo: ServerInfo {
|
||||
server.info ?? .placeholder
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
GeometryReader { geometry in
|
||||
ScrollView {
|
||||
@@ -25,40 +29,40 @@ struct ResourcesView: View {
|
||||
Text("CPU Load")
|
||||
} value: {
|
||||
LoadBarCell(
|
||||
percent: (server.info?.load.percent)!,
|
||||
load1: (server.info?.load.minute1)!,
|
||||
load5: (server.info?.load.minute5)!,
|
||||
load15: (server.info?.load.minute15)!
|
||||
percent: displayInfo.load.percent,
|
||||
load1: displayInfo.load.minute1,
|
||||
load5: displayInfo.load.minute5,
|
||||
load15: displayInfo.load.minute15
|
||||
)
|
||||
}
|
||||
TableRowView {
|
||||
Text("Memory")
|
||||
} value: {
|
||||
UsageBarCell(
|
||||
free: (server.info?.memory.free)!,
|
||||
used: (server.info?.memory.used)!,
|
||||
total: (server.info?.memory.total)!,
|
||||
percent: (server.info?.memory.percent)!
|
||||
free: displayInfo.memory.free,
|
||||
used: displayInfo.memory.used,
|
||||
total: displayInfo.memory.total,
|
||||
percent: displayInfo.memory.percent
|
||||
)
|
||||
}
|
||||
TableRowView {
|
||||
Text("Swap")
|
||||
} value: {
|
||||
UsageBarCell(
|
||||
free: (server.info?.swap.free)!,
|
||||
used: (server.info?.swap.used)!,
|
||||
total: (server.info?.swap.total)!,
|
||||
percent: (server.info?.swap.percent)!
|
||||
free: displayInfo.swap.free,
|
||||
used: displayInfo.swap.used,
|
||||
total: displayInfo.swap.total,
|
||||
percent: displayInfo.swap.percent
|
||||
)
|
||||
}
|
||||
TableRowView {
|
||||
Text("SSD")
|
||||
} value: {
|
||||
UsageBarCell(
|
||||
free: (server.info?.diskSpace.free)!,
|
||||
used: (server.info?.diskSpace.used)!,
|
||||
total: (server.info?.diskSpace.total)!,
|
||||
percent: (server.info?.diskSpace.percent)!
|
||||
free: displayInfo.diskSpace.free,
|
||||
used: displayInfo.diskSpace.used,
|
||||
total: displayInfo.diskSpace.total,
|
||||
percent: displayInfo.diskSpace.percent
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user