This commit is contained in:
Trey t
2022-07-18 20:14:48 -05:00
parent 044e0bb027
commit 53334e5fb8
10 changed files with 134 additions and 10 deletions

View File

@@ -28,6 +28,7 @@ struct SettingsView: View {
@AppStorage(UserDefaultsStore.Keys.deleteEnable.rawValue, store: GroupUserDefaults.groupDefaults) private var deleteEnabled = true
@AppStorage(UserDefaultsStore.Keys.theme.rawValue, store: GroupUserDefaults.groupDefaults) private var theme: Theme = .system
@AppStorage(UserDefaultsStore.Keys.textColor.rawValue, store: GroupUserDefaults.groupDefaults) private var textColor: Color = DefaultTextColor.textColor
@AppStorage(UserDefaultsStore.Keys.firstLaunchDate.rawValue, store: GroupUserDefaults.groupDefaults) private var firstLaunchDate = Date()
var body: some View {
ScrollView {
@@ -56,6 +57,8 @@ struct SettingsView: View {
// fixWeekday
exportData
importData
editFirstLaunchDatePast
resetLaunchDate
Divider()
}
Spacer()
@@ -73,6 +76,7 @@ struct SettingsView: View {
}
.onAppear(perform: {
EventLogger.log(event: "show_settings_view")
iapManager.setUpdateTimer()
})
.background(
theme.currentTheme.bg
@@ -142,12 +146,12 @@ struct SettingsView: View {
private var subscriptionInfoView: some View {
ZStack {
theme.currentTheme.secondaryBGColor
PurchaseButtonView(height: iapManager.currentSubscription != nil ? 300 : 175, iapManager: iapManager, showManageSubClosure: {
PurchaseButtonView(height: iapManager.currentSubscription != nil ? 300 : 200, iapManager: iapManager, showManageSubClosure: {
Task {
await
self.showManageSubscription()
}
})
}, showCountdownTimer: true)
}
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
}
@@ -157,6 +161,7 @@ struct SettingsView: View {
Spacer()
Button(action: {
EventLogger.log(event: "tap_settings_close")
iapManager.decideShowIAP()
dismiss()
}, label: {
Text(String(localized: "settings_view_exit"))
@@ -214,6 +219,41 @@ struct SettingsView: View {
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
}
private var editFirstLaunchDatePast: some View {
ZStack {
theme.currentTheme.secondaryBGColor
Button(action: {
var tmpDate = Date()
tmpDate = Calendar.current.date(byAdding: .day, value: -29, to: tmpDate)!
tmpDate = Calendar.current.date(byAdding: .hour, value: -23, to: tmpDate)!
tmpDate = Calendar.current.date(byAdding: .minute, value: -59, to: tmpDate)!
tmpDate = Calendar.current.date(byAdding: .second, value: -45, to: tmpDate)!
firstLaunchDate = tmpDate
}, label: {
Text("Set first launch date back 29 days, 23 hrs, 45 seconds")
.foregroundColor(textColor)
})
.padding()
}
.fixedSize(horizontal: false, vertical: true)
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
}
private var resetLaunchDate: some View {
ZStack {
theme.currentTheme.secondaryBGColor
Button(action: {
firstLaunchDate = Date()
}, label: {
Text("Reset luanch date to current date")
.foregroundColor(textColor)
})
.padding()
}
.fixedSize(horizontal: false, vertical: true)
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
}
private var clearDB: some View {
ZStack {
theme.currentTheme.secondaryBGColor