feat: build resume website with MagicUI components

- 6 sections: Hero, About, Experience, Skills, Projects, Contact
- MagicUI: Globe, Particles, Meteors, AnimatedList, IconCloud, BentoGrid
- Dark mode support, scroll-triggered animations
- Static export ready for deployment
This commit is contained in:
2026-04-14 15:09:48 +08:00
parent a0207c673f
commit 6fec90ea71
28 changed files with 8547 additions and 18 deletions

View File

@@ -0,0 +1,34 @@
"use client"
import { motion, useScroll, type MotionProps } from "motion/react"
import { cn } from "@/lib/utils"
interface ScrollProgressProps extends Omit<
React.HTMLAttributes<HTMLElement>,
keyof MotionProps
> {
ref?: React.Ref<HTMLDivElement>
}
export function ScrollProgress({
className,
ref,
...props
}: ScrollProgressProps) {
const { scrollYProgress } = useScroll()
return (
<motion.div
ref={ref}
className={cn(
"fixed inset-x-0 top-0 z-50 h-px origin-left bg-linear-to-r from-[#A97CF8] via-[#F38CB8] to-[#FDCC92]",
className
)}
style={{
scaleX: scrollYProgress,
}}
{...props}
/>
)
}