Improve post entry views, add post link data
This commit is contained in:
8
CHDataManagement/Model/Content+Generate.swift
Normal file
8
CHDataManagement/Model/Content+Generate.swift
Normal file
@@ -0,0 +1,8 @@
|
||||
import Foundation
|
||||
|
||||
extension Content {
|
||||
|
||||
func generateWebsite(into folder: URL) throws {
|
||||
|
||||
}
|
||||
}
|
@@ -221,17 +221,26 @@ final class Content: ObservableObject {
|
||||
let posts = postsData.map { postId, post in
|
||||
let linkedPage = post.linkedPageId.map { pages[$0] }
|
||||
|
||||
let german = LocalizedPost(
|
||||
title: post.german.title,
|
||||
content: post.german.content,
|
||||
lastModified: post.german.lastModifiedDate,
|
||||
images: post.german.images.compactMap { images[$0] })
|
||||
|
||||
let germanData = post.german
|
||||
let german = LocalizedPost(
|
||||
title: germanData.title,
|
||||
content: germanData.content,
|
||||
lastModified: germanData.lastModifiedDate,
|
||||
images: germanData.images.compactMap { images[$0] },
|
||||
linkPreviewImage: germanData.linkPreviewImage.map { images[$0] },
|
||||
linkPreviewTitle: germanData.linkPreviewTitle,
|
||||
linkPreviewDescription: germanData.linkPreviewDescription)
|
||||
|
||||
let englishData = post.english
|
||||
let english = LocalizedPost(
|
||||
title: post.english.title,
|
||||
content: post.english.content,
|
||||
lastModified: post.english.lastModifiedDate,
|
||||
images: post.english.images.compactMap { images[$0] })
|
||||
title: englishData.title,
|
||||
content: englishData.content,
|
||||
lastModified: englishData.lastModifiedDate,
|
||||
images: englishData.images.compactMap { images[$0] },
|
||||
linkPreviewImage: englishData.linkPreviewImage.map { images[$0] },
|
||||
linkPreviewTitle: englishData.linkPreviewTitle,
|
||||
linkPreviewDescription: englishData.linkPreviewDescription)
|
||||
|
||||
return Post(
|
||||
id: postId,
|
||||
|
@@ -15,14 +15,29 @@ final class LocalizedPost: ObservableObject {
|
||||
@Published
|
||||
var images: [ImageResource]
|
||||
|
||||
@Published
|
||||
var linkPreviewImage: ImageResource?
|
||||
|
||||
@Published
|
||||
var linkPreviewTitle: String?
|
||||
|
||||
@Published
|
||||
var linkPreviewDescription: String?
|
||||
|
||||
init(title: String? = nil,
|
||||
content: String,
|
||||
lastModified: Date? = nil,
|
||||
images: [ImageResource] = []) {
|
||||
images: [ImageResource] = [],
|
||||
linkPreviewImage: ImageResource? = nil,
|
||||
linkPreviewTitle: String? = nil,
|
||||
linkPreviewDescription: String? = nil) {
|
||||
self.title = title ?? ""
|
||||
self.content = content
|
||||
self.lastModified = lastModified
|
||||
self.images = images
|
||||
self.linkPreviewImage = linkPreviewImage
|
||||
self.linkPreviewTitle = linkPreviewTitle
|
||||
self.linkPreviewDescription = linkPreviewDescription
|
||||
}
|
||||
|
||||
@MainActor
|
||||
|
@@ -21,6 +21,9 @@ extension LocalizedPost {
|
||||
.init(images: images.map { $0.id },
|
||||
title: title.nonEmpty,
|
||||
content: content,
|
||||
lastModifiedDate: lastModified)
|
||||
lastModifiedDate: lastModified,
|
||||
linkPreviewImage: linkPreviewImage?.id,
|
||||
linkPreviewTitle: linkPreviewTitle,
|
||||
linkPreviewDescription: linkPreviewDescription)
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,8 @@ import Foundation
|
||||
|
||||
final class Post: ObservableObject {
|
||||
|
||||
let id: String
|
||||
@Published
|
||||
var id: String
|
||||
|
||||
@Published
|
||||
var isDraft: Bool
|
||||
|
Reference in New Issue
Block a user