This commit is contained in:
Trey t
2022-02-03 15:13:28 -06:00
parent a0ce5f907a
commit 374d2bd954
2 changed files with 22 additions and 4 deletions

View File

@@ -11,11 +11,24 @@ import CoreData
class ContentModeViewModel: ObservableObject {
@Published var grouped = [Int: [Int: [MoodEntry]]]()
@Published public private(set) var savedOnboardingData = UserDefaultsStore.getOnboarding()
@Published var numberOfItems = 0
var hasNoData: Bool {
grouped.isEmpty
}
private var numberOfEntries: Int {
var num = 0
grouped.keys.forEach({
let year = grouped[$0]
let monthKeys = year?.keys
monthKeys?.forEach({
num += year![$0]!.count
})
})
return num
}
init() {
PersistenceController.shared.switchContainerListeners.append {
self.getGroupedData()
@@ -26,6 +39,7 @@ class ContentModeViewModel: ObservableObject {
private func getGroupedData() {
grouped = PersistenceController.shared.splitIntoYearMonth()
numberOfItems = numberOfEntries
}
public func shouldShowVotingHeader() -> Bool {

View File

@@ -134,9 +134,9 @@ struct ContentView: View {
}
func calculateHeight(minHeight: CGFloat, maxHeight: CGFloat, yOffset: CGFloat) {
calcuateViewAlpha()
let newValue = maxHeight + yOffset
calcuateViewAlpha()
// If scrolling up, yOffset will be a negative number
if newValue < minHeight {
// SCROLLING UP
@@ -184,7 +184,11 @@ struct ContentView: View {
)
.coordinateSpace(name: "scroll")
.onPreferenceChange(ViewOffsetKey.self) { value in
calculateHeight(minHeight: ContentViewConstants.minHeaderHeight, maxHeight: ContentViewConstants.maxHeaderHeight, yOffset: value)
if viewModel.numberOfItems > 10 {
calculateHeight(minHeight: ContentViewConstants.minHeaderHeight,
maxHeight: ContentViewConstants.maxHeaderHeight,
yOffset: value)
}
}
.clipShape(RoundedRectangle(cornerRadius: 25, style: .continuous))
}