ChWebsiteApp/CHDataManagement/Model/LocalizedPost.swift
2024-11-30 08:34:31 +01:00

67 lines
1.4 KiB
Swift

import Foundation
import SwiftUI
final class LocalizedPost: ObservableObject {
@Published
var title: String
@Published
var content: String
@Published
var lastModified: Date?
@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] = [],
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
func editableTitle() -> Binding<String> {
Binding(
get: {
self.title
},
set: { newValue in
self.title = newValue
}
)
}
@MainActor
func editableContent() -> Binding<String> {
Binding(
get: {
self.content
},
set: { newValue in
self.content = newValue
}
)
}
}