fixed color crash
This commit is contained in:
@@ -23,6 +23,7 @@ struct PreferencesView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@EnvironmentObject private var sparkleUpdater: SparkleUpdater
|
@EnvironmentObject private var sparkleUpdater: SparkleUpdater
|
||||||
|
@Environment(\.colorScheme) private var colorScheme
|
||||||
|
|
||||||
@AppStorage("pingInterval") private var storedPingInterval: Int = 10
|
@AppStorage("pingInterval") private var storedPingInterval: Int = 10
|
||||||
@AppStorage("refreshInterval") private var storedRefreshInterval: Int = 60
|
@AppStorage("refreshInterval") private var storedRefreshInterval: Int = 60
|
||||||
@@ -143,12 +144,39 @@ struct PreferencesView: View {
|
|||||||
}
|
}
|
||||||
private func backgroundColor(for tab: Tab) -> Color {
|
private func backgroundColor(for tab: Tab) -> Color {
|
||||||
if selection == tab {
|
if selection == tab {
|
||||||
return Color.accentColor
|
return sidebarSelectionColor
|
||||||
}
|
}
|
||||||
if hoveredTab == tab {
|
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 {
|
struct ResourcesView: View {
|
||||||
@Binding var server: Server
|
@Binding var server: Server
|
||||||
|
|
||||||
|
private var displayInfo: ServerInfo {
|
||||||
|
server.info ?? .placeholder
|
||||||
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
GeometryReader { geometry in
|
GeometryReader { geometry in
|
||||||
ScrollView {
|
ScrollView {
|
||||||
@@ -25,40 +29,40 @@ struct ResourcesView: View {
|
|||||||
Text("CPU Load")
|
Text("CPU Load")
|
||||||
} value: {
|
} value: {
|
||||||
LoadBarCell(
|
LoadBarCell(
|
||||||
percent: (server.info?.load.percent)!,
|
percent: displayInfo.load.percent,
|
||||||
load1: (server.info?.load.minute1)!,
|
load1: displayInfo.load.minute1,
|
||||||
load5: (server.info?.load.minute5)!,
|
load5: displayInfo.load.minute5,
|
||||||
load15: (server.info?.load.minute15)!
|
load15: displayInfo.load.minute15
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
TableRowView {
|
TableRowView {
|
||||||
Text("Memory")
|
Text("Memory")
|
||||||
} value: {
|
} value: {
|
||||||
UsageBarCell(
|
UsageBarCell(
|
||||||
free: (server.info?.memory.free)!,
|
free: displayInfo.memory.free,
|
||||||
used: (server.info?.memory.used)!,
|
used: displayInfo.memory.used,
|
||||||
total: (server.info?.memory.total)!,
|
total: displayInfo.memory.total,
|
||||||
percent: (server.info?.memory.percent)!
|
percent: displayInfo.memory.percent
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
TableRowView {
|
TableRowView {
|
||||||
Text("Swap")
|
Text("Swap")
|
||||||
} value: {
|
} value: {
|
||||||
UsageBarCell(
|
UsageBarCell(
|
||||||
free: (server.info?.swap.free)!,
|
free: displayInfo.swap.free,
|
||||||
used: (server.info?.swap.used)!,
|
used: displayInfo.swap.used,
|
||||||
total: (server.info?.swap.total)!,
|
total: displayInfo.swap.total,
|
||||||
percent: (server.info?.swap.percent)!
|
percent: displayInfo.swap.percent
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
TableRowView {
|
TableRowView {
|
||||||
Text("SSD")
|
Text("SSD")
|
||||||
} value: {
|
} value: {
|
||||||
UsageBarCell(
|
UsageBarCell(
|
||||||
free: (server.info?.diskSpace.free)!,
|
free: displayInfo.diskSpace.free,
|
||||||
used: (server.info?.diskSpace.used)!,
|
used: displayInfo.diskSpace.used,
|
||||||
total: (server.info?.diskSpace.total)!,
|
total: displayInfo.diskSpace.total,
|
||||||
percent: (server.info?.diskSpace.percent)!
|
percent: displayInfo.diskSpace.percent
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user