diff options
Diffstat (limited to 'Sora/Views/Generic')
| -rw-r--r-- | Sora/Views/Generic/GenericListView.swift | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Sora/Views/Generic/GenericListView.swift b/Sora/Views/Generic/GenericListView.swift index b87b633..05f837d 100644 --- a/Sora/Views/Generic/GenericListView.swift +++ b/Sora/Views/Generic/GenericListView.swift @@ -213,10 +213,15 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { // swi } ForEach(settings.folders, id: \.id) { folder in + let isCollectionPopulated = settings.bookmarks.contains { bookmark in + bookmark.folder == folder.id + } + Button(folder.name) { selectedFolder = folder.id isCollectionPickerPresented = false } + .disabled(!isCollectionPopulated) } } } @@ -234,10 +239,15 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { // swi } ForEach(BooruProvider.allCases, id: \.rawValue) { provider in + let isProviderBookmarked = settings.bookmarks.contains { bookmark in + bookmark.provider.rawValue == provider.rawValue + } + Button(provider.rawValue) { selectedProvider = provider isProviderPickerPresented = false } + .disabled(!isProviderBookmarked) } } } |