From c81eb49364661016b030760ea53df4ee5d2bf0b3 Mon Sep 17 00:00:00 2001 From: oliverhnat Date: Sun, 25 Feb 2024 11:17:11 +0100 Subject: [PATCH] OnClick anywhere on the screen of the word, the description appears --- WordAX/WordAXModelView.swift | 10 +++++++++- WordAX/WordView.swift | 7 ++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/WordAX/WordAXModelView.swift b/WordAX/WordAXModelView.swift index 727a440..c2ac620 100644 --- a/WordAX/WordAXModelView.swift +++ b/WordAX/WordAXModelView.swift @@ -24,7 +24,7 @@ class WordAXModelView: ObservableObject { if words.count > 0 { // if today is the date they're supposed to be shown - let displayToday = words.filter({ $0.lastSeenOn != nil && $0.lastSeenOn!.add}) + let displayToday = words.filter({ $0.lastSeenOn != nil && $0.lastSeenOn!.addSpacedRepetitionMilestone(milestone: $0.nextSpacedRepetitionMilestone!).isAfterTodayOrToday()}) if displayToday.count > 0 { return displayToday.first! } @@ -72,7 +72,15 @@ extension Date { self.addingTimeInterval(TimeInterval(frequency.rawValue * 24 * 60 * 60)) } + func addSpacedRepetitionMilestone(milestone: WordAX.SpacedRepetitionMilestoneEnum) -> Date { + self.addingTimeInterval(TimeInterval(milestone.rawValue * 24 * 60 * 60)) + } + func isAfterToday() -> Bool { self.isAfter(Date()) } + + func isAfterTodayOrToday() -> Bool { + self.isAfterToday() || self.isToday() + } } diff --git a/WordAX/WordView.swift b/WordAX/WordView.swift index 1ef89d9..9c4f5db 100644 --- a/WordAX/WordView.swift +++ b/WordAX/WordView.swift @@ -10,7 +10,7 @@ import UIKit struct WordView: View { var word: WordAX.Word - var showDescription: Bool = true + @State var showDescription: Bool = false @EnvironmentObject var model: WordAXModelView @Environment(\.colorScheme) var colorScheme @@ -31,6 +31,11 @@ struct WordView: View { } } .padding([.horizontal, .top]) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .contentShape(Rectangle()) + .onTapGesture { + self.showDescription = true + } } }