Add empty page text, playlist text to settings

This commit is contained in:
Christoph Hagen
2025-01-07 11:26:59 +01:00
parent 9f120b251f
commit 9d95e7d210
23 changed files with 266 additions and 94 deletions

View File

@ -19,26 +19,38 @@ final class PostSettings: ObservableObject {
@Published
var defaultCssFile: FileResource?
@Published
var german: LocalizedPostSettings
@Published
var english: LocalizedPostSettings
init(postsPerPage: Int,
contentWidth: Int,
swiperCssFile: FileResource?,
swiperJsFile: FileResource?,
defaultCssFile: FileResource?) {
defaultCssFile: FileResource?,
german: LocalizedPostSettings,
english: LocalizedPostSettings) {
self.postsPerPage = postsPerPage
self.contentWidth = contentWidth
self.swiperCssFile = swiperCssFile
self.swiperJsFile = swiperJsFile
self.defaultCssFile = defaultCssFile
self.german = german
self.english = english
}
// MARK: Storage
init(file: PostSettingsFile, files: [String : FileResource]) {
self.postsPerPage = file.postsPerPage
self.contentWidth = file.contentWidth
self.swiperCssFile = file.swiperCssFile.map { files[$0] }
self.swiperJsFile = file.swiperJsFile.map { files[$0] }
self.defaultCssFile = file.defaultCssFile.map { files[$0] }
self.german = .init(file: file.german)
self.english = .init(file: file.english)
}
var file: PostSettingsFile {
@ -46,6 +58,19 @@ final class PostSettings: ObservableObject {
contentWidth: contentWidth,
swiperCssFile: swiperCssFile?.id,
swiperJsFile: swiperJsFile?.id,
defaultCssFile: defaultCssFile?.id)
defaultCssFile: defaultCssFile?.id,
german: german.file,
english: english.file)
}
}
extension PostSettings {
static var `default`: PostSettings {
.init(file: .default, files: [:])
}
}
extension PostSettings: LocalizedItem {
}