| import React from 'react'; |
| import { motion } from 'framer-motion'; |
| import { Bot } from 'lucide-react'; |
| import AubixIcon from './AubixIcon'; |
|
|
| const SplashScreen: React.FC = () => { |
| return ( |
| <motion.div |
| initial={{ opacity: 1 }} |
| exit={{ opacity: 0 }} |
| transition={{ duration: 0.8 }} |
| style={{ |
| position: 'fixed', |
| top: 0, |
| left: 0, |
| width: '100%', |
| height: '100%', |
| background: 'var(--bg-dark)', |
| display: 'flex', |
| flexDirection: 'column', |
| alignItems: 'center', |
| justifyContent: 'center', |
| zIndex: 9999, |
| }} |
| > |
| <motion.div |
| initial={{ scale: 0.5, opacity: 0 }} |
| animate={{ scale: 1, opacity: 1 }} |
| transition={{ |
| type: "spring", |
| stiffness: 260, |
| damping: 20, |
| delay: 0.2 |
| }} |
| > |
| <AubixIcon size={180} /> |
| </motion.div> |
| |
| <motion.h1 |
| initial={{ y: 20, opacity: 0 }} |
| animate={{ y: 0, opacity: 1 }} |
| transition={{ delay: 0.4 }} |
| style={{ |
| fontSize: '3rem', |
| fontWeight: 'bold', |
| background: 'linear-gradient(to right, #fff, #6e59ff)', |
| WebkitBackgroundClip: 'text', |
| WebkitTextFillColor: 'transparent', |
| marginBottom: 'var(--space-md)' |
| }} |
| > |
| Aubm |
| </motion.h1> |
| |
| <motion.div |
| initial={{ scaleX: 0 }} |
| animate={{ scaleX: 1 }} |
| transition={{ delay: 0.6, duration: 1.5, ease: "easeInOut" }} |
| style={{ |
| width: '200px', |
| height: '4px', |
| background: 'rgba(255,255,255,0.1)', |
| borderRadius: '2px', |
| overflow: 'hidden', |
| position: 'relative' |
| }} |
| > |
| <motion.div |
| animate={{ |
| x: ['-100%', '100%'] |
| }} |
| transition={{ |
| repeat: Infinity, |
| duration: 1.5, |
| ease: "linear" |
| }} |
| style={{ |
| position: 'absolute', |
| top: 0, |
| left: 0, |
| width: '100%', |
| height: '100%', |
| background: 'var(--accent)', |
| boxShadow: '0 0 10px var(--accent)' |
| }} |
| /> |
| </motion.div> |
| |
| <motion.p |
| initial={{ opacity: 0 }} |
| animate={{ opacity: 1 }} |
| transition={{ delay: 1.2 }} |
| style={{ |
| marginTop: 'var(--space-lg)', |
| color: 'var(--text-dim)', |
| fontSize: '0.9rem', |
| letterSpacing: '2px', |
| textTransform: 'uppercase' |
| }} |
| > |
| Orchestrating Intelligence |
| </motion.p> |
| </motion.div> |
| ); |
| }; |
|
|
| export default SplashScreen; |
|
|