summaryrefslogtreecommitdiff
path: root/Sora/Views/Generic
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-09 07:07:26 -0700
committerFuwn <[email protected]>2025-06-09 07:07:26 -0700
commit3433214836683615269f91d775fc208a633ea534 (patch)
tree1b671c2bb8beb7bb342044b0c0a1022e5f5b1943 /Sora/Views/Generic
parentfeat: Development commit (diff)
downloadsora-testing-3433214836683615269f91d775fc208a633ea534.tar.xz
sora-testing-3433214836683615269f91d775fc208a633ea534.zip
feat: Development commit
Diffstat (limited to 'Sora/Views/Generic')
-rw-r--r--Sora/Views/Generic/GenericItemView.swift8
-rw-r--r--Sora/Views/Generic/GenericListView.swift16
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")
}