From 7c3c767b0ab127399ca7e9a87255ae4df174157e Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sun, 13 Sep 2020 23:31:32 -0600 Subject: [PATCH] More cleanup --- Secretive/App.swift | 7 ++++--- Secretive/Views/ContentView.swift | 25 +++++++++++++------------ Secretive/Views/CreateSecretView.swift | 4 ++-- Secretive/Views/DeleteSecretView.swift | 7 ++++--- Secretive/Views/NoStoresView.swift | 2 ++ Secretive/Views/SecretDetailView.swift | 3 ++- Secretive/Views/StoreListView.swift | 5 ++++- Secretive/Views/UpdateView.swift | 3 ++- 8 files changed, 33 insertions(+), 23 deletions(-) diff --git a/Secretive/App.swift b/Secretive/App.swift index 6b7f686..68405f0 100644 --- a/Secretive/App.swift +++ b/Secretive/App.swift @@ -16,12 +16,13 @@ struct AppDelegate: App { let agentStatusChecker = AgentStatusChecker() let justUpdatedChecker = JustUpdatedChecker() - @State var showingSetup = false + @State private var showingSetup = false + @State private var showingCreation = false @AppStorage("defaultsHasRunSetup") var hasRunSetup = false @SceneBuilder var body: some Scene { WindowGroup { - ContentView(runningSetup: $showingSetup) + ContentView(showingCreation: $showingCreation, runningSetup: $showingSetup) .environmentObject(storeList) .environmentObject(updater) .environmentObject(agentStatusChecker) @@ -44,7 +45,7 @@ struct AppDelegate: App { .commands { CommandGroup(after: CommandGroupPlacement.newItem) { Button("New Secret") { - // TODO: Add + showingCreation = true } .keyboardShortcut(KeyboardShortcut(KeyEquivalent("N"), modifiers: .command)) } diff --git a/Secretive/Views/ContentView.swift b/Secretive/Views/ContentView.swift index 717c847..e883dd6 100644 --- a/Secretive/Views/ContentView.swift +++ b/Secretive/Views/ContentView.swift @@ -4,27 +4,28 @@ import Brief struct ContentView: View { - @EnvironmentObject var storeList: SecretStoreList - @EnvironmentObject var updater: UpdaterType - @EnvironmentObject var agentStatusChecker: AgentStatusCheckerType - - @State private var showingCreation = false - @State private var selectedUpdate: Release? + @Binding var showingCreation: Bool @Binding var runningSetup: Bool + @EnvironmentObject private var storeList: SecretStoreList + @EnvironmentObject private var updater: UpdaterType + @EnvironmentObject private var agentStatusChecker: AgentStatusCheckerType + + @State private var selectedUpdate: Release? + var body: some View { VStack { if storeList.anyAvailable { - StoreListView() - .sheet(isPresented: $showingCreation) { - if let store = storeList.modifiableStore { - CreateSecretView(store: store, showing: $showingCreation) - } - } + StoreListView(showingCreation: $showingCreation) } else { NoStoresView() } } + .sheet(isPresented: $showingCreation) { + if let modifiable = storeList.modifiableStore { + CreateSecretView(store: modifiable, showing: $showingCreation) + } + } .frame(minWidth: 640, minHeight: 320) .toolbar { updateNotice diff --git a/Secretive/Views/CreateSecretView.swift b/Secretive/Views/CreateSecretView.swift index 613f734..5753932 100644 --- a/Secretive/Views/CreateSecretView.swift +++ b/Secretive/Views/CreateSecretView.swift @@ -6,8 +6,8 @@ struct CreateSecretView: View { @ObservedObject var store: StoreType @Binding var showing: Bool - @State var name = "" - @State var requiresAuthentication = true + @State private var name = "" + @State private var requiresAuthentication = true var body: some View { VStack { diff --git a/Secretive/Views/DeleteSecretView.swift b/Secretive/Views/DeleteSecretView.swift index 7822565..c336d40 100644 --- a/Secretive/Views/DeleteSecretView.swift +++ b/Secretive/Views/DeleteSecretView.swift @@ -3,11 +3,11 @@ import SecretKit struct DeleteSecretView: View { - let secret: StoreType.SecretType @ObservedObject var store: StoreType - @State var confirm = "" - + @State private var confirm = "" + + private let secret: StoreType.SecretType private var dismissalBlock: (Bool) -> () init(secret: StoreType.SecretType, store: StoreType, dismissalBlock: @escaping (Bool) -> ()) { @@ -60,4 +60,5 @@ struct DeleteSecretView: View { try! store.delete(secret: secret) dismissalBlock(true) } + } diff --git a/Secretive/Views/NoStoresView.swift b/Secretive/Views/NoStoresView.swift index e61caef..e9b11ce 100644 --- a/Secretive/Views/NoStoresView.swift +++ b/Secretive/Views/NoStoresView.swift @@ -1,6 +1,7 @@ import SwiftUI struct NoStoresView: View { + var body: some View { VStack { Text("No Secure Storage Available").bold() @@ -12,6 +13,7 @@ struct NoStoresView: View { } }.padding() } + } struct NoStoresView_Previews: PreviewProvider { diff --git a/Secretive/Views/SecretDetailView.swift b/Secretive/Views/SecretDetailView.swift index 7aa6422..e081351 100644 --- a/Secretive/Views/SecretDetailView.swift +++ b/Secretive/Views/SecretDetailView.swift @@ -4,7 +4,8 @@ import SecretKit struct SecretDetailView: View { @State var secret: SecretType - let keyWriter = OpenSSHKeyWriter() + + private let keyWriter = OpenSSHKeyWriter() var body: some View { Form { diff --git a/Secretive/Views/StoreListView.swift b/Secretive/Views/StoreListView.swift index 53aae63..7730930 100644 --- a/Secretive/Views/StoreListView.swift +++ b/Secretive/Views/StoreListView.swift @@ -3,10 +3,12 @@ import SecretKit struct StoreListView: View { + @Binding var showingCreation: Bool + @State private var activeSecret: AnySecret.ID? @State private var deletingSecret: AnySecret? - @EnvironmentObject var storeList: SecretStoreList + @EnvironmentObject private var storeList: SecretStoreList var body: some View { NavigationView { @@ -31,6 +33,7 @@ struct StoreListView: View { } .frame(minWidth: 100, idealWidth: 240) } + } } diff --git a/Secretive/Views/UpdateView.swift b/Secretive/Views/UpdateView.swift index 5a04228..4f5c890 100644 --- a/Secretive/Views/UpdateView.swift +++ b/Secretive/Views/UpdateView.swift @@ -3,9 +3,10 @@ import Brief struct UpdateDetailView: View { - private let update: Release @EnvironmentObject var updater: UpdaterType + private let update: Release + init(update: Release) { self.update = update }