Files
ChWebsiteApp/CHDataManagement/Views/Posts/PostContentView.swift
2025-06-16 10:09:38 +02:00

58 lines
1.3 KiB
Swift

import SwiftUI
import HighlightedTextEditor
import SFSafeSymbols
struct PostContentView: View {
@ObservedObject
var post: Post
@Environment(\.language)
private var language
init(post: Post) {
self.post = post
}
var body: some View {
let localized = post.localized(in: language)
let other = post.localized(in: language.next)
VStack(alignment: .leading) {
PostImagesView(
post: localized,
other: other)
PostTitleView(post: localized)
if let page = post.linkedPage {
LinkedPageTagView(page: page)
} else {
TagDisplayView(tags: $post.tags)
}
PostLabelsView(
post: localized,
other: other)
PostTextView(post: localized)
}
.padding()
}
}
extension PostContentView: MainContentView {
init(item: Post) {
self.post = item
}
static let itemDescription = "a post"
}
#Preview(traits: .fixedLayout(width: 450, height: 600)) {
List {
PostContentView(post: .Mock.hike2)
.listRowSeparator(.hidden)
.environment(\.language, ContentLanguage.german)
PostContentView(post: .Mock.hike)
.listRowSeparator(.hidden)
}
.environmentObject(Content.mock)
}