UI stuff
This commit is contained in:
@@ -52,9 +52,6 @@ struct AddMoodHeaderView: View {
|
||||
}
|
||||
.padding([.leading, .trailing, .bottom])
|
||||
}
|
||||
.background(
|
||||
theme.currentTheme.secondaryBGColor
|
||||
)
|
||||
.cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight])
|
||||
.frame(minHeight: 88, maxHeight: 150)
|
||||
.frame(minWidth: 0, maxWidth: .infinity)
|
||||
|
||||
@@ -81,15 +81,13 @@ struct DayView: View {
|
||||
})
|
||||
}
|
||||
}
|
||||
.padding([.top])
|
||||
}
|
||||
|
||||
|
||||
// MARK: Views
|
||||
public var mainView: some View {
|
||||
VStack {
|
||||
settingsButtonView
|
||||
.padding(.top)
|
||||
|
||||
if viewModel.hasNoData {
|
||||
Spacer()
|
||||
EmptyHomeView(showVote: true, viewModel: viewModel)
|
||||
@@ -99,42 +97,22 @@ struct DayView: View {
|
||||
headerView
|
||||
|
||||
listView
|
||||
.padding(.top, 5)
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding([.leading, .trailing])
|
||||
.background(
|
||||
theme.currentTheme.bg
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
)
|
||||
.onReceive(NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)) { _ in
|
||||
PersistenceController.shared.fillInMissingDates()
|
||||
viewModel.updateData()
|
||||
}
|
||||
}
|
||||
|
||||
private var settingsButtonView: some View {
|
||||
HStack {
|
||||
Spacer()
|
||||
Button(action: {
|
||||
showingSheet.toggle()
|
||||
}, label: {
|
||||
Image(systemName: "gear")
|
||||
.foregroundColor(Color(UIColor.darkGray))
|
||||
.font(.system(size: 20))
|
||||
}).padding(.trailing)
|
||||
}
|
||||
}
|
||||
|
||||
private var headerView: some View {
|
||||
VStack {
|
||||
if ShowBasedOnVoteLogics.isMissingCurrentVote(onboardingData: UserDefaultsStore.getOnboarding()) {
|
||||
AddMoodHeaderView(addItemHeaderClosure: { (mood, date) in
|
||||
viewModel.add(mood: mood, forDate: date, entryType: .header)
|
||||
})
|
||||
.frame(height: DayViewConstants.maxHeaderHeight)
|
||||
.frame(minWidth: 0, maxWidth: .infinity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +115,9 @@ struct MonthView: View {
|
||||
}
|
||||
}
|
||||
.onPreferenceChange(ViewOffsetKey.self) { value in
|
||||
iAPWarningViewHidden = value < 0
|
||||
withAnimation {
|
||||
iAPWarningViewHidden = value < 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,12 @@ struct YearView: View {
|
||||
} else {
|
||||
ScrollView {
|
||||
gridView
|
||||
.background(
|
||||
GeometryReader { proxy in
|
||||
let offset = proxy.frame(in: .named("scroll")).minY
|
||||
Color.clear.preference(key: ViewOffsetKey.self, value: offset)
|
||||
}
|
||||
)
|
||||
}
|
||||
.disabled(iapManager.showIAP)
|
||||
.padding(.bottom, 5)
|
||||
@@ -80,8 +86,11 @@ struct YearView: View {
|
||||
.edgesIgnoringSafeArea(.all)
|
||||
)
|
||||
.onPreferenceChange(ViewOffsetKey.self) { value in
|
||||
iAPWarningViewHidden = value < 0
|
||||
withAnimation {
|
||||
iAPWarningViewHidden = value < 0
|
||||
}
|
||||
}
|
||||
.padding([.top])
|
||||
}
|
||||
|
||||
private var monthsHeader: some View {
|
||||
@@ -145,12 +154,6 @@ struct YearView: View {
|
||||
.cornerRadius(10)
|
||||
}
|
||||
.padding([.top, .leading, .trailing])
|
||||
.background(
|
||||
GeometryReader { proxy in
|
||||
let offset = proxy.frame(in: .named("scroll")).minY
|
||||
Color.clear.preference(key: ViewOffsetKey.self, value: offset)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user