Add beta ribbon to macOS image in download view

This commit is contained in:
Nindi Gill 2023-06-09 23:16:28 +10:00
parent d44f185e5d
commit 4837dc37c7
No known key found for this signature in database
GPG key ID: FF9A7FD590D4F4B1
4 changed files with 17 additions and 7 deletions

View file

@ -12,13 +12,20 @@ struct DownloadHeaderView: View {
var name: String
var version: String
var build: String
private let length: CGFloat = 32
var beta: Bool
private let length: CGFloat = 48
var body: some View {
HStack {
ScaledImage(name: imageName, length: length)
ZStack {
ScaledImage(name: imageName, length: length)
if beta {
TextRibbon(title: "BETA", length: length * 0.9)
}
}
Text("\(name) \(version) (\(build))")
.font(.title)
.multilineTextAlignment(.center)
}
.padding()
}
@ -29,7 +36,7 @@ struct DownloadHeaderView_Previews: PreviewProvider {
static let installer: Installer = .example
static var previews: some View {
DownloadHeaderView(imageName: firmware.imageName, name: firmware.name, version: firmware.version, build: firmware.build)
DownloadHeaderView(imageName: installer.imageName, name: installer.name, version: installer.version, build: installer.build)
DownloadHeaderView(imageName: firmware.imageName, name: firmware.name, version: firmware.version, build: firmware.build, beta: false)
DownloadHeaderView(imageName: installer.imageName, name: installer.name, version: installer.version, build: installer.build, beta: false)
}
}

View file

@ -23,6 +23,7 @@ struct DownloadView: View {
var name: String
var version: String
var build: String
var beta: Bool
var destinationURL: URL?
@ObservedObject var taskManager: TaskManager
@State private var value: Double = 0
@ -44,7 +45,7 @@ struct DownloadView: View {
var body: some View {
VStack(spacing: 0) {
DownloadHeaderView(imageName: imageName, name: name, version: version, build: build)
DownloadHeaderView(imageName: imageName, name: name, version: version, build: build, beta: beta)
Divider()
List {
ForEach(taskManager.taskGroups, id: \.section) { taskGroup in
@ -211,7 +212,7 @@ struct DownloadView_Previews: PreviewProvider {
static let installer: Installer = .example
static var previews: some View {
DownloadView(downloadType: .firmware, imageName: firmware.imageName, name: firmware.name, version: firmware.version, build: firmware.build, taskManager: .shared)
DownloadView(downloadType: .installer, imageName: installer.imageName, name: installer.name, version: installer.version, build: installer.build, taskManager: .shared)
DownloadView(downloadType: .firmware, imageName: firmware.imageName, name: firmware.name, version: firmware.version, build: firmware.build, beta: false, taskManager: .shared)
DownloadView(downloadType: .installer, imageName: installer.imageName, name: installer.name, version: installer.version, build: installer.build, beta: false, taskManager: .shared)
}
}

View file

@ -47,6 +47,7 @@ struct FirmwareListRow: View {
name: firmware.name,
version: firmware.version,
build: firmware.build,
beta: firmware.beta,
destinationURL: savePanel.url,
taskManager: taskManager
)

View file

@ -68,6 +68,7 @@ struct InstallerListRow: View {
name: installer.name.replacingOccurrences(of: " beta", with: ""),
version: installer.version,
build: installer.build,
beta: installer.beta,
destinationURL: openPanel.url,
taskManager: taskManager
)