diff --git a/Toki Trainer Widgets/Toki_Trainer_Widgets.swift b/Toki Trainer Widgets/Toki_Trainer_Widgets.swift
index 133ed2f..b33bd22 100644
--- a/Toki Trainer Widgets/Toki_Trainer_Widgets.swift
+++ b/Toki Trainer Widgets/Toki_Trainer_Widgets.swift
@@ -54,7 +54,7 @@ struct DefinitionEntry: TimelineEntry {
struct Toki_Trainer_WidgetsEntryView : View {
var entry: Provider.Entry
-
+
var body: some View {
ZStack {
Color("LightPurple")
@@ -62,9 +62,11 @@ struct Toki_Trainer_WidgetsEntryView : View {
Text(entry.word)
.foregroundColor(Color("FontColorTitle"))
.font(.title)
+ .frame(maxWidth: .infinity, alignment: .topLeading)
.padding(8)
Text(entry.definition)
.foregroundColor(Color("FontColorSubtitle"))
+ .frame(maxWidth: .infinity, alignment: .leading)
.padding(8)
}
}
diff --git a/Toki Trainer.xcodeproj/xcuserdata/madelinecr.xcuserdatad/xcschemes/xcschememanagement.plist b/Toki Trainer.xcodeproj/xcuserdata/madelinecr.xcuserdatad/xcschemes/xcschememanagement.plist
index 4153716..61554bf 100644
--- a/Toki Trainer.xcodeproj/xcuserdata/madelinecr.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/Toki Trainer.xcodeproj/xcuserdata/madelinecr.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,12 +7,12 @@
Toki Trainer WidgetsExtension.xcscheme_^#shared#^_
orderHint
- 0
+ 1
Toki Trainer.xcscheme_^#shared#^_
orderHint
- 1
+ 0
diff --git a/Toki Trainer/ViewModels/TokiDictionaryViewModel.swift b/Toki Trainer/ViewModels/TokiDictionaryViewModel.swift
index b610041..2ccbb02 100644
--- a/Toki Trainer/ViewModels/TokiDictionaryViewModel.swift
+++ b/Toki Trainer/ViewModels/TokiDictionaryViewModel.swift
@@ -40,6 +40,32 @@ class TokiDictionaryViewModel: ObservableObject {
}
}
+ func filterDictionaryEnglishMode(_ input: String) {
+ dictionary = []
+
+ for value in fullDictionary {
+
+ var entryMatch = false
+
+ // Check if word matches toki pona form, even partially
+ if value.word.hasPrefix(input) {
+ entryMatch = true
+ }
+
+ // Check if any part of the word definitions match in English, even partially
+ for definition in value.definitions {
+ if definition.definition.contains(input) {
+ entryMatch = true
+ }
+ }
+
+ // Add to dictionary
+ if entryMatch == true {
+ dictionary.append(value)
+ }
+ }
+ }
+
func translatePhrase(_ input: String) {
dictionary = []
translatedDictionary = []
diff --git a/Toki Trainer/Views/WordListViews/DictionaryView.swift b/Toki Trainer/Views/WordListViews/DictionaryView.swift
index 6067791..84453a2 100644
--- a/Toki Trainer/Views/WordListViews/DictionaryView.swift
+++ b/Toki Trainer/Views/WordListViews/DictionaryView.swift
@@ -10,8 +10,8 @@ import SwiftUI
struct DictionaryView: View {
@ObservedObject var tokiDictViewModel = TokiDictionaryViewModel()
- @State var tokiInput: String = ""
- @State var selectedPartOfSpeech: String?
+ @State private var tokiInput: String = ""
+ @State private var selectedPartOfSpeech: String?
var body: some View {
VStack {
@@ -30,7 +30,7 @@ struct DictionaryView: View {
PartsOfSpeechView(selectedPartOfSpeech: selectedPOS)
}
.onChange(of: tokiInput) { newValue in
- tokiDictViewModel.filterDictionary(newValue)
+ tokiDictViewModel.filterDictionaryEnglishMode(newValue)
}
}
}
@@ -39,6 +39,6 @@ struct DictionaryView: View {
struct DictionaryView_Previews: PreviewProvider {
static var previews: some View {
- DictionaryView(selectedPartOfSpeech: "n").previewLayout(.sizeThatFits).environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
+ DictionaryView().previewLayout(.sizeThatFits).environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
}
}
diff --git a/Toki Trainer/Views/WordListViews/TranslatorView.swift b/Toki Trainer/Views/WordListViews/TranslatorView.swift
index 11de7eb..a0199b3 100644
--- a/Toki Trainer/Views/WordListViews/TranslatorView.swift
+++ b/Toki Trainer/Views/WordListViews/TranslatorView.swift
@@ -15,14 +15,14 @@ struct TranslatorView: View {
var body: some View {
VStack {
- Button(action: changeTranslationDirection) {
- // TODO: This needs to actually switch how the lookup happens
- if translateToTokiPona == true {
- LanguageDirectionView(from: "English", to: "Toki Pona", fromColor: .blue, toColor: .cyan)
- } else {
- LanguageDirectionView(from: "Toki Pona", to: "English", fromColor: .cyan, toColor: .blue)
- }
- }
+// Button(action: changeTranslationDirection) {
+// #warning("This needs to actually switch how the lookup happens")
+// if translateToTokiPona == true {
+// LanguageDirectionView(from: "English", to: "Toki Pona", fromColor: .blue, toColor: .cyan)
+// } else {
+// LanguageDirectionView(from: "Toki Pona", to: "English", fromColor: .cyan, toColor: .blue)
+// }
+// }
TextField("Enter Toki Pona Word or Phrase", text: $tokiInput)
.multilineTextAlignment(.center)
.textInputAutocapitalization(.never)