#!/usr/bin/env bash set -Eeuo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT" mkdir -p app/components mkdir -p public/assets cat > app/components/BootAnimation.jsx <<'EOC' "use client"; import { useEffect, useState } from "react"; export default function BootAnimation({ onComplete }) { const [hide, setHide] = useState(false); useEffect(() => { const t1 = setTimeout(() => setHide(true), 3200); const t2 = setTimeout(() => onComplete?.(), 3800); return () => { clearTimeout(t1); clearTimeout(t2); }; }, [onComplete]); return (
DOLOR3V

DOLOR3V

AI Workspace

); } EOC if ! grep -q "boot-screen" app/globals.css; then cat >> app/globals.css <<'EOC' .boot-screen{ position:fixed; inset:0; display:flex; justify-content:center; align-items:center; background:#020617; z-index:999999; transition:.6s; } .boot-hide{ opacity:0; pointer-events:none; } .boot-center{ display:flex; flex-direction:column; align-items:center; gap:18px; } .boot-logo{ width:140px; height:140px; animation:bootPulse 2s infinite; } .boot-loader{ width:240px; height:4px; background:#1e293b; overflow:hidden; border-radius:999px; } .boot-loader span{ display:block; height:100%; width:40%; background:#38bdf8; animation:bootLoad 2.4s infinite; } @keyframes bootLoad{ 0%{transform:translateX(-120%)} 100%{transform:translateX(350%)} } @keyframes bootPulse{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} } EOC fi echo "Boot animation installed."