Prompts for empty stores (#31)

* Preview content

* Empty views.

* Cleanup

* Better sizing
This commit is contained in:
Max Goedjen
2020-03-11 00:02:17 -07:00
committed by GitHub
parent 8a6e72e73c
commit e4178d35d8
4 changed files with 118 additions and 21 deletions

View File

@@ -23,15 +23,15 @@ extension Preview {
let isAvailable = true
let id = UUID()
let name = "Preview Store"
var name: String { "Preview Store" }
@Published var secrets: [Secret] = []
init(secrets: [Secret]) {
self.secrets.append(contentsOf: secrets)
}
init(numberOfRandomSecrets: Int) {
let new = (0...numberOfRandomSecrets).map { Secret(name: String(describing: $0)) }
init(numberOfRandomSecrets: Int = 5) {
let new = (0..<numberOfRandomSecrets).map { Secret(name: String(describing: $0)) }
self.secrets.append(contentsOf: new)
}
@@ -39,9 +39,32 @@ extension Preview {
return data
}
func delete(secret: Preview.Secret) throws {
}
class StoreModifiable: Store, SecretStoreModifiable {
override var name: String { "Modifiable Preview Store" }
func create(name: String, requiresAuthentication: Bool) throws {
}
func delete(secret: Preview.Secret) 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
}
}