summaryrefslogtreecommitdiff
path: root/Sora/Views/FavoriteMenuButtonView.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-10-05 05:25:36 -0700
committerFuwn <[email protected]>2025-10-05 05:25:36 -0700
commit890e65f187624d6604f5102acf4dc3d1931b848f (patch)
tree21b9345a8dcfa301787f3eac166ced81186efef3 /Sora/Views/FavoriteMenuButtonView.swift
parentfeat: Development commit (diff)
downloadsora-testing-890e65f187624d6604f5102acf4dc3d1931b848f.tar.xz
sora-testing-890e65f187624d6604f5102acf4dc3d1931b848f.zip
feat: Development commit
Diffstat (limited to 'Sora/Views/FavoriteMenuButtonView.swift')
-rw-r--r--Sora/Views/FavoriteMenuButtonView.swift22
1 files changed, 22 insertions, 0 deletions
diff --git a/Sora/Views/FavoriteMenuButtonView.swift b/Sora/Views/FavoriteMenuButtonView.swift
index aeb360b..ce442e2 100644
--- a/Sora/Views/FavoriteMenuButtonView.swift
+++ b/Sora/Views/FavoriteMenuButtonView.swift
@@ -32,6 +32,28 @@ struct FavoriteMenuButtonView: View {
ForEach(topLevelFolders.keys.sorted(), id: \.self) { topLevelName in
Menu {
+ let topLevelFolder = settings.folders.first(where: { $0.name == topLevelName })
+
+ if let topLevelFolder {
+ Button(action: {
+ settings.addFavorite(post: post, provider: manager.provider, folder: topLevelFolder.id)
+ }) {
+ Text("Uncategorized")
+ }
+ .disabled(isFavoritedInFolder(folderId: topLevelFolder.id))
+ } else {
+ Button(action: {
+ let newFolder = SettingsFolder(name: topLevelName)
+
+ settings.folders.append(newFolder)
+ settings.addFavorite(post: post, provider: manager.provider, folder: newFolder.id)
+ }) {
+ Text("Uncategorized")
+ }
+ }
+
+ Divider()
+
ForEach(topLevelFolders[topLevelName] ?? [], id: \.id) { folder in
Button(action: {
settings.addFavorite(post: post, provider: manager.provider, folder: folder.id)