mirror of
https://github.com/maxgoedjen/secretive.git
synced 2025-08-19 11:40:56 +00:00
* Switch to string symbols * Names * Cleanup packages * Cleanup packages * Remove namespace * More cleanup * Fix extra param. * Use swiftbuild
72 lines
2.4 KiB
Swift
72 lines
2.4 KiB
Swift
import SwiftUI
|
|
import SecretKit
|
|
|
|
struct EmptyStoreView: View {
|
|
|
|
@State var store: AnySecretStore?
|
|
|
|
var body: some View {
|
|
if store is AnySecretStoreModifiable {
|
|
EmptyStoreModifiableView()
|
|
} else {
|
|
EmptyStoreImmutableView()
|
|
}
|
|
}
|
|
}
|
|
|
|
struct EmptyStoreImmutableView: View {
|
|
|
|
var body: some View {
|
|
VStack {
|
|
Text(.emptyStoreNonmodifiableTitle).bold()
|
|
Text(.emptyStoreNonmodifiableDescription)
|
|
Text(.emptyStoreNonmodifiableSupportedKeyTypes)
|
|
}.frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
}
|
|
|
|
}
|
|
|
|
struct EmptyStoreModifiableView: View {
|
|
|
|
var body: some View {
|
|
GeometryReader { windowGeometry in
|
|
VStack {
|
|
GeometryReader { g in
|
|
Path { path in
|
|
path.move(to: CGPoint(x: g.size.width / 2, y: g.size.height))
|
|
path.addCurve(to:
|
|
CGPoint(x: g.size.width * (3/4), y: g.size.height * (1/2)), control1:
|
|
CGPoint(x: g.size.width / 2, y: g.size.height * (1/2)), control2:
|
|
CGPoint(x: g.size.width * (3/4), y: g.size.height * (1/2)))
|
|
path.addCurve(to:
|
|
CGPoint(x: g.size.width - 13, y: 0), control1:
|
|
CGPoint(x: g.size.width - 13 , y: g.size.height * (1/2)), control2:
|
|
CGPoint(x: g.size.width - 13, y: 0))
|
|
}.stroke(style: StrokeStyle(lineWidth: 5, lineCap: .round))
|
|
Path { path in
|
|
path.move(to: CGPoint(x: g.size.width - 23, y: 0))
|
|
path.addLine(to: CGPoint(x: g.size.width - 13, y: -10))
|
|
path.addLine(to: CGPoint(x: g.size.width - 3, y: 0))
|
|
}.fill()
|
|
}.frame(height: (windowGeometry.size.height/2) - 20).padding()
|
|
Text(.emptyStoreModifiableClickHereTitle).bold()
|
|
Text(.emptyStoreModifiableClickHereDescription)
|
|
Spacer()
|
|
}.frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
}
|
|
}
|
|
}
|
|
|
|
#if DEBUG
|
|
|
|
struct EmptyStoreModifiableView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
Group {
|
|
EmptyStoreImmutableView()
|
|
EmptyStoreModifiableView()
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|