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:
Nora
2026-06-26 05:37:06 -06:00
parent 6547498ea4
commit ab8466e021
12 changed files with 39 additions and 39 deletions
+2 -2
View File
@@ -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>
+2 -2
View File
@@ -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>
+2 -2
View File
@@ -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">
+2 -2
View File
@@ -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>
+2 -2
View File
@@ -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>
+15 -15
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>