Fix empty page results update

This commit is contained in:
Christoph Hagen 2025-01-07 17:34:04 +01:00
parent 7b723add3e
commit b99c064d10
2 changed files with 11 additions and 0 deletions
CHDataManagement

@ -35,6 +35,12 @@ extension Collection where Element: Collection, Element.Element: Hashable {
}
}
extension Collection where Element: Hashable {
func asSet() -> Set<Element> {
Set(self)
}
}
extension RangeReplaceableCollection where Element: Comparable {

@ -123,6 +123,11 @@ final class GenerationResults: ObservableObject {
update { self.warnings = warnings }
let unsavedOutputFiles = cache.values.map { $0.unsavedOutputFiles.keys }.union()
update { self.unsavedOutputFiles = unsavedOutputFiles }
let emptyPages = cache.values.filter { $0.pageIsEmpty }.map { $0.itemId }.compactMap { id -> LocalizedPageId? in
guard case .page(let page) = id.itemType else { return nil }
return LocalizedPageId(language: id.language, pageId: page.id)
}.asSet()
update { self.emptyPages = emptyPages }
let redirects = cache.values.compactMap { $0.redirect }.reduce(into: [:]) { $0[$1.originalUrl] = $1.newUrl }
update { self.redirects = redirects }
}