package components type BadgeVariant string const ( BadgeInProgress BadgeVariant = "in-progress" BadgeDeployed BadgeVariant = "deployed" ) type badgeConfig struct { label string dot string class string } func badgeProps(variant BadgeVariant) badgeConfig { switch variant { case BadgeDeployed: return badgeConfig{ label: "Deployed", dot: "bg-teal-500", class: "bg-teal-100 text-teal-700 ring-teal-600/20", } default: // in-progress return badgeConfig{ label: "In Progress", dot: "bg-violet-400", class: "bg-violet-100 text-violet-700 ring-violet-600/20", } } } templ Badge(variant BadgeVariant) { {{ props := badgeProps(variant) }} if props.label == "Deployed" { } else { } { props.label } }