feat: Adds result view to better handle errors, integrates it into project view.

This commit is contained in:
2026-01-10 18:27:45 -05:00
parent a356aa2a13
commit 20065ebf10
20 changed files with 342 additions and 152 deletions

View File

@@ -1,4 +1,5 @@
import Elementary
import ManualDClient
import ManualDCore
import Styleguide
@@ -6,23 +7,20 @@ import Styleguide
struct FrictionRateView: HTML, Sendable {
@Environment(ProjectViewValue.$projectID) var projectID
let equipmentInfo: EquipmentInfo?
let componentLosses: [ComponentPressureLoss]
let equivalentLengths: EffectiveLength.MaxContainer
let projectID: Project.ID
// let projectID: Project.ID
let frictionRateResponse: ManualDClient.FrictionRateResponse?
var availableStaticPressure: Double? {
guard let staticPressure = equipmentInfo?.staticPressure else {
return nil
}
return staticPressure - componentLosses.totalComponentPressureLoss
frictionRateResponse?.availableStaticPressure
}
var frictionRateDesignValue: Double? {
guard let availableStaticPressure, let tel = equivalentLengths.total else {
return nil
}
return (((availableStaticPressure * 100) / tel) * 100) / 100
frictionRateResponse?.frictionRate
}
var badgeColor: String {