ChWebsiteApp/CHDataManagement/Views/Pages/PageContentView.swift
2024-12-14 16:31:40 +01:00

62 lines
1.3 KiB
Swift

import SwiftUI
import HighlightedTextEditor
struct PageTitleView: View {
@ObservedObject
var page: LocalizedPage
var body: some View {
TextField("", text: $page.title)
.font(.title)
.textFieldStyle(.plain)
}
}
struct PageContentView: View {
@ObservedObject
var page: Page
@Environment(\.language)
private var language
@EnvironmentObject
private var content: Content
init(page: Page) {
self.page = page
}
var body: some View {
if page.isExternalUrl {
VStack {
PageTitleView(page: page.localized(in: language))
.id(page.id + language.rawValue)
Spacer()
Text("No content available for external page")
.font(.title)
.foregroundStyle(.secondary)
Spacer()
}.padding()
} else {
LocalizedPageContentView(pageId: page.id, page: page.localized(in: language), language: language)
.id(page.id + language.rawValue)
}
}
}
extension PageContentView: MainContentView {
init(item: Page) {
self.page = item
}
static let itemDescription = "a page"
}
#Preview {
PageContentView(page: .empty)
}