This commit is contained in:
Trey t
2022-01-22 13:57:25 -06:00
parent 4486ed1306
commit 01e54d9373
9 changed files with 106 additions and 37 deletions

View File

@@ -11,8 +11,9 @@ import SwiftUI
import CoreData
struct AddMoodHeaderView: View {
@Environment(\.managedObjectContext) private var viewContext
let addItemClosure: ((Mood, Date) -> Void)
private let savedOnboardingData = UserDefaultsStore.getOnboarding()
let addItemHeaderClosure: ((Mood, Date) -> Void)
var body: some View {
ZStack {
@@ -49,26 +50,32 @@ struct AddMoodHeaderView: View {
}
private func addItem(withMood mood: Mood) {
addItemClosure(mood, Date())
switch savedOnboardingData.inputDay {
case .Today:
addItemHeaderClosure(mood, Date())
case .Previous:
let date = Calendar.current.date(byAdding: .day, value: -1, to: Date())!
addItemHeaderClosure(mood, date)
}
}
}
struct AddMoodHeaderView_Previews: PreviewProvider {
static var previews: some View {
Group {
AddMoodHeaderView(addItemClosure: { (_,_) in
AddMoodHeaderView(addItemHeaderClosure: { (_,_) in
}).environment(\.managedObjectContext, PersistenceController.shared.container.viewContext)
AddMoodHeaderView(addItemClosure: { (_,_) in
AddMoodHeaderView(addItemHeaderClosure: { (_,_) in
}).preferredColorScheme(.dark).environment(\.managedObjectContext, PersistenceController.shared.container.viewContext)
AddMoodHeaderView(addItemClosure: { (_,_) in
AddMoodHeaderView(addItemHeaderClosure: { (_,_) in
}).environment(\.managedObjectContext, PersistenceController.shared.container.viewContext)
AddMoodHeaderView(addItemClosure: { (_,_) in
AddMoodHeaderView(addItemHeaderClosure: { (_,_) in
}).preferredColorScheme(.dark).environment(\.managedObjectContext, PersistenceController.shared.container.viewContext)
}

View File

@@ -18,8 +18,6 @@ struct ContentView: View {
@ObservedObject var viewModel = ContentModeViewModel()
@AppStorage("savedOnboardingData") private var savedOnboardingData = OnboardingData()
init(){
UITabBar.appearance().backgroundColor = UIColor.systemBackground
}
@@ -43,10 +41,10 @@ struct ContentView: View {
}.sheet(isPresented: $needsOnboarding, onDismiss: {
}, content: {
OnboardingMain(onboardingData: savedOnboardingData,
completionClosure: { onboardingData in
OnboardingMain(onboardingData: viewModel.savedOnboardingData,
updateBoardingDataClosure: { onboardingData in
needsOnboarding = false
savedOnboardingData = onboardingData
viewModel.updateOnboardingData(onboardingData: onboardingData)
})
})
}
@@ -65,6 +63,8 @@ struct ContentView: View {
withAnimation{
viewModel.updateData()
}
}, updateBoardingDataClosure: { onboardingData in
viewModel.updateOnboardingData(onboardingData: onboardingData)
})
}.padding(.trailing)
}
@@ -170,8 +170,8 @@ struct ContentView: View {
BGView()
VStack{
settingsButtonView
if viewModel.shouldShowTodayInput() && savedOnboardingData.ableToVoteBasedOnCurentTime() {
AddMoodHeaderView(addItemClosure: { (mood, date) in
if viewModel.shouldShowVotingHeader() {
AddMoodHeaderView(addItemHeaderClosure: { (mood, date) in
withAnimation {
viewModel.add(mood: mood, forDate: date)
}

View File

@@ -11,11 +11,10 @@ struct SettingsView: View {
@Environment(\.dismiss) var dismiss
let editedDataClosure: (() -> Void)
let updateBoardingDataClosure: ((OnboardingData) -> Void)
@State private var showOnboarding = false
@AppStorage("savedOnboardingData") private var savedOnboardingData = OnboardingData()
@AppStorage("showReminder") private var showReminder: Bool = false
var body: some View {
ZStack {
Color(UIColor.secondarySystemBackground)
@@ -33,10 +32,10 @@ struct SettingsView: View {
}
.padding()
}.sheet(isPresented: $showOnboarding) {
OnboardingMain(onboardingData: savedOnboardingData,
completionClosure: { onboardingData in
OnboardingMain(onboardingData: UserDefaultsStore.getOnboarding(),
updateBoardingDataClosure: { onboardingData in
updateBoardingDataClosure(onboardingData)
showOnboarding = false
savedOnboardingData = onboardingData
})
}
}
@@ -177,10 +176,14 @@ struct SettingsView_Previews: PreviewProvider {
static var previews: some View {
SettingsView(editedDataClosure: {
}, updateBoardingDataClosure: { _ in
})
SettingsView(editedDataClosure: {
}, updateBoardingDataClosure: { _ in
})
.preferredColorScheme(.dark)
}