diff options
| author | Fuwn <[email protected]> | 2025-06-09 07:07:26 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-06-09 07:07:26 -0700 |
| commit | 3433214836683615269f91d775fc208a633ea534 (patch) | |
| tree | 1b671c2bb8beb7bb342044b0c0a1022e5f5b1943 /Sora/Views/Generic | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-3433214836683615269f91d775fc208a633ea534.tar.xz sora-testing-3433214836683615269f91d775fc208a633ea534.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Views/Generic')
| -rw-r--r-- | Sora/Views/Generic/GenericItemView.swift | 8 | ||||
| -rw-r--r-- | Sora/Views/Generic/GenericListView.swift | 16 |
2 files changed, 12 insertions, 12 deletions
diff --git a/Sora/Views/Generic/GenericItemView.swift b/Sora/Views/Generic/GenericItemView.swift index 6969677..be5611a 100644 --- a/Sora/Views/Generic/GenericItemView.swift +++ b/Sora/Views/Generic/GenericItemView.swift @@ -17,8 +17,8 @@ struct GenericItemView<T: GenericItem>: View { .font(.caption) .foregroundStyle(Color.secondary) - if let folder = item.folder { - Text("In \(folder.name)") + if let folder = item.folder, let folderName = settings.folderName(forID: folder) { + Text("In \(folderName)") .font(.caption) .foregroundStyle(Color.secondary) } @@ -34,8 +34,8 @@ struct GenericItemView<T: GenericItem>: View { .font(.caption) .foregroundStyle(Color.secondary) - if let folder = item.folder { - Text("In \(folder.name)") + if let folder = item.folder, let folderName = settings.folderName(forID: folder) { + Text("In \(folderName)") .font(.caption) .foregroundStyle(Color.secondary) } diff --git a/Sora/Views/Generic/GenericListView.swift b/Sora/Views/Generic/GenericListView.swift index 8666e3c..54a8fab 100644 --- a/Sora/Views/Generic/GenericListView.swift +++ b/Sora/Views/Generic/GenericListView.swift @@ -11,7 +11,7 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { @State private var newCollectionName = "" @State private var itemPendingCollectionAssignment: UUID? @State private var isCollectionErrorAlertPresented = false - @State private var selectedFolder: SettingsFolder? + @State private var selectedFolder: UUID? let allowBookmarking: Bool let title: String let emptyMessage: String @@ -25,7 +25,7 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { let removeAllAction: () -> Void var filteredItems: [T] { items.filter { item in - let matchesFolder = selectedFolder == nil || item.folder?.id == selectedFolder?.id + let matchesFolder = selectedFolder == nil || item.folder == selectedFolder let matchesSearch = searchText.isEmpty || item.tags @@ -49,10 +49,10 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { } else { if !settings.folders.isEmpty && !allowBookmarking { Picker("Collection", selection: $selectedFolder) { - Text("All").tag(nil as SettingsFolder?) + Text("All").tag(nil as UUID?) ForEach(settings.folders, id: \.id) { folder in - Text(folder.name).tag(folder) + Text(folder.name).tag(folder.id) } } .pickerStyle(.menu) @@ -77,11 +77,11 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { .onDelete(perform: removeAction) } .searchable(text: $searchText) + .refreshable { settings.syncFromCloud() } } } } .navigationTitle(title) - .refreshable { settings.syncFromCloud() } .toolbar { ToolbarItem { Button(action: { @@ -119,7 +119,7 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { settings.folders.append(newFolder) if let id = itemPendingCollectionAssignment { - settings.updateBookmarkFolder(withID: id, folder: newFolder) + settings.updateBookmarkFolder(withID: id, folder: newFolder.id) } itemPendingCollectionAssignment = nil @@ -170,9 +170,9 @@ struct GenericListView<T: Identifiable & Hashable & GenericItem>: View { Menu("\(item.folder != nil ? "Move" : "Add") to Collection") { ForEach(settings.folders, id: \.id) { folder in - if item.folder?.id != folder.id { + if item.folder != folder.id { Button(action: { - settings.updateBookmarkFolder(withID: item.id, folder: folder) + settings.updateBookmarkFolder(withID: item.id, folder: folder.id) }) { Label(folder.name, systemImage: "folder") } |