Integrate tag overview into settings file
This commit is contained in:
parent
48cfa204e2
commit
96c0a75c2f
@ -76,9 +76,6 @@ extension Content {
|
||||
let externalFiles = storage.loadExternalFileList() ?? []
|
||||
if externalFiles.isEmpty { print("No external files loaded") }
|
||||
|
||||
let tagOverviewData = storage.loadTagOverview()
|
||||
if tagOverviewData == nil { print("No tag overview loaded") }
|
||||
|
||||
print("Loaded data from disk, processing...")
|
||||
// All data loaded from storage, start constructing the data model
|
||||
|
||||
@ -134,7 +131,7 @@ extension Content {
|
||||
linkedPage: linkedPage)
|
||||
}
|
||||
|
||||
let tagOverview = tagOverviewData.map { file in
|
||||
let tagOverview = settings.tagOverview.map { file in
|
||||
TagOverviewPage(
|
||||
content: self,
|
||||
german: .init(content: self, file: file.german, image: file.german.linkPreviewImage.map { files[$0] }),
|
||||
|
@ -12,7 +12,7 @@ extension Content {
|
||||
failedSaves += pages.count { !storage.save(pageMetadata: $0.pageFile, for: $0.id) }
|
||||
failedSaves += posts.count { !storage.save(post: $0.postFile, for: $0.id) }
|
||||
failedSaves += tags.count { !storage.save(tagMetadata: $0.file, for: $0.id) }
|
||||
failedSaves.increment(!storage.save(settings: settings.file))
|
||||
failedSaves.increment(!storage.save(settings: settings.file(tagOverview: tagOverview)))
|
||||
|
||||
let fileDescriptions: [FileDescriptions] = files.sorted().compactMap { file in
|
||||
guard !file.english.isEmpty || !file.german.isEmpty else {
|
||||
@ -25,7 +25,6 @@ extension Content {
|
||||
}
|
||||
|
||||
failedSaves.increment(!storage.save(fileDescriptions: fileDescriptions))
|
||||
failedSaves.increment(!storage.save(tagOverview: tagOverview?.file))
|
||||
|
||||
let externalFileList = files.filter { $0.isExternallyStored }.map { $0.id }
|
||||
failedSaves.increment(!storage.save(externalFileList: externalFileList))
|
||||
|
@ -60,13 +60,14 @@ final class Settings: ObservableObject {
|
||||
self.english = .init(file: file.english)
|
||||
}
|
||||
|
||||
var file: SettingsFile {
|
||||
func file(tagOverview: TagOverviewPage?) -> SettingsFile {
|
||||
.init(
|
||||
paths: paths.file,
|
||||
navigation: navigation.file,
|
||||
posts: posts.file,
|
||||
pages: pages.file,
|
||||
audioPlayer: audioPlayer.file,
|
||||
tagOverview: tagOverview?.file,
|
||||
german: german.file,
|
||||
english: english.file)
|
||||
}
|
||||
|
@ -13,6 +13,8 @@ struct SettingsFile {
|
||||
|
||||
let audioPlayer: AudioPlayerSettingsFile
|
||||
|
||||
let tagOverview: TagOverviewFile?
|
||||
|
||||
let german: LocalizedPostSettingsFile
|
||||
|
||||
let english: LocalizedPostSettingsFile
|
||||
@ -29,6 +31,7 @@ extension SettingsFile {
|
||||
posts: .default,
|
||||
pages: .default,
|
||||
audioPlayer: AudioPlayerSettings.default.file,
|
||||
tagOverview: nil,
|
||||
german: .default,
|
||||
english: .default
|
||||
)
|
||||
|
@ -34,8 +34,6 @@ final class Storage: ObservableObject {
|
||||
|
||||
private let settingsDataFileName = "settings.json"
|
||||
|
||||
private let tagOverviewFileName = "tag-overview.json"
|
||||
|
||||
private let contentPathBookmarkKey = "contentPathBookmark"
|
||||
|
||||
// MARK: Properties
|
||||
@ -227,17 +225,6 @@ final class Storage: ObservableObject {
|
||||
return contentScope.encode(fileDescriptions, to: fileDescriptionFilename)
|
||||
}
|
||||
|
||||
// MARK: Tag overview
|
||||
|
||||
func loadTagOverview() -> TagOverviewFile? {
|
||||
contentScope?.decode(at: tagOverviewFileName)
|
||||
}
|
||||
|
||||
func save(tagOverview: TagOverviewFile?) -> Bool {
|
||||
guard let contentScope else { return false }
|
||||
return contentScope.encode(tagOverview, to: tagOverviewFileName)
|
||||
}
|
||||
|
||||
// MARK: Files
|
||||
|
||||
func size(of file: String) -> Int? {
|
||||
|
Loading…
x
Reference in New Issue
Block a user