From 184057a0f70ae6b3e391c809384abba6717bfd5d Mon Sep 17 00:00:00 2001 From: defiQUG Date: Sat, 4 Oct 2025 21:21:44 -0700 Subject: [PATCH] feat: enhance 3D floating particles and geometric shapes; improve background animations and parallax effects --- src/App.tsx | 469 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 396 insertions(+), 73 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 1deebda..a8395b4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -143,32 +143,87 @@ function ParallaxContainer({ children, depth = 1, className = '' }: ParallaxCont ) } -// Floating Particles Background +// Enhanced 3D Floating Particles Background function FloatingParticles() { - const particles = Array.from({ length: 50 }, (_, i) => i) + const particles = Array.from({ length: 30 }, (_, i) => i) return (
- {particles.map((i) => ( + {particles.map((i) => { + const size = Math.random() * 3 + 1 + const depth = Math.random() * 4 + 1 + return ( + + ) + })} +
+ ) +} + +// 3D Geometric Shapes Component +function Floating3DShapes() { + const shapes = [ + { type: 'cube', color: 'from-primary-500/15 to-primary-600/15', size: 12 }, + { type: 'sphere', color: 'from-secondary-500/15 to-secondary-600/15', size: 16 }, + { type: 'pyramid', color: 'from-primary-400/15 to-secondary-500/15', size: 14 }, + ] + + return ( +
+ {shapes.map((shape, i) => Array.from({ length: 3 }, (_, j) => ( - ))} + )) + )}
) } @@ -466,12 +521,32 @@ function Hero() { return (
- {/* 3D Background Layer */} + {/* Enhanced 3D Background Layers */} + + {/* Animated depth gradient */} + + + + + {/* Content Layer with Parallax */} @@ -519,43 +594,135 @@ function Hero() { - {/* 3D Floating Elements */} -
+ {/* 3D Scroll Indicator */} + +
+ Scroll to explore + + + +
+
+ + {/* Enhanced 3D Icon Elements with More Visibility */} +
+ {/* Top layer - more visible and engaging */} + + {/* Additional floating heart */} - + + + {/* Right side - more prominent sparkles */} + + + + {/* Additional floating sparkle */} + + + + + {/* Bottom area - enhanced users icon */} + + + + + {/* Additional community icon */} + + + + + {/* Additional subtle elements */} + - +
@@ -647,12 +814,38 @@ function Programs() { ] return ( -
-
- +
+ {/* Background 3D Elements */} +
+ + +
+ +
+ + +
{items.map((i, idx) => ( - + + + ))}
@@ -688,23 +881,48 @@ function Impact() { return (
-
- + {/* Enhanced Background Elements */} +
+ + +
+ +
+
{stats.map((s, i) => ( - + @@ -767,38 +985,143 @@ function HowItWorks() { ] return ( -
-
- +
+ {/* Animated Background Elements */} +
+ + + +
+ +
+ + +
-
-
    - {steps.map((s, i) => ( -
  1. -
    - {i + 1} -
    -
    {s.title}
    -

    {s.body}

    -
  2. - ))} -
-
+ + +
    + {steps.map((s, i) => ( + + + {i + 1} + +
    {s.title}
    +

    {s.body}

    +
    + ))} +
+
+
-
-
-
-
Donor promise
-
-

Your gift funds direct student needs first. We publish anonymized impact and receipts for transparency.

-
-
-
-
-
For counselors
-
-

One-page referral. No uploads required. We do the running so students don't miss class.

-
+ + +
+ + + +
Donor promise
+
+

Your gift funds direct student needs first. We publish anonymized impact and receipts for transparency.

+
+
+ + +
+ + + +
For counselors
+
+

One-page referral. No uploads required. We do the running so students don't miss class.

+
+