Save automatically, improve mocks

This commit is contained in:
Christoph Hagen
2025-02-05 12:24:33 +01:00
parent d41c54d174
commit 5abe6e1a9f
55 changed files with 701 additions and 381 deletions

View File

@ -13,6 +13,8 @@ class Tag: Item, LocalizedItem {
@Published
var english: LocalizedTag
var savedData: Data?
override init(content: Content, id: String) {
self.isVisible = true
self.english = .init(content: content, urlComponent: id, name: id)
@ -77,7 +79,7 @@ class Tag: Item, LocalizedItem {
// MARK: Storage
extension Tag {
extension Tag: StorageItem {
convenience init(context: LoadingContext, id: String, data: Data) {
self.init(
@ -86,9 +88,10 @@ extension Tag {
isVisible: data.isVisible ?? true,
german: .init(context: context, data: data.german),
english: .init(context: context, data: data.english))
savedData = data
}
struct Data: Codable {
struct Data: Codable, Equatable {
// Defaults to true if unset
let isVisible: Bool?
let german: LocalizedTag.Data
@ -101,4 +104,8 @@ extension Tag {
german: german.data,
english: english.data)
}
func saveToDisk(_ data: Data) -> Bool {
content.storage.save(tag: data, for: id)
}
}