Yuki / components /Spinner.tsx
Severian's picture
Upload 43 files
be02369 verified
raw
history blame contribute delete
868 Bytes
import React from 'react';
import { BonsaiIcon } from './icons';
interface SpinnerProps {
text?: string;
}
const Spinner: React.FC<SpinnerProps> = ({ text = "Yuki the Bonsai Sensei is analyzing your tree..." }) => {
return (
<div className="flex flex-col items-center justify-center gap-4 text-center p-8">
<BonsaiIcon className="h-12 w-12 text-green-700 animate-pulse" />
<p className="text-lg font-medium text-stone-600">{text}</p>
<div className="w-48 h-2 bg-stone-200 rounded-full overflow-hidden">
<div className="h-full bg-green-600 rounded-full animate-[progress_2s_ease-in-out_infinite]"></div>
</div>
<style>{`
@keyframes progress {
0% { width: 0%; }
50% { width: 100%; }
100% { width: 0%; }
}
`}</style>
</div>
);
};
export default Spinner;