add filter days to cusomize page

This commit is contained in:
Trey t
2022-03-31 11:44:44 -05:00
parent ed162dfde2
commit 9e4cfd2775
6 changed files with 105 additions and 6 deletions

View 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)
}
}

View 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
}

View File

@@ -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 []
}
}
}