Trying to fix tw

This commit is contained in:
2025-12-26 19:05:49 +01:00
parent 82d45d872e
commit 10bd71a761
8 changed files with 110 additions and 70 deletions
-32
View File
@@ -1,32 +0,0 @@
interface MetricBarProps {
value: number;
max: number;
variant?: "default" | "success" | "warning" | "danger";
}
export function MetricBar({ value, max, variant = "default" }: MetricBarProps) {
const percentage = Math.min((value / max) * 100, 100);
const getColor = () => {
if (variant !== "default") {
switch (variant) {
case "success": return "bg-success";
case "warning": return "bg-warning";
case "danger": return "bg-destructive";
}
}
if (percentage > 80) return "bg-destructive";
if (percentage > 60) return "bg-warning";
return "bg-primary";
};
return (
<div className="metric-bar">
<div
className={`metric-bar-fill ${getColor()}`}
style={{ width: `${percentage}%` }}
/>
</div>
);
}
+28 -20
View File
@@ -1,23 +1,31 @@
import * as React from "react";
import * as ProgressPrimitive from "@radix-ui/react-progress";
"use client"
import { cn } from "@/lib/utils";
import * as React from "react"
import * as ProgressPrimitive from "@radix-ui/react-progress"
const Progress = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>
>(({ className, value, ...props }, ref) => (
<ProgressPrimitive.Root
ref={ref}
className={cn("relative h-4 w-full overflow-hidden rounded-full bg-secondary", className)}
{...props}
>
<ProgressPrimitive.Indicator
className="h-full w-full flex-1 bg-primary transition-all"
style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
/>
</ProgressPrimitive.Root>
));
Progress.displayName = ProgressPrimitive.Root.displayName;
import { cn } from "@/lib/utils"
export { Progress };
function Progress({
className,
value,
...props
}: React.ComponentProps<typeof ProgressPrimitive.Root>) {
return (
<ProgressPrimitive.Root
data-slot="progress"
className={cn(
"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
className
)}
{...props}
>
<ProgressPrimitive.Indicator
data-slot="progress-indicator"
className="bg-primary h-full w-full flex-1 transition-all"
style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
/>
</ProgressPrimitive.Root>
)
}
export { Progress }