Files
codexbar-mobile/components/ProgressBar.tsx
T
space 2c31be11c4
CodexBar Mobile Build / build-android (push) Successful in 21m9s
CodexBar Mobile Build / release (push) Successful in 11s
by codex: feat. General Improvements
2026-06-25 14:27:58 +02:00

25 lines
713 B
TypeScript

import { View } from "react-native";
import { PROGRESS_THRESHOLDS } from "@/lib/constants";
interface ProgressBarProps {
percent: number;
}
function getBarColor(percent: number): string {
if (percent >= PROGRESS_THRESHOLDS.danger) return "bg-red-500";
if (percent >= PROGRESS_THRESHOLDS.warning) return "bg-yellow-400";
return "bg-green-500";
}
export function ProgressBar({ percent }: ProgressBarProps) {
const clamped = Math.max(0, Math.min(100, percent));
return (
<View className="h-2.5 w-full rounded-full bg-neutral-200 dark:bg-neutral-700">
<View
className={`h-2.5 rounded-full ${getBarColor(clamped)}`}
style={{ width: `${clamped}%` }}
/>
</View>
);
}