From c0a58b812d5eee20ea0726a22528486f0ef1b9c7 Mon Sep 17 00:00:00 2001 From: nitin mohan Date: Tue, 14 Jul 2026 21:00:11 +0530 Subject: [PATCH] fix the jumping arch in mobile version and gives it winds wave animation --- .../university/premium-animated-boy.tsx | 19 +-- .../university/university-flow-banner.tsx | 136 ++++++++++++++---- 2 files changed, 119 insertions(+), 36 deletions(-) diff --git a/components/university/premium-animated-boy.tsx b/components/university/premium-animated-boy.tsx index 199ea23..34ae2f0 100644 --- a/components/university/premium-animated-boy.tsx +++ b/components/university/premium-animated-boy.tsx @@ -14,11 +14,12 @@ export const PremiumAnimatedBoy = ({ }) => { const [stride, setStride] = useState(0); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const t: any = { + const t: import("framer-motion").Transition = { duration: isJumping && jumpType === "running" ? 0.6 : 0.45, ease: - isJumping && jumpType === "running" ? "easeInOut" : [0.25, 1, 0.35, 1], + isJumping && jumpType === "running" + ? "easeInOut" + : ([0.25, 1, 0.35, 1] as const), }; const ht = { repeat: Infinity, @@ -27,8 +28,10 @@ export const PremiumAnimatedBoy = ({ ease: "easeInOut" as const, }; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const sideToFrontVars = (sideVal: number, frontVal: number): any => ({ + const sideToFrontVars = ( + sideVal: number, + frontVal: number + ): import("framer-motion").Variants => ({ run_a: { x: sideVal, transition: t }, run_b: { x: sideVal, transition: t }, standing_jump: { x: sideVal, transition: t }, @@ -102,8 +105,7 @@ export const PremiumAnimatedBoy = ({ k_h: number[], L1: number, L2: number - // eslint-disable-next-line @typescript-eslint/no-explicit-any - ): any => ({ + ): import("framer-motion").Variants => ({ run_a: { d: getLimbPath(h_ra, k_ra, L1, L2), transition: t }, run_b: { d: getLimbPath(h_rb, k_rb, L1, L2), transition: t }, standing_jump: { d: getLimbPath(h_j, k_j, L1, L2), transition: t }, @@ -136,8 +138,7 @@ export const PremiumAnimatedBoy = ({ a_h: number[] | null, L1: number, L2: number - // eslint-disable-next-line @typescript-eslint/no-explicit-any - ): any => ({ + ): import("framer-motion").Variants => ({ run_a: { ...getEndObj(h_ra, k_ra, L1, L2), rotate: h_ra.map((h, i) => h + k_ra[i] + (a_ra?.[i] || 0)), diff --git a/components/university/university-flow-banner.tsx b/components/university/university-flow-banner.tsx index 0c51d56..153b70a 100644 --- a/components/university/university-flow-banner.tsx +++ b/components/university/university-flow-banner.tsx @@ -163,6 +163,114 @@ export default function UniversityFlowBanner() { jumpType={jumpGap === 0 ? "standing" : "running"} /> + {/* Premium Minimal Wind Waves */} + + {isJumping && ( + + + + + + + + + + + + + + + + + + {/* Wind Line 1 (Main) */} + + + {/* Wind Line 2 (Lower, thinner) */} + + + {/* Wind Line 3 (Highest, shortest) */} + + + + )} + + {activeStep === steps.length - 1 && !isJumping && ( <> {/* Minimal Radial Burst */} @@ -305,34 +413,8 @@ export default function UniversityFlowBanner() { {index < steps.length - 1 && (
- {jumpGap === index && ( - - - - )} + {/* The ground arc is removed in favor of the cartoon wave on his back */} - - {/* Mobile Separator */} -
)}