consolidate tags, hide date
This commit is contained in:
@@ -72,6 +72,7 @@ struct AddPageView: View {
|
||||
externalLink: nil,
|
||||
isDraft: true,
|
||||
createdDate: .now,
|
||||
hideDate: false,
|
||||
startDate: .now,
|
||||
endDate: nil,
|
||||
german: .init(content: content,
|
||||
|
@@ -24,9 +24,6 @@ struct PageContentView: View {
|
||||
@EnvironmentObject
|
||||
private var content: Content
|
||||
|
||||
@State
|
||||
private var showTagPicker = false
|
||||
|
||||
init(page: Page) {
|
||||
self.page = page
|
||||
}
|
||||
@@ -44,36 +41,13 @@ struct PageContentView: View {
|
||||
}.padding()
|
||||
} else {
|
||||
VStack(alignment: .leading) {
|
||||
FlowHStack {
|
||||
ForEach(page.tags, id: \.id) { tag in
|
||||
TagView(text: tag.localized(in: language).name)
|
||||
.foregroundStyle(.white)
|
||||
}
|
||||
Button(action: { showTagPicker = true }) {
|
||||
Image(systemSymbol: .squareAndPencilCircleFill)
|
||||
.resizable()
|
||||
.aspectRatio(1, contentMode: .fit)
|
||||
.frame(height: 22)
|
||||
.foregroundColor(Color.gray)
|
||||
.background(Circle()
|
||||
.fill(Color.white)
|
||||
.padding(1))
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
}
|
||||
TagDisplayView(tags: $page.tags)
|
||||
LocalizedPageContentView(pageId: page.id, page: page.localized(in: language), language: language)
|
||||
.id(page.id + language.rawValue)
|
||||
}.padding()
|
||||
.sheet(isPresented: $showTagPicker) {
|
||||
TagSelectionView(
|
||||
presented: $showTagPicker,
|
||||
selected: $page.tags,
|
||||
tags: $content.tags)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
extension PageContentView: MainContentView {
|
||||
|
@@ -67,6 +67,18 @@ struct PageDetailView: View {
|
||||
value: $page.isDraft,
|
||||
footer: "Indicate a page as a draft to hide it from the website")
|
||||
.disabled(page.isExternalUrl)
|
||||
.onChange(of: page.externalLink) { _, newValue in
|
||||
// Ensure that external pages are not drafts
|
||||
if newValue != nil && page.isDraft {
|
||||
page.isDraft = false
|
||||
}
|
||||
}
|
||||
|
||||
BoolPropertyView(
|
||||
title: "Hide date",
|
||||
value: $page.hideDate,
|
||||
footer: "Do not show the date string on the page")
|
||||
.disabled(page.isExternalUrl)
|
||||
|
||||
DatePropertyView(
|
||||
title: "Start date",
|
||||
|
Reference in New Issue
Block a user