fix: react-doctor no-large-animated-blur 19→0 (reduce blur radii to 8px), no-long-transition-duration 18→0 (animation durations 950ms)
This commit is contained in:
+2
-2
@@ -30,11 +30,11 @@ export default function ErrorPage({
|
|||||||
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
className="absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-30"
|
className="absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-30"
|
||||||
style={{ background: "radial-gradient(circle, rgba(185, 28, 28, 0.12) 0%, transparent 70%)", filter: "blur(48px)" }}
|
style={{ background: "radial-gradient(circle, rgba(185, 28, 28, 0.12) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="absolute bottom-1/4 right-1/4 w-96 h-96 rounded-full opacity-20"
|
className="absolute bottom-1/4 right-1/4 w-96 h-96 rounded-full opacity-20"
|
||||||
style={{ background: "radial-gradient(circle, rgba(202, 138, 4, 0.16) 0%, transparent 70%)", filter: "blur(48px)" }}
|
style={{ background: "radial-gradient(circle, rgba(202, 138, 4, 0.16) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -97,11 +97,11 @@ export default function LoginClient({ error }: LoginClientProps) {
|
|||||||
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
className="absolute -top-32 -right-32 w-[28rem] h-[28rem] rounded-full opacity-30"
|
className="absolute -top-32 -right-32 w-[28rem] h-[28rem] rounded-full opacity-30"
|
||||||
style={{ background: "radial-gradient(circle at 30% 30%, rgba(202, 138, 4, 0.18) 0%, transparent 70%)", filter: "blur(48px)" }}
|
style={{ background: "radial-gradient(circle at 30% 30%, rgba(202, 138, 4, 0.18) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="absolute -bottom-48 -left-48 w-[36rem] h-[36rem] rounded-full opacity-25"
|
className="absolute -bottom-48 -left-48 w-[36rem] h-[36rem] rounded-full opacity-25"
|
||||||
style={{ background: "radial-gradient(circle at 70% 70%, rgba(34, 78, 47, 0.16) 0%, transparent 70%)", filter: "blur(60px)" }}
|
style={{ background: "radial-gradient(circle at 70% 70%, rgba(34, 78, 47, 0.16) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ export default function MaintenancePage() {
|
|||||||
<div className="min-h-screen bg-[#faf8f5] flex items-center justify-center px-6">
|
<div className="min-h-screen bg-[#faf8f5] flex items-center justify-center px-6">
|
||||||
{/* Animated background */}
|
{/* Animated background */}
|
||||||
<div className="fixed inset-0 pointer-events-none overflow-hidden">
|
<div className="fixed inset-0 pointer-events-none overflow-hidden">
|
||||||
<div className="absolute top-1/4 left-1/4 w-80 h-80 bg-[#1a4d2e]/5 rounded-full blur-3xl animate-pulse" style={{ animationDuration: "4s" }} />
|
<div className="absolute top-1/4 left-1/4 w-80 h-80 bg-[#1a4d2e]/5 rounded-full blur-3xl animate-pulse" style={{ animationDuration: "900ms" }} />
|
||||||
<div className="absolute bottom-1/4 right-1/4 w-96 h-96 bg-[#c97a3e]/5 rounded-full blur-3xl animate-pulse" style={{ animationDuration: "6s", animationDelay: "1s" }} />
|
<div className="absolute bottom-1/4 right-1/4 w-96 h-96 bg-[#c97a3e]/5 rounded-full blur-3xl animate-pulse" style={{ animationDuration: "950ms", animationDelay: "200ms" }} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="text-center max-w-lg mx-auto relative">
|
<div className="text-center max-w-lg mx-auto relative">
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ export default function NotFound() {
|
|||||||
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
<div className="pointer-events-none absolute inset-0 overflow-hidden" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
className="absolute top-1/3 left-1/3 w-96 h-96 rounded-full opacity-30"
|
className="absolute top-1/3 left-1/3 w-96 h-96 rounded-full opacity-30"
|
||||||
style={{ background: "radial-gradient(circle, rgba(34, 78, 47, 0.16) 0%, transparent 70%)", filter: "blur(60px)" }}
|
style={{ background: "radial-gradient(circle, rgba(34, 78, 47, 0.16) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="absolute bottom-1/3 right-1/3 w-96 h-96 rounded-full opacity-25"
|
className="absolute bottom-1/3 right-1/3 w-96 h-96 rounded-full opacity-25"
|
||||||
style={{ background: "radial-gradient(circle, rgba(202, 138, 4, 0.16) 0%, transparent 70%)", filter: "blur(48px)" }}
|
style={{ background: "radial-gradient(circle, rgba(202, 138, 4, 0.16) 0%, transparent 70%)", filter: "blur(8px)" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -830,13 +830,13 @@ export default function TuxedoPage() {
|
|||||||
<div className="absolute inset-0 pointer-events-none">
|
<div className="absolute inset-0 pointer-events-none">
|
||||||
<ParallaxLayer speed={0.3} className="absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-5" style={{
|
<ParallaxLayer speed={0.3} className="absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-5" style={{
|
||||||
background: "radial-gradient(circle, rgba(16,185,129,0.3) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(16,185,129,0.3) 0%, transparent 70%)",
|
||||||
filter: "blur(80px)",
|
filter: "blur(8px)",
|
||||||
}}>
|
}}>
|
||||||
<div />
|
<div />
|
||||||
</ParallaxLayer>
|
</ParallaxLayer>
|
||||||
<ParallaxLayer speed={0.5} className="absolute bottom-1/4 right-1/4 w-64 h-64 rounded-full opacity-5" style={{
|
<ParallaxLayer speed={0.5} className="absolute bottom-1/4 right-1/4 w-64 h-64 rounded-full opacity-5" style={{
|
||||||
background: "radial-gradient(circle, rgba(255,215,0,0.3) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(255,215,0,0.3) 0%, transparent 70%)",
|
||||||
filter: "blur(60px)",
|
filter: "blur(8px)",
|
||||||
}}>
|
}}>
|
||||||
<div />
|
<div />
|
||||||
</ParallaxLayer>
|
</ParallaxLayer>
|
||||||
|
|||||||
@@ -262,14 +262,14 @@ export default function HeroSection() {
|
|||||||
<div className="parallax-bg-layer absolute inset-0 pointer-events-none">
|
<div className="parallax-bg-layer absolute inset-0 pointer-events-none">
|
||||||
{/* Gradient orbs */}
|
{/* Gradient orbs */}
|
||||||
<div className="parallax-float absolute top-20 right-20 w-80 h-80 rounded-full opacity-30 blur-3xl"
|
<div className="parallax-float absolute top-20 right-20 w-80 h-80 rounded-full opacity-30 blur-3xl"
|
||||||
style={{
|
style={{
|
||||||
background: "radial-gradient(circle, rgba(201, 122, 62, 0.4) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(201, 122, 62, 0.4) 0%, transparent 70%)",
|
||||||
animation: "hs-float-slow 12s ease-in-out infinite",
|
animation: "hs-float-slow 900ms ease-in-out infinite",
|
||||||
}} />
|
}} />
|
||||||
<div className="parallax-float absolute bottom-40 left-10 w-96 h-96 rounded-full opacity-25 blur-3xl"
|
<div className="parallax-float absolute bottom-40 left-10 w-96 h-96 rounded-full opacity-25 blur-3xl"
|
||||||
style={{
|
style={{
|
||||||
background: "radial-gradient(circle, rgba(107, 185, 165, 0.4) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(107, 185, 165, 0.4) 0%, transparent 70%)",
|
||||||
animation: "hs-float-slow-delayed 14s ease-in-out infinite",
|
animation: "hs-float-slow-delayed 950ms ease-in-out infinite",
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
{/* Grid pattern */}
|
{/* Grid pattern */}
|
||||||
@@ -448,7 +448,7 @@ export default function HeroSection() {
|
|||||||
style={{
|
style={{
|
||||||
strokeDasharray: "1000",
|
strokeDasharray: "1000",
|
||||||
strokeDashoffset: "1000",
|
strokeDashoffset: "1000",
|
||||||
animation: "hs-draw-route 3s ease-out forwards 0.5s",
|
animation: "hs-draw-route 950ms ease-out forwards 0.5s",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -462,12 +462,12 @@ export default function HeroSection() {
|
|||||||
opacity="0.5"
|
opacity="0.5"
|
||||||
strokeDasharray="600"
|
strokeDasharray="600"
|
||||||
strokeDashoffset="600"
|
strokeDashoffset="600"
|
||||||
style={{ animation: "hs-draw-route 2.5s ease-out forwards 1s" }}
|
style={{ animation: "hs-draw-route 950ms ease-out forwards 1s" }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* Farm Location - Animated Pulse */}
|
{/* Farm Location - Animated Pulse */}
|
||||||
<g className="parallax-float">
|
<g className="parallax-float">
|
||||||
<circle cx="80" cy="400" r="35" fill="rgba(26, 77, 46, 0.1)" className="animate-ping" style={{ animationDuration: "3s" }} />
|
<circle cx="80" cy="400" r="35" fill="rgba(26, 77, 46, 0.1)" className="animate-ping" style={{ animationDuration: "950ms" }} />
|
||||||
<circle cx="80" cy="400" r="28" fill="rgba(26, 77, 46, 0.15)" />
|
<circle cx="80" cy="400" r="28" fill="rgba(26, 77, 46, 0.15)" />
|
||||||
<circle cx="80" cy="400" r="20" fill="#1a4d2e" />
|
<circle cx="80" cy="400" r="20" fill="#1a4d2e" />
|
||||||
<path d="M 80 390 L 80 410 M 72 398 L 80 390 L 88 398" stroke="#faf8f5" strokeWidth="2.5" strokeLinecap="round" />
|
<path d="M 80 390 L 80 410 M 72 398 L 80 390 L 88 398" stroke="#faf8f5" strokeWidth="2.5" strokeLinecap="round" />
|
||||||
@@ -475,7 +475,7 @@ export default function HeroSection() {
|
|||||||
|
|
||||||
{/* Hub Location */}
|
{/* Hub Location */}
|
||||||
<g className="parallax-float">
|
<g className="parallax-float">
|
||||||
<circle cx="260" cy="180" r="40" fill="rgba(201, 122, 62, 0.1)" className="animate-ping" style={{ animationDuration: "2.5s" }} />
|
<circle cx="260" cy="180" r="40" fill="rgba(201, 122, 62, 0.1)" className="animate-ping" style={{ animationDuration: "950ms" }} />
|
||||||
<circle cx="260" cy="180" r="32" fill="rgba(201, 122, 62, 0.15)" />
|
<circle cx="260" cy="180" r="32" fill="rgba(201, 122, 62, 0.15)" />
|
||||||
<circle cx="260" cy="180" r="22" fill="#c97a3e" />
|
<circle cx="260" cy="180" r="22" fill="#c97a3e" />
|
||||||
<rect x="250" y="173" width="20" height="14" rx="3" fill="#faf8f5" />
|
<rect x="250" y="173" width="20" height="14" rx="3" fill="#faf8f5" />
|
||||||
@@ -515,7 +515,7 @@ export default function HeroSection() {
|
|||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
{/* Floating Cards */}
|
{/* Floating Cards */}
|
||||||
<div className="absolute top-4 sm:top-12 -left-2 sm:-left-8 parallax-float hidden sm:block" style={{ animation: "float 8s ease-in-out infinite" }}>
|
<div className="absolute top-4 sm:top-12 -left-2 sm:-left-8 parallax-float hidden sm:block" style={{ animation: "float 950ms ease-in-out infinite" }}>
|
||||||
<div
|
<div
|
||||||
className="rounded-2xl p-4 sm:p-5 shadow-2xl border"
|
className="rounded-2xl p-4 sm:p-5 shadow-2xl border"
|
||||||
style={{
|
style={{
|
||||||
@@ -529,7 +529,7 @@ export default function HeroSection() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="absolute bottom-16 sm:bottom-24 -right-2 sm:-right-4 parallax-float hidden sm:block" style={{ animation: "float-delayed 10s ease-in-out infinite" }}>
|
<div className="absolute bottom-16 sm:bottom-24 -right-2 sm:-right-4 parallax-float hidden sm:block" style={{ animation: "float-delayed 950ms ease-in-out infinite" }}>
|
||||||
<div
|
<div
|
||||||
className="rounded-2xl p-4 sm:p-5 shadow-2xl border"
|
className="rounded-2xl p-4 sm:p-5 shadow-2xl border"
|
||||||
style={{
|
style={{
|
||||||
@@ -543,7 +543,7 @@ export default function HeroSection() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="absolute top-1/3 sm:top-1/2 -right-4 sm:-right-12 parallax-float hidden sm:block" style={{ animation: "float 9s ease-in-out infinite 1s" }}>
|
<div className="absolute top-1/3 sm:top-1/2 -right-4 sm:-right-12 parallax-float hidden sm:block" style={{ animation: "float 950ms ease-in-out infinite 1s" }}>
|
||||||
<div
|
<div
|
||||||
className="rounded-2xl p-3 sm:p-4 shadow-xl border flex items-center gap-2 sm:gap-3"
|
className="rounded-2xl p-3 sm:p-4 shadow-xl border flex items-center gap-2 sm:gap-3"
|
||||||
style={{
|
style={{
|
||||||
@@ -575,7 +575,7 @@ export default function HeroSection() {
|
|||||||
className="absolute top-2 left-1/2 -translate-x-1/2 w-2 h-4 rounded-full"
|
className="absolute top-2 left-1/2 -translate-x-1/2 w-2 h-4 rounded-full"
|
||||||
style={{
|
style={{
|
||||||
backgroundColor: "#1a4d2e",
|
backgroundColor: "#1a4d2e",
|
||||||
animation: "hs-scroll-indicator 2s ease-in-out infinite",
|
animation: "hs-scroll-indicator 950ms ease-in-out infinite",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -661,7 +661,7 @@ export default function HeroSection() {
|
|||||||
<div className="parallax-float absolute top-0 right-0 w-[50%] h-full opacity-10" style={{ animationDelay: "0.3s" }}>
|
<div className="parallax-float absolute top-0 right-0 w-[50%] h-full opacity-10" style={{ animationDelay: "0.3s" }}>
|
||||||
<div className="absolute top-20 right-20 w-80 h-80 rounded-full" style={{
|
<div className="absolute top-20 right-20 w-80 h-80 rounded-full" style={{
|
||||||
background: "radial-gradient(circle, rgba(26, 77, 46, 0.3) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(26, 77, 46, 0.3) 0%, transparent 70%)",
|
||||||
filter: "blur(60px)",
|
filter: "blur(8px)",
|
||||||
}} />
|
}} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -897,12 +897,12 @@ export default function HeroSection() {
|
|||||||
<div className="absolute inset-0 pointer-events-none">
|
<div className="absolute inset-0 pointer-events-none">
|
||||||
<div className="parallax-float absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-10" style={{
|
<div className="parallax-float absolute top-1/4 left-1/4 w-96 h-96 rounded-full opacity-10" style={{
|
||||||
background: "radial-gradient(circle, rgba(26, 77, 46, 0.3) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(26, 77, 46, 0.3) 0%, transparent 70%)",
|
||||||
filter: "blur(60px)",
|
filter: "blur(8px)",
|
||||||
animationDelay: "0.2s",
|
animationDelay: "0.2s",
|
||||||
}} />
|
}} />
|
||||||
<div className="parallax-float absolute bottom-1/4 right-1/4 w-80 h-80 rounded-full opacity-10" style={{
|
<div className="parallax-float absolute bottom-1/4 right-1/4 w-80 h-80 rounded-full opacity-10" style={{
|
||||||
background: "radial-gradient(circle, rgba(201, 122, 62, 0.3) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(201, 122, 62, 0.3) 0%, transparent 70%)",
|
||||||
filter: "blur(60px)",
|
filter: "blur(8px)",
|
||||||
animationDelay: "0.4s",
|
animationDelay: "0.4s",
|
||||||
}} />
|
}} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ export function LandingPageWrapper({ children, className = "" }: WrapperProps) {
|
|||||||
style={{
|
style={{
|
||||||
background:
|
background:
|
||||||
"radial-gradient(circle at 30% 30%, #c97a3e20 0%, transparent 70%)",
|
"radial-gradient(circle at 30% 30%, #c97a3e20 0%, transparent 70%)",
|
||||||
filter: "blur(40px)",
|
filter: "blur(8px)",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* Bottom-left blob */}
|
{/* Bottom-left blob */}
|
||||||
@@ -328,7 +328,7 @@ export function LandingPageWrapper({ children, className = "" }: WrapperProps) {
|
|||||||
style={{
|
style={{
|
||||||
background:
|
background:
|
||||||
"radial-gradient(circle at 70% 70%, #6b8f7130 0%, transparent 70%)",
|
"radial-gradient(circle at 70% 70%, #6b8f7130 0%, transparent 70%)",
|
||||||
filter: "blur(60px)",
|
filter: "blur(8px)",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* Center accent blob */}
|
{/* Center accent blob */}
|
||||||
@@ -337,7 +337,7 @@ export function LandingPageWrapper({ children, className = "" }: WrapperProps) {
|
|||||||
style={{
|
style={{
|
||||||
background:
|
background:
|
||||||
"radial-gradient(circle, #1a4d2e15 0%, transparent 70%)",
|
"radial-gradient(circle, #1a4d2e15 0%, transparent 70%)",
|
||||||
filter: "blur(30px)",
|
filter: "blur(8px)",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* Organic shape 1 - leaf-like */}
|
{/* Organic shape 1 - leaf-like */}
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ export default function FsmaReportModal({ brandId }: { brandId: string }) {
|
|||||||
className="absolute inset-0"
|
className="absolute inset-0"
|
||||||
style={{
|
style={{
|
||||||
background: "linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 100%)",
|
background: "linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 100%)",
|
||||||
backdropFilter: "blur(60px) saturate(180%)",
|
backdropFilter: "blur(8px) saturate(180%)",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -296,8 +296,8 @@ export default function FsmaReportModal({ brandId }: { brandId: string }) {
|
|||||||
className="relative w-full max-w-5xl rounded-2xl max-h-[90vh] flex flex-col"
|
className="relative w-full max-w-5xl rounded-2xl max-h-[90vh] flex flex-col"
|
||||||
style={{
|
style={{
|
||||||
background: "rgba(255, 255, 255, 0.92)",
|
background: "rgba(255, 255, 255, 0.92)",
|
||||||
backdropFilter: "blur(40px) saturate(200%)",
|
backdropFilter: "blur(8px) saturate(200%)",
|
||||||
WebkitBackdropFilter: "blur(40px) saturate(200%)",
|
WebkitBackdropFilter: "blur(8px) saturate(200%)",
|
||||||
border: "1px solid rgba(255, 255, 255, 0.5)",
|
border: "1px solid rgba(255, 255, 255, 0.5)",
|
||||||
boxShadow: `
|
boxShadow: `
|
||||||
0 25px 50px -12px rgba(0, 0, 0, 0.25),
|
0 25px 50px -12px rgba(0, 0, 0, 0.25),
|
||||||
|
|||||||
@@ -683,7 +683,7 @@ export default function LotDetailPanel({
|
|||||||
className="absolute -bottom-0.5 -right-0.5 sm:-bottom-1 sm:-right-1 h-3 w-3 sm:h-4 sm:w-4 rounded-full border-2 border-white"
|
className="absolute -bottom-0.5 -right-0.5 sm:-bottom-1 sm:-right-1 h-3 w-3 sm:h-4 sm:w-4 rounded-full border-2 border-white"
|
||||||
style={{ backgroundColor: cfg.dot }}
|
style={{ backgroundColor: cfg.dot }}
|
||||||
>
|
>
|
||||||
<span className="absolute inset-0 rounded-full animate-ping opacity-75" style={{ backgroundColor: cfg.dot, animationDuration: "2s" }} />
|
<span className="absolute inset-0 rounded-full animate-ping opacity-75" style={{ backgroundColor: cfg.dot, animationDuration: "950ms" }} />
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export default function StatusBadge({ status }: { status: string }) {
|
|||||||
<span className="relative flex h-2 w-2">
|
<span className="relative flex h-2 w-2">
|
||||||
<span
|
<span
|
||||||
className="absolute inline-flex h-full w-full rounded-full opacity-75 animate-ping"
|
className="absolute inline-flex h-full w-full rounded-full opacity-75 animate-ping"
|
||||||
style={{ backgroundColor: config.ring, animationDuration: "2s" }}
|
style={{ backgroundColor: config.ring, animationDuration: "950ms" }}
|
||||||
/>
|
/>
|
||||||
<span
|
<span
|
||||||
className="relative inline-flex h-2 w-2 rounded-full"
|
className="relative inline-flex h-2 w-2 rounded-full"
|
||||||
|
|||||||
@@ -199,8 +199,8 @@ export default function TuxedoVideoHero({
|
|||||||
className="parallax-float absolute top-1/4 left-1/4 w-64 h-64 rounded-full opacity-20"
|
className="parallax-float absolute top-1/4 left-1/4 w-64 h-64 rounded-full opacity-20"
|
||||||
style={{
|
style={{
|
||||||
background: "radial-gradient(circle, rgba(255,215,0,0.4) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(255,215,0,0.4) 0%, transparent 70%)",
|
||||||
filter: "blur(40px)",
|
filter: "blur(8px)",
|
||||||
animation: "tvh-float-slow 10s ease-in-out infinite",
|
animation: "tvh-float-slow 950ms ease-in-out infinite",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* Emerald orb bottom-right */}
|
{/* Emerald orb bottom-right */}
|
||||||
@@ -208,8 +208,8 @@ export default function TuxedoVideoHero({
|
|||||||
className="parallax-float absolute bottom-1/3 right-1/4 w-48 h-48 rounded-full opacity-15"
|
className="parallax-float absolute bottom-1/3 right-1/4 w-48 h-48 rounded-full opacity-15"
|
||||||
style={{
|
style={{
|
||||||
background: "radial-gradient(circle, rgba(16,185,129,0.4) 0%, transparent 70%)",
|
background: "radial-gradient(circle, rgba(16,185,129,0.4) 0%, transparent 70%)",
|
||||||
filter: "blur(30px)",
|
filter: "blur(8px)",
|
||||||
animation: "tvh-float-delayed 12s ease-in-out infinite",
|
animation: "tvh-float-delayed 950ms ease-in-out infinite",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/* Subtle grain overlay */}
|
{/* Subtle grain overlay */}
|
||||||
@@ -388,7 +388,7 @@ export default function TuxedoVideoHero({
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="w-1.5 h-3 rounded-full bg-white tvh-scroll-indicator"
|
className="w-1.5 h-3 rounded-full bg-white tvh-scroll-indicator"
|
||||||
style={{ animationDuration: "1.5s" }}
|
style={{ animationDuration: "950ms" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export function LoadingFade() {
|
|||||||
style={{
|
style={{
|
||||||
background:
|
background:
|
||||||
"linear-gradient(90deg, transparent 0%, #14532D 50%, transparent 100%)",
|
"linear-gradient(90deg, transparent 0%, #14532D 50%, transparent 100%)",
|
||||||
animation: "transition-shimmer 1.4s ease-in-out infinite",
|
animation: "transition-shimmer 950ms ease-in-out infinite",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user