diff --git a/Sources/Secretive/Preview Content/PreviewStore.swift b/Sources/Secretive/Preview Content/PreviewStore.swift index f9d631c..c3b02a3 100644 --- a/Sources/Secretive/Preview Content/PreviewStore.swift +++ b/Sources/Secretive/Preview Content/PreviewStore.swift @@ -18,69 +18,101 @@ extension Preview { } -//extension Preview { -// -// class Store: SecretStore, ObservableObject { -// -// let isAvailable = true -// let id = UUID() -// var name: String { "Preview Store" } -// @Published var secrets: [Secret] = [] -// -// init(secrets: [Secret]) { -// self.secrets.append(contentsOf: secrets) -// } -// -// init(numberOfRandomSecrets: Int = 5) { -// let new = (0.. Data { -// return data -// } -// -// func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool { -// true -// } -// -// func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? { -// nil -// } -// -// func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws { -// } -// -// func reloadSecrets() { -// } -// -// } -// -// class StoreModifiable: Store, SecretStoreModifiable { -// override var name: String { "Modifiable Preview Store" } -// -// func create(name: String, requiresAuthentication: Bool) throws { -// } -// -// func delete(secret: Preview.Secret) throws { -// } -// -// func update(secret: Preview.Secret, name: String) throws { -// } -// } -//} -// -//extension Preview { -// -// static func storeList(stores: [Store] = [], modifiableStores: [StoreModifiable] = []) -> SecretStoreList { -// let list = SecretStoreList() -// for store in stores { -// list.add(store: store) -// } -// for storeModifiable in modifiableStores { -// list.add(store: storeModifiable) -// } -// return list -// } -// -//} +extension Preview { + + final class Store: SecretStore, ObservableObject { + + let isAvailable = true + let id = UUID() + var name: String { "Preview Store" } + let secrets: [Secret] + + init(secrets: [Secret]) { + self.secrets = secrets + } + + convenience init(numberOfRandomSecrets: Int = 5) { + let new = (0.. Data { + return data + } + + func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool { + true + } + + func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? { + nil + } + + func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws { + } + + func reloadSecrets() { + } + + } + + final class StoreModifiable: SecretStoreModifiable { + + let isAvailable = true + let id = UUID() + var name: String { "Modifiable Preview Store" } + let secrets: [Secret] + + init(secrets: [Secret]) { + self.secrets = secrets + } + + convenience init(numberOfRandomSecrets: Int = 5) { + let new = (0.. Data { + return data + } + + func verify(signature data: Data, for signature: Data, with secret: Preview.Secret) throws -> Bool { + true + } + + func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? { + nil + } + + func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws { + } + + func reloadSecrets() { + } + + + func create(name: String, requiresAuthentication: Bool) throws { + } + + func delete(secret: Preview.Secret) throws { + } + + func update(secret: Preview.Secret, name: String) throws { + } + } +} + +extension Preview { + + static func storeList(stores: [Store] = [], modifiableStores: [StoreModifiable] = []) -> SecretStoreList { + let list = SecretStoreList() + for store in stores { + list.add(store: store) + } + for storeModifiable in modifiableStores { + list.add(store: storeModifiable) + } + return list + } + +} diff --git a/Sources/Secretive/Views/CreateSecretView.swift b/Sources/Secretive/Views/CreateSecretView.swift index 60eac1f..3dcc20d 100644 --- a/Sources/Secretive/Views/CreateSecretView.swift +++ b/Sources/Secretive/Views/CreateSecretView.swift @@ -232,19 +232,19 @@ struct NotificationView: View { } -//#if DEBUG -// -//struct CreateSecretView_Previews: PreviewProvider { -// -// static var previews: some View { -// Group { -// CreateSecretView(store: Preview.StoreModifiable(), showing: .constant(true)) -// AuthenticationView().environment(\.colorScheme, .dark) -// AuthenticationView().environment(\.colorScheme, .light) -// NotificationView().environment(\.colorScheme, .dark) -// NotificationView().environment(\.colorScheme, .light) -// } -// } -//} -// -//#endif +#if DEBUG + +struct CreateSecretView_Previews: PreviewProvider { + + static var previews: some View { + Group { + CreateSecretView(store: Preview.StoreModifiable(), showing: .constant(true)) + AuthenticationView().environment(\.colorScheme, .dark) + AuthenticationView().environment(\.colorScheme, .light) + NotificationView().environment(\.colorScheme, .dark) + NotificationView().environment(\.colorScheme, .light) + } + } +} + +#endif