Rework storage structs, link preview
This commit is contained in:
@ -2,15 +2,23 @@ import Foundation
|
||||
|
||||
final class LocalizedPostSettings: ObservableObject {
|
||||
|
||||
/// The page title for the post feed
|
||||
@Published
|
||||
var title: String
|
||||
|
||||
/// The page description for the post feed
|
||||
@Published
|
||||
var description: String
|
||||
|
||||
/// The path to the feed in the final website, appended with the page number
|
||||
@Published
|
||||
var feedUrlPrefix: String
|
||||
|
||||
/**
|
||||
The text to display when linking to a page
|
||||
|
||||
Each post may define a custom text.
|
||||
*/
|
||||
@Published
|
||||
var defaultPageLinkText: String
|
||||
|
||||
@ -20,21 +28,32 @@ final class LocalizedPostSettings: ObservableObject {
|
||||
self.feedUrlPrefix = feedUrlPrefix
|
||||
self.defaultPageLinkText = defaultPageLinkText
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Storage
|
||||
// MARK: Storage
|
||||
|
||||
init(file: LocalizedPostSettingsFile) {
|
||||
self.title = file.feedTitle
|
||||
self.description = file.feedDescription
|
||||
self.feedUrlPrefix = file.feedUrlPrefix
|
||||
self.defaultPageLinkText = file.defaultPageLinkText ?? "View"
|
||||
extension LocalizedPostSettings {
|
||||
|
||||
convenience init(data: Data) {
|
||||
self.init(
|
||||
title: data.feedTitle,
|
||||
description: data.feedDescription,
|
||||
feedUrlPrefix: data.feedUrlPrefix,
|
||||
defaultPageLinkText: data.defaultPageLinkText)
|
||||
}
|
||||
|
||||
var file: LocalizedPostSettingsFile {
|
||||
var data: Data {
|
||||
.init(
|
||||
feedTitle: title,
|
||||
feedDescription: description,
|
||||
feedUrlPrefix: feedUrlPrefix,
|
||||
defaultPageLinkText: defaultPageLinkText)
|
||||
}
|
||||
|
||||
struct Data: Codable {
|
||||
let feedTitle: String
|
||||
let feedDescription: String
|
||||
let feedUrlPrefix: String
|
||||
let defaultPageLinkText: String
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user