This commit is contained in:
Trey t
2022-02-18 18:58:38 -06:00
parent 065b7bcac1
commit 1cf38cb854
16 changed files with 501 additions and 176 deletions

View File

@@ -17,8 +17,6 @@ struct HomeViewConstants {
struct HomeView: View {
@Environment(\.managedObjectContext) private var viewContext
@AppStorage(UserDefaultsStore.Keys.needsOnboarding.rawValue, store: GroupUserDefaults.groupDefaults) private var needsOnboarding = true
@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
@@ -46,7 +44,7 @@ struct HomeView: View {
@State private var headerOpacity: Double = 1.0
//
@ObservedObject var viewModel = ContentModeViewModel()
@ObservedObject var viewModel = ContentModeViewModel(addMonthStartWeekdayPadding: false)
init(){
UIPageControl.appearance().currentPageIndicatorTintColor = UIColor.label
@@ -56,7 +54,7 @@ struct HomeView: View {
var body: some View {
mainView
.alert(updateTitleHeader(forEntry: selectedEntry),
.alert(ContentModeViewModel.updateTitleHeader(forEntry: selectedEntry),
isPresented: $showUpdateEntryAlert) {
ForEach(Mood.allValues) { mood in
Button(mood.strValue, action: {
@@ -112,30 +110,7 @@ struct HomeView: View {
// SCROLLING DOWN
headerHeight = newValue
}
private func updateTitleHeader(forEntry entry: MoodEntry?) -> String {
guard let entry = entry else {
return ""
}
guard let forDate = entry.forDate else {
return ""
}
let components = Calendar.current.dateComponents([.day, .month, .year], from: forDate)
// let day = components.day!
let month = components.month!
let year = components.year!
let monthName = Random.monthName(fromMonthInt: month)
let weekday = Random.weekdayName(fromDate:entry.forDate!)
let dayz = Random.dayFormat(fromDate:entry.forDate!)
let string = weekday + " " + monthName + " " + dayz + " " + String(year)
return String(format: String(localized: "content_view_fill_in_missing_entry"), string)
}
// MARK: Views
public var mainView: some View {
VStack {
@@ -153,8 +128,7 @@ struct HomeView: View {
.opacity(headerOpacity)
VStack {
SmallRollUpHeaderView(fakeData: false,
backDays: $currentSelectedHeaderViewBackDays,
SmallRollUpHeaderView(entries: getBackEntries(),
viewType: $currentSelectedHeaderViewViewType)
.background(
Color(theme.currentTheme.secondaryBGColor)
@@ -200,7 +174,7 @@ struct HomeView: View {
viewModel.updateData()
}
}, updateBoardingDataClosure: { onboardingData in
viewModel.updateOnboardingData(onboardingData: onboardingData)
OnboardingDataDataManager.shared.updateOnboardingData(onboardingData: onboardingData)
})
}.padding(.trailing)
}
@@ -293,6 +267,13 @@ struct HomeView: View {
}
.cornerRadius(10, corners: [.topLeft, .topRight])
}
func getBackEntries() -> [MoodEntry] {
var daysAgo = Calendar.current.date(byAdding: .day, value: -self.currentSelectedHeaderViewBackDays, to: Date())!
daysAgo = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: daysAgo)!
return PersistenceController.shared.getData(startDate: daysAgo, endDate: Date(), includedDays: [1,2,3,4,5,6,7])
}
}
// view that make up the list body