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:
34
components/ui/scroll-progress.tsx
Normal file
34
components/ui/scroll-progress.tsx
Normal 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}
|
||||
/>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user