Create page from post
This commit is contained in:
@ -93,7 +93,7 @@ struct PageDetailView: View {
|
||||
OptionalDatePropertyView(
|
||||
title: "End date",
|
||||
isEnabled: $page.hasEndDate,
|
||||
date: $page.endDate,
|
||||
date: $page.potentialEndDate,
|
||||
footer: "The date when the page content ended")
|
||||
.disabled(page.isExternalUrl)
|
||||
|
||||
|
@ -33,6 +33,12 @@ struct PostDetailView: View {
|
||||
@Environment(\.language)
|
||||
private var language
|
||||
|
||||
@EnvironmentObject
|
||||
private var content: Content
|
||||
|
||||
@EnvironmentObject
|
||||
private var selection: SelectedContent
|
||||
|
||||
@ObservedObject
|
||||
private var post: Post
|
||||
|
||||
@ -54,6 +60,10 @@ struct PostDetailView: View {
|
||||
title: "Post",
|
||||
text: "Posts capture quick updates and can link to pages")
|
||||
|
||||
if post.linkedPage == nil {
|
||||
Button("Create page", action: createPageFromPost)
|
||||
}
|
||||
|
||||
IdPropertyView(
|
||||
id: $post.id,
|
||||
footer: "The id is used to link to post and store them",
|
||||
@ -73,7 +83,7 @@ struct PostDetailView: View {
|
||||
OptionalDatePropertyView(
|
||||
title: "End date",
|
||||
isEnabled: $post.hasEndDate,
|
||||
date: $post.endDate,
|
||||
date: $post.potentialEndDate,
|
||||
footer: "The date when the post content ended")
|
||||
|
||||
PagePropertyView(
|
||||
@ -98,6 +108,16 @@ struct PostDetailView: View {
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
|
||||
private func createPageFromPost() {
|
||||
let page = post.makePage()
|
||||
DispatchQueue.main.async {
|
||||
content.pages.insert(page, at: 0)
|
||||
post.linkedPage = page
|
||||
selection.page = page
|
||||
selection.tab = .pages
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension PostDetailView: MainContentView {
|
||||
|
Reference in New Issue
Block a user