Files
video-shader-toys/ui/src/components/ParameterValueDisplay.jsx
Aiden 6502344d0a
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 1m33s
CI / Windows Release Package (push) Successful in 2m4s
Added trigger
2026-05-06 14:01:23 +10:00

29 lines
911 B
JavaScript

function formatNumber(value, digits = 3) {
return Number(value ?? 0).toFixed(digits);
}
export function formatParameterValue(parameterType, value) {
if (parameterType === "float") {
return formatNumber(value);
}
if (parameterType === "vec2" || parameterType === "color") {
return (value ?? []).map((item) => formatNumber(item)).join(", ");
}
if (parameterType === "bool") {
return value ? "Enabled" : "Disabled";
}
if (parameterType === "trigger") {
return `Triggered ${Number(value ?? 0)} time${Number(value ?? 0) === 1 ? "" : "s"}`;
}
return `${value ?? ""}`;
}
export function ParameterValueDisplay({ parameterType, value, pending }) {
const valueText = formatParameterValue(parameterType, value);
return (
<div className={`parameter__value${pending ? " parameter__value--pending" : ""}`}>
{pending ? `Applied: ${valueText}` : valueText}
</div>
);
}