mlabonne's picture
Upload demo files (#1)
4fb0ce9
raw
history blame
1.09 kB
import { Loader2 } from "lucide-react";
import { useLLM } from "../hooks/useLLM";
export function StatusBar() {
const { status, tps, isGenerating } = useLLM();
if (status.state === "loading") {
return (
<div className="flex flex-col items-center gap-2 py-12 text-[#6d6d6d]">
<Loader2 className="h-8 w-8 animate-spin text-[#5505af]" />
<p className="text-sm">{status.message ?? "Loading model…"}</p>
{status.progress != null && (
<div className="w-64 h-2 bg-[#e5e5e5] rounded-full overflow-hidden">
<div
className="h-full bg-[#5505af]"
style={{ width: `${status.progress}%` }}
/>
</div>
)}
</div>
);
}
if (status.state === "error") {
return (
<div className="py-12 text-center text-sm text-red-600">
Error loading model: {status.error}
</div>
);
}
if (isGenerating && tps > 0) {
return (
<div className="text-center text-xs text-[#6d6d6d] py-1">
{tps} tokens/s
</div>
);
}
return null;
}