summaryrefslogtreecommitdiff
path: root/Sora/Data/Settings/Settings.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-02-22 00:07:44 -0800
committerFuwn <[email protected]>2025-02-22 00:07:44 -0800
commite42fa12dafe264c665d2574c93b54ddafe7f2e1f (patch)
treea362b3b78ea97dc28ce5cc3682801bf89688f546 /Sora/Data/Settings/Settings.swift
parentfeat: Development commit (diff)
downloadsora-testing-e42fa12dafe264c665d2574c93b54ddafe7f2e1f.tar.xz
sora-testing-e42fa12dafe264c665d2574c93b54ddafe7f2e1f.zip
feat: Development commit
Diffstat (limited to 'Sora/Data/Settings/Settings.swift')
-rw-r--r--Sora/Data/Settings/Settings.swift120
1 files changed, 60 insertions, 60 deletions
diff --git a/Sora/Data/Settings/Settings.swift b/Sora/Data/Settings/Settings.swift
index c70f1ba..efac028 100644
--- a/Sora/Data/Settings/Settings.swift
+++ b/Sora/Data/Settings/Settings.swift
@@ -1,81 +1,81 @@
import SwiftUI
class Settings: ObservableObject {
- #if DEBUG
- @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .sample
- #else
- @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .original
- #endif
- @AppStorage("thumbnailType") var thumbnailType: BooruPostFileType = .preview
- @AppStorage("searchSuggestions") var searchSuggestions: Bool = false
- @AppStorage("columns") var columns: Int = 2
- @AppStorage("blurNSFWThumbnails") var blurNSFWThumbnails: Bool = true
- @AppStorage("showNSFWPosts") var showNSFWPosts: Bool = false
- @AppStorage("bookmarks") private var bookmarksData: Data = .init()
- @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .yandere
-
- var bookmarks: [Bookmark] {
- get {
- if let bookmarks = try? JSONDecoder().decode([Bookmark].self, from: bookmarksData) {
- return bookmarks
- }
-
- return []
- }
-
- set {
- if let data = try? JSONEncoder().encode(newValue) {
- bookmarksData = data
- }
- }
+ #if DEBUG
+ @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .sample
+ #else
+ @AppStorage("detailViewType") var detailViewType: BooruPostFileType = .original
+ #endif
+ @AppStorage("thumbnailType") var thumbnailType: BooruPostFileType = .preview
+ @AppStorage("searchSuggestions") var searchSuggestions: Bool = false
+ @AppStorage("columns") var columns: Int = 2
+ @AppStorage("blurNSFWThumbnails") var blurNSFWThumbnails: Bool = true
+ @AppStorage("showNSFWPosts") var showNSFWPosts: Bool = false
+ @AppStorage("bookmarks") private var bookmarksData: Data = .init()
+ @AppStorage("preferredBooru") var preferredBooru: BooruProvider = .yandere
+
+ var bookmarks: [Bookmark] {
+ get {
+ if let bookmarks = try? JSONDecoder().decode([Bookmark].self, from: bookmarksData) {
+ return bookmarks
+ }
+
+ return []
}
- func resetToDefaults() {
- #if DEBUG
- detailViewType = .preview
- #else
- detailViewType = .original
- #endif
- thumbnailType = .preview
- searchSuggestions = false
- columns = 2
- blurNSFWThumbnails = true
- showNSFWPosts = false
+ set {
+ if let data = try? JSONEncoder().encode(newValue) {
+ bookmarksData = data
+ }
}
+ }
- func addBookmark(provider: BooruProvider, tags: [String]) {
- var currentBookmarks = bookmarks
+ func resetToDefaults() {
+ #if DEBUG
+ detailViewType = .preview
+ #else
+ detailViewType = .original
+ #endif
+ thumbnailType = .preview
+ searchSuggestions = false
+ columns = 2
+ blurNSFWThumbnails = true
+ showNSFWPosts = false
+ }
- currentBookmarks.append(Bookmark(provider: provider, tags: tags.map { $0.lowercased() }))
+ func addBookmark(provider: BooruProvider, tags: [String]) {
+ var currentBookmarks = bookmarks
- bookmarks = currentBookmarks
- }
+ currentBookmarks.append(Bookmark(provider: provider, tags: tags.map { $0.lowercased() }))
- func removeBookmark(at index: IndexSet) {
- var currentBookmarks = bookmarks
+ bookmarks = currentBookmarks
+ }
- currentBookmarks.remove(atOffsets: index)
+ func removeBookmark(at index: IndexSet) {
+ var currentBookmarks = bookmarks
- bookmarks = currentBookmarks
- }
+ currentBookmarks.remove(atOffsets: index)
- func removeBookmark(withTags tags: [String]) {
- var currentBookmarks = bookmarks
+ bookmarks = currentBookmarks
+ }
- currentBookmarks.removeAll { bookmark in
- bookmark.tags.contains(where: tags.contains)
- }
+ func removeBookmark(withTags tags: [String]) {
+ var currentBookmarks = bookmarks
- bookmarks = currentBookmarks
+ currentBookmarks.removeAll { bookmark in
+ bookmark.tags.contains(where: tags.contains)
}
- func removeBookmark(withID: UUID) {
- var currentBookmarks = bookmarks
+ bookmarks = currentBookmarks
+ }
- currentBookmarks.removeAll { bookmark in
- bookmark.id == withID
- }
+ func removeBookmark(withID: UUID) {
+ var currentBookmarks = bookmarks
- bookmarks = currentBookmarks
+ currentBookmarks.removeAll { bookmark in
+ bookmark.id == withID
}
+
+ bookmarks = currentBookmarks
+ }
}