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