add filter days to cusomize page
This commit is contained in:
28
Shared/Models/DaysFilterClass.swift
Normal file
28
Shared/Models/DaysFilterClass.swift
Normal file
@@ -0,0 +1,28 @@
|
||||
//
|
||||
// DaysFilterClass.swift
|
||||
// Feels
|
||||
//
|
||||
// Created by Trey Tartt on 3/31/22.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class DaysFilterClass: ObservableObject {
|
||||
@Published public private(set) var currentFilters = [Int]()
|
||||
|
||||
init() {
|
||||
currentFilters = UserDefaultsStore.getDaysFilter()
|
||||
}
|
||||
|
||||
func addFilter(newFilter: Int) {
|
||||
currentFilters.append(newFilter)
|
||||
currentFilters = UserDefaultsStore.saveDaysFilter(days: currentFilters)
|
||||
}
|
||||
|
||||
func removeFilter(filter: Int) {
|
||||
if let index = currentFilters.firstIndex(of: filter) {
|
||||
currentFilters.remove(at: index)
|
||||
}
|
||||
currentFilters = UserDefaultsStore.saveDaysFilter(days: currentFilters)
|
||||
}
|
||||
}
|
||||
13
Shared/Models/StupidAssCustomWidgetObservableObject.swift
Normal file
13
Shared/Models/StupidAssCustomWidgetObservableObject.swift
Normal file
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// StupidAssCustomWidgetObservableObject.swift
|
||||
// Feels
|
||||
//
|
||||
// Created by Trey Tartt on 3/31/22.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class StupidAssCustomWidgetObservableObject: ObservableObject {
|
||||
@Published var fuckingWrapped: CustomWidgetModel? = nil
|
||||
@Published var showFuckingSheet = false
|
||||
}
|
||||
@@ -24,6 +24,7 @@ class UserDefaultsStore {
|
||||
case textColor
|
||||
case showNSFW
|
||||
case shape
|
||||
case daysFilter
|
||||
|
||||
case contentViewCurrentSelectedHeaderViewBackDays
|
||||
case contentViewHeaderTag
|
||||
@@ -211,5 +212,19 @@ class UserDefaultsStore {
|
||||
fatalError("error saving")
|
||||
}
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
static func saveDaysFilter(days: [Int]) -> [Int] {
|
||||
GroupUserDefaults.groupDefaults.set(days, forKey: UserDefaultsStore.Keys.daysFilter.rawValue)
|
||||
return UserDefaultsStore.getDaysFilter()
|
||||
}
|
||||
|
||||
static func getDaysFilter() -> [Int] {
|
||||
if let data = GroupUserDefaults.groupDefaults.object(forKey: UserDefaultsStore.Keys.daysFilter.rawValue) as? [Int] {
|
||||
return data
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user