mirror of
https://github.com/XcodesOrg/XcodesApp.git
synced 2026-03-29 09:35:47 +00:00
68 lines
1.6 KiB
Swift
68 lines
1.6 KiB
Swift
//
|
|
// NotInstalledStateButtonsView.swift
|
|
// Xcodes
|
|
//
|
|
// Created by Duong Thai on 13/10/2023.
|
|
// Copyright © 2023 Robots and Pencils. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
import Version
|
|
|
|
struct NotInstalledStateButtons: View {
|
|
let downloadFileSizeString: String?
|
|
let id: Version
|
|
|
|
@EnvironmentObject var appState: AppState
|
|
|
|
var body: some View {
|
|
VStack(alignment: .leading) {
|
|
Button {
|
|
appState.checkMinVersionAndInstall(id: id)
|
|
} label: {
|
|
Text("Install") .help("Install")
|
|
}
|
|
|
|
if let size = downloadFileSizeString {
|
|
Text("DownloadSize")
|
|
.font(.headline)
|
|
Text(size)
|
|
.font(.subheadline)
|
|
} else {
|
|
EmptyView()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
struct NotInstalledStateButtons_Preview: PreviewProvider {
|
|
static var previews: some View {
|
|
WrapperView()
|
|
}
|
|
}
|
|
|
|
private struct WrapperView: View {
|
|
@State var isSizeNil = false
|
|
|
|
var downloadFileSizeString: String? {
|
|
isSizeNil
|
|
? nil
|
|
: "1,19 GB"
|
|
}
|
|
|
|
var body: some View {
|
|
VStack {
|
|
NotInstalledStateButtons(
|
|
downloadFileSizeString: downloadFileSizeString,
|
|
id: Version(major: 12, minor: 3, patch: 0)
|
|
)
|
|
.border(.red)
|
|
Spacer()
|
|
Toggle(isOn: $isSizeNil) {
|
|
Text("Is Size Nil?")
|
|
}
|
|
}
|
|
.frame(width: 200, height: 100)
|
|
.padding()
|
|
}
|
|
}
|