({ className, fullScreen = false }: SceneLoaderProps)
| 17 | } |
| 18 | |
| 19 | export function SceneLoader({ className, fullScreen = false }: SceneLoaderProps) { |
| 20 | const [loaderClass, setLoaderClass] = useState(LOADERS[0]!) |
| 21 | |
| 22 | useEffect(() => { |
| 23 | // Pick a random loader on mount |
| 24 | setLoaderClass(LOADERS[Math.floor(Math.random() * LOADERS.length)] ?? LOADERS[0]!) |
| 25 | }, []) |
| 26 | |
| 27 | return ( |
| 28 | <div |
| 29 | className={cn( |
| 30 | 'z-100 flex items-center justify-center bg-background/80 backdrop-blur-md transition-opacity duration-300', |
| 31 | fullScreen ? 'fixed inset-0' : 'absolute inset-0', |
| 32 | className, |
| 33 | )} |
| 34 | > |
| 35 | <div className={cn(loaderClass, 'text-foreground opacity-80')} /> |
| 36 | </div> |
| 37 | ) |
| 38 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…