Improve asset handling
This commit is contained in:
@ -12,9 +12,6 @@ struct PageDetailView: View {
|
||||
@ObservedObject
|
||||
private var page: Page
|
||||
|
||||
@State
|
||||
private var isGeneratingWebsite = false
|
||||
|
||||
@State
|
||||
private var didGenerateWebsite: Bool?
|
||||
|
||||
@ -28,11 +25,11 @@ struct PageDetailView: View {
|
||||
DetailTitle(
|
||||
title: "Page",
|
||||
text: "A page contains longer content")
|
||||
HStack {
|
||||
HStack(alignment: .firstTextBaseline) {
|
||||
Button(action: generate) {
|
||||
Text("Generate")
|
||||
}
|
||||
.disabled(isGeneratingWebsite)
|
||||
.disabled(content.isGeneratingWebsite)
|
||||
if let didGenerateWebsite {
|
||||
if didGenerateWebsite {
|
||||
Image(systemSymbol: .checkmarkCircleFill)
|
||||
@ -93,20 +90,9 @@ struct PageDetailView: View {
|
||||
print("Missing output folder")
|
||||
return
|
||||
}
|
||||
isGeneratingWebsite = true
|
||||
DispatchQueue.global(qos: .userInitiated).async {
|
||||
var success = true
|
||||
for language in ContentLanguage.allCases {
|
||||
let generator = LocalizedWebsiteGenerator(
|
||||
content: content,
|
||||
language: language)
|
||||
if !generator.generate(page: page) {
|
||||
print("Generation failed")
|
||||
success = false
|
||||
}
|
||||
}
|
||||
let success = content.generatePage(page)
|
||||
DispatchQueue.main.async {
|
||||
isGeneratingWebsite = false
|
||||
didGenerateWebsite = success
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user