WIP: Begins friction rate views.
This commit is contained in:
@@ -9,6 +9,8 @@ extension ViewController.Request {
|
||||
return try await route.renderView(isHtmxRequest: isHtmxRequest)
|
||||
case .room(let route):
|
||||
return try await route.renderView(isHtmxRequest: isHtmxRequest)
|
||||
case .frictionRate(let route):
|
||||
return try await route.renderView(isHtmxRequest: isHtmxRequest)
|
||||
default:
|
||||
// FIX: FIX
|
||||
return mainPage
|
||||
@@ -49,6 +51,22 @@ extension SiteRoute.View.RoomRoute {
|
||||
}
|
||||
}
|
||||
|
||||
extension SiteRoute.View.FrictionRateRoute {
|
||||
func renderView(isHtmxRequest: Bool) async throws -> AnySendableHTML {
|
||||
switch self {
|
||||
case .index:
|
||||
return MainPage {
|
||||
FrictionRateView()
|
||||
}
|
||||
// FIX:
|
||||
default:
|
||||
return MainPage {
|
||||
FrictionRateView()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private let mainPage: AnySendableHTML = {
|
||||
MainPage {
|
||||
div {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import Elementary
|
||||
import ManualDCore
|
||||
import Styleguide
|
||||
|
||||
struct EquipmentForm: HTML, Sendable {
|
||||
|
||||
var body: some HTML {
|
||||
div(.id("equipmentForm")) {
|
||||
h1(.class("text-3xl font-bold pb-6")) { "Equipment Info" }
|
||||
form {
|
||||
div {
|
||||
label(.for("staticPressure")) { "Static Pressure" }
|
||||
Input(id: "staticPressure", placeholder: "Static pressure")
|
||||
.attributes(.type(.number), .value("0.5"), .min("0"), .max("1.0"), .step("0.1"))
|
||||
}
|
||||
div {
|
||||
label(.for("heatingCFM")) { "Heating CFM" }
|
||||
Input(id: "heatingCFM", placeholder: "CFM")
|
||||
.attributes(.type(.number), .min("0"))
|
||||
}
|
||||
div {
|
||||
label(.for("coolingCFM")) { "Cooling CFM" }
|
||||
Input(id: "coolingCFM", placeholder: "CFM")
|
||||
.attributes(.type(.number), .min("0"))
|
||||
}
|
||||
Row {
|
||||
div {}
|
||||
div(.class("space-x-4")) {
|
||||
SubmitButton(title: "Save")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import Elementary
|
||||
import ManualDCore
|
||||
import Styleguide
|
||||
|
||||
struct FrictionRateView: HTML, Sendable {
|
||||
|
||||
var body: some HTML {
|
||||
div {
|
||||
EquipmentForm()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ struct Sidebar: HTML {
|
||||
row(title: "Project", icon: .mapPin, href: "/projects")
|
||||
row(title: "Rooms", icon: .doorClosed, href: "/rooms")
|
||||
row(title: "Equivalent Lengths", icon: .rulerDimensionLine, href: "#")
|
||||
row(title: "Friction Rate", icon: .squareFunction, href: "#")
|
||||
row(title: "Friction Rate", icon: .squareFunction, href: "/friction-rate")
|
||||
row(title: "Duct Sizes", icon: .wind, href: "#")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user