diff options
| author | Fuwn <[email protected]> | 2025-10-05 05:25:36 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-05 05:25:36 -0700 |
| commit | 890e65f187624d6604f5102acf4dc3d1931b848f (patch) | |
| tree | 21b9345a8dcfa301787f3eac166ced81186efef3 /Sora/Views/FavoriteMenuButtonView.swift | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-890e65f187624d6604f5102acf4dc3d1931b848f.tar.xz sora-testing-890e65f187624d6604f5102acf4dc3d1931b848f.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Views/FavoriteMenuButtonView.swift')
| -rw-r--r-- | Sora/Views/FavoriteMenuButtonView.swift | 22 |
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) |