From 65d3974d6cb5d7255b89b12edf501b1a1d5c7fb0 Mon Sep 17 00:00:00 2001 From: oliverhnat Date: Thu, 4 Jul 2024 21:36:32 +0200 Subject: [PATCH] Add option to add hint to a card --- .../Views/Flashcards/AddFlashCardView.swift | 6 +++++ WordAX/Views/Flashcards/FlashCardView.swift | 26 +++++++++---------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/WordAX/Views/Flashcards/AddFlashCardView.swift b/WordAX/Views/Flashcards/AddFlashCardView.swift index 48bc1e1..adcbc69 100644 --- a/WordAX/Views/Flashcards/AddFlashCardView.swift +++ b/WordAX/Views/Flashcards/AddFlashCardView.swift @@ -17,6 +17,7 @@ struct AddFlashCardView: View { @State var selectedDeck: Deck? @State var createDisabled: Bool = true @State var flashcard: Flashcard + @State var hint: String = "" var edit: Bool = false var body: some View { NavigationStack { @@ -25,6 +26,10 @@ struct AddFlashCardView: View { TextField("Name", text: $text) .focused($focus) TextField("Description", text: $description, axis: .vertical) + TextField("Hint", text: $hint, axis: .vertical) + .lineLimit(3, reservesSpace: true) + } + Section(header: Text("Deck details")) { Picker("Deck", selection: $selectedDeck) { ForEach(decks) { deck in Text(deck.name ?? "Unknown deck name") @@ -70,6 +75,7 @@ struct AddFlashCardView: View { flashcard.name = self.text flashcard.desc = self.description flashcard.deck = selectedDeck + flashcard.hint = self.hint if !edit { flashcard.nextSpacedRepetitionMilestone = 0 flashcard.lastSeenOn = nil diff --git a/WordAX/Views/Flashcards/FlashCardView.swift b/WordAX/Views/Flashcards/FlashCardView.swift index 537533d..85c7b19 100644 --- a/WordAX/Views/Flashcards/FlashCardView.swift +++ b/WordAX/Views/Flashcards/FlashCardView.swift @@ -42,20 +42,20 @@ struct FlashCardView: View { } else { flashcardText } - if flashcard.hint != nil { - if !showDescription { - Button { - showHint.toggle() - } label: { - Text(showHint ? "Hide Hint" : "Show Hint") - .padding() - } - if showHint { - Text((flashcard.hint != nil) ? "Hint: \(flashcard.hint ?? "")" : "") - .padding() - .font(.footnote) - } + if !showDescription && flashcard.hint != nil { + if showHint { + Text((flashcard.hint != nil) ? "Hint: \(flashcard.hint ?? "")" : "") + .padding() + .font(.footnote) + } else { } + Button { + showHint.toggle() + } label: { + Text(showHint ? "Hide Hint" : "Show Hint") + .padding() + } +// .disabled(flashcard.hint == nil) } } .padding([.horizontal, .top])