Spaces:
Running
Running
| export default function Spinner({ size = 24, className = '' }) { | |
| return ( | |
| <svg | |
| width={size} height={size} | |
| viewBox="0 0 24 24" fill="none" | |
| className={`animate-spin ${className}`} | |
| > | |
| <circle cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="2" strokeOpacity="0.2" /> | |
| <path d="M12 2a10 10 0 0 1 10 10" stroke="currentColor" strokeWidth="2" strokeLinecap="round" /> | |
| </svg> | |
| ) | |
| } | |
| export function PageLoader() { | |
| return ( | |
| <div className="min-h-screen flex items-center justify-center" style={{ background: 'var(--bg)' }}> | |
| <div className="flex flex-col items-center gap-4"> | |
| <Spinner size={40} className="text-sky-500" /> | |
| <p className="text-sm" style={{ color: 'var(--text-muted)' }}>Loading...</p> | |
| </div> | |
| </div> | |
| ) | |
| } | |