ChWebsiteApp/CHDataManagement/Views/Pages/PageDetailView.swift
2024-11-30 08:34:31 +01:00

52 lines
1.2 KiB
Swift

import SwiftUI
import HighlightedTextEditor
struct PageDetailView: View {
@ObservedObject
var page: Page
@Environment(\.language)
private var language
@EnvironmentObject
private var content: Content
@State
private var pageContent: String = ""
var body: some View {
VStack(alignment: .leading) {
TextField("", text: page.localized(in: language).editableTitle())
.font(.title)
.textFieldStyle(.plain)
HStack(alignment: .firstTextBaseline) {
Button(action: loadContent) {
Text("Load")
}
Button(action: saveContent) {
Text("Save")
}
Spacer()
}
HighlightedTextEditor(
text: $pageContent,
highlightRules: .markdown)
}
.padding()
}
private func loadContent() {
pageContent = content.storage.pageContent(for: page.id, language: language)
}
private func saveContent() {
content.storage.save(pageContent: pageContent, for: page.id, language: language)
}
}
#Preview {
PageDetailView(page: .empty)
}