Show drafts in generation view
This commit is contained in:
@ -12,6 +12,14 @@ struct GenerationContentView: View {
|
||||
@Environment(\.dismiss)
|
||||
private var dismiss
|
||||
|
||||
var draftPages: Set<Page> {
|
||||
Set(content.pages.filter { $0.isDraft })
|
||||
}
|
||||
|
||||
var draftPosts: Set<Post> {
|
||||
Set(content.posts.filter { $0.isDraft })
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading) {
|
||||
Text("Website Generation")
|
||||
@ -45,7 +53,7 @@ struct GenerationContentView: View {
|
||||
GenerationStringIssuesView(
|
||||
text: "output files",
|
||||
statusWhenNonEmpty: .nominal,
|
||||
items: $content.results.outputFiles)
|
||||
items: content.results.outputFiles)
|
||||
GenerationResultsIssueView(
|
||||
text: "\(content.results.imagesToGenerate.count) images",
|
||||
status: .nominal,
|
||||
@ -57,54 +65,62 @@ struct GenerationContentView: View {
|
||||
GenerationStringIssuesView(
|
||||
text: "external links",
|
||||
statusWhenNonEmpty: .nominal,
|
||||
items: $content.results.externalLinks)
|
||||
items: content.results.externalLinks)
|
||||
GenerationStringIssuesView(
|
||||
text: "required files",
|
||||
statusWhenNonEmpty: .nominal,
|
||||
items: $content.results.requiredFiles) { $0.id }
|
||||
items: content.results.requiredFiles) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "external files",
|
||||
statusWhenNonEmpty: .nominal,
|
||||
items: $content.results.externalFiles) { $0.id }
|
||||
items: content.results.externalFiles) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "empty pages",
|
||||
statusWhenNonEmpty: .warning,
|
||||
items: $content.results.emptyPages) { "\($0.pageId) (\($0.language))" }
|
||||
items: content.results.emptyPages) { "\($0.pageId) (\($0.language))" }
|
||||
GenerationStringIssuesView(
|
||||
text: "draft pages",
|
||||
statusWhenNonEmpty: .warning,
|
||||
items: draftPages) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "draft posts",
|
||||
statusWhenNonEmpty: .warning,
|
||||
items: draftPosts) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "additional output files",
|
||||
statusWhenNonEmpty: .warning,
|
||||
items: $content.results.unusedFilesInOutput)
|
||||
items: content.results.unusedFilesInOutput)
|
||||
GenerationStringIssuesView(
|
||||
text: "inaccessible files",
|
||||
items: $content.results.inaccessibleFiles) { $0.id }
|
||||
items: content.results.inaccessibleFiles) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "unparsable files",
|
||||
items: $content.results.unparsableFiles) { $0.id }
|
||||
items: content.results.unparsableFiles) { $0.id }
|
||||
GenerationStringIssuesView(
|
||||
text: "unsaved output files",
|
||||
items: $content.results.unsavedOutputFiles)
|
||||
items: content.results.unsavedOutputFiles)
|
||||
GenerationStringIssuesView(
|
||||
text: "failed image generations",
|
||||
items: $content.results.failedImages) { $0.outputPath }
|
||||
items: content.results.failedImages) { $0.outputPath }
|
||||
GenerationStringIssuesView(
|
||||
text: "missing files",
|
||||
items: $content.results.missingFiles)
|
||||
items: content.results.missingFiles)
|
||||
GenerationStringIssuesView(
|
||||
text: "missing tags",
|
||||
items: $content.results.missingTags)
|
||||
items: content.results.missingTags)
|
||||
GenerationStringIssuesView(
|
||||
text: "missing pages",
|
||||
items: $content.results.missingPages)
|
||||
items: content.results.missingPages)
|
||||
GenerationStringIssuesView(
|
||||
text: "invalid commands",
|
||||
items: $content.results.invalidCommands)
|
||||
items: content.results.invalidCommands)
|
||||
GenerationStringIssuesView(
|
||||
text: "invalid blocks",
|
||||
items: $content.results.invalidBlocks)
|
||||
items: content.results.invalidBlocks)
|
||||
GenerationStringIssuesView(
|
||||
text: "warnings",
|
||||
statusWhenNonEmpty: .warning,
|
||||
items: $content.results.warnings)
|
||||
items: content.results.warnings)
|
||||
HorizontalCenter {
|
||||
Button(action: { dismiss() }) {
|
||||
Text("Close")
|
||||
|
@ -6,8 +6,7 @@ struct GenerationStringIssuesView<T>: View where T: Hashable {
|
||||
|
||||
let statusWhenNonEmpty: IssueStatus
|
||||
|
||||
@Binding
|
||||
var items: Set<T>
|
||||
let items: Set<T>
|
||||
|
||||
let map: (T) -> String
|
||||
|
||||
@ -18,10 +17,10 @@ struct GenerationStringIssuesView<T>: View where T: Hashable {
|
||||
items.isEmpty ? .nominal : statusWhenNonEmpty
|
||||
}
|
||||
|
||||
init(text: String, statusWhenNonEmpty: IssueStatus = .error, items: Binding<Set<T>>, map: @escaping (T) -> String) {
|
||||
init(text: String, statusWhenNonEmpty: IssueStatus = .error, items: Set<T>, map: @escaping (T) -> String) {
|
||||
self.text = text
|
||||
self.statusWhenNonEmpty = statusWhenNonEmpty
|
||||
self._items = items
|
||||
self.items = items
|
||||
self.map = map
|
||||
}
|
||||
|
||||
@ -56,10 +55,10 @@ struct GenerationStringIssuesView<T>: View where T: Hashable {
|
||||
|
||||
extension GenerationStringIssuesView where T == String {
|
||||
|
||||
init(text: String, statusWhenNonEmpty: IssueStatus = .error, items: Binding<Set<String>>) {
|
||||
init(text: String, statusWhenNonEmpty: IssueStatus = .error, items: Set<String>) {
|
||||
self.text = text
|
||||
self.statusWhenNonEmpty = statusWhenNonEmpty
|
||||
self._items = items
|
||||
self.items = items
|
||||
self.map = { $0 }
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user