Redesign dashboard
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import Libbox
|
||||
import Library
|
||||
import SwiftUI
|
||||
|
||||
public struct TrafficTotalCard: View {
|
||||
@EnvironmentObject private var commandClient: CommandClient
|
||||
|
||||
public init() {}
|
||||
|
||||
public var body: some View {
|
||||
DashboardCardView(title: "Traffic Total", isHalfWidth: true) {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
if ApplicationLibrary.inPreview {
|
||||
CardLine(String(localized: "Uplink"), "52 MB")
|
||||
CardLine(String(localized: "Downlink"), "5.6 GB")
|
||||
} else if let message = commandClient.status, message.trafficAvailable {
|
||||
CardLine(String(localized: "Uplink"), LibboxFormatBytes(message.uplinkTotal))
|
||||
CardLine(String(localized: "Downlink"), LibboxFormatBytes(message.downlinkTotal))
|
||||
} else {
|
||||
CardLine(String(localized: "Uplink"), "...")
|
||||
CardLine(String(localized: "Downlink"), "...")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private struct CardLine: View {
|
||||
private let name: String
|
||||
private let value: String
|
||||
|
||||
init(_ name: String, _ value: String) {
|
||||
self.name = name
|
||||
self.value = value
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
HStack {
|
||||
Text(name)
|
||||
.font(.subheadline)
|
||||
.foregroundColor(.secondary)
|
||||
Spacer()
|
||||
Text(value)
|
||||
.font(.subheadline)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user