Bug fixes

This commit is contained in:
VincentMeilinger
2024-02-03 10:07:15 +01:00
parent 116ed0d077
commit 4c2b459683
15 changed files with 230 additions and 342 deletions

View File

@@ -10,7 +10,7 @@ import SwiftUI
class DataStore {
let fileManager = FileManager.default
static let shared = DataStore()
private static func fileURL(appending: String) throws -> URL {
try FileManager.default.url(
@@ -87,7 +87,28 @@ class DataStore {
return true
}
}
// SimilarityIndex loading and saving
import SimilaritySearchKit
extension DataStore {
func loadIndex() async -> [IndexItem]? {
do {
let indexItems = try await SimilarityIndex().loadIndex(fromDirectory: Self.fileURL(appending: "similarity_index"))
return indexItems
} catch {
print("Unable to load SimilarityIndex")
return nil
}
}
func saveIndex(_ index: SimilarityIndex) {
do {
try index.saveIndex(toDirectory: Self.fileURL(appending: "similarity_index"))
} catch {
print("Unable to save SimilarityIndex")
}
}
}

View File

@@ -12,7 +12,7 @@ import Combine
class UserSettings: ObservableObject {
static let shared = UserSettings()
@Published var username: String {
didSet {
UserDefaults.standard.set(username, forKey: "username")
@@ -43,6 +43,12 @@ class UserSettings: ObservableObject {
}
}
@Published var cookbookApiVersion: CookbookApiVersion {
didSet {
UserDefaults.standard.set(cookbookApiVersion, forKey: "cookbookApiVersion")
}
}
@Published var onboarding: Bool {
didSet {
UserDefaults.standard.set(onboarding, forKey: "onboarding")
@@ -115,6 +121,7 @@ class UserSettings: ObservableObject {
self.authString = UserDefaults.standard.object(forKey: "authString") as? String ?? ""
self.serverAddress = UserDefaults.standard.object(forKey: "serverAddress") as? String ?? ""
self.serverProtocol = UserDefaults.standard.object(forKey: "serverProtocol") as? String ?? "https://"
self.cookbookApiVersion = UserDefaults.standard.object(forKey: "cookbookApiVersion") as? CookbookApiVersion ?? .v1
self.onboarding = UserDefaults.standard.object(forKey: "onboarding") as? Bool ?? true
self.defaultCategory = UserDefaults.standard.object(forKey: "defaultCategory") as? String ?? ""
self.language = UserDefaults.standard.object(forKey: "language") as? String ?? SupportedLanguage.DEVICE.rawValue
@@ -134,15 +141,14 @@ class UserSettings: ObservableObject {
authString = loginData.base64EncodedString()
}
}
}
func setAuthString() -> String {
func setAuthString() {
if token != "" && username != "" {
let loginString = "\(self.username):\(self.token)"
let loginData = loginString.data(using: String.Encoding.utf8)!
return loginData.base64EncodedString()
} else {
return ""
self.authString = loginData.base64EncodedString()
}
}
}