🎯 Smooth Scroll Behavior: - Added smooth scroll CSS for seamless navigation - Scroll indicator now links to #tools section - Added hover states for scroll indicator - Accessibility: respects prefers-reduced-motion 🏷️ Tool Badges: - Added feature badges to each tool card - Vert: Privacy, Open Source, Free - Paint: Browser-Based, Free - Pastel: Open Source, WCAG, Free - Subtle glassmorphic badge design ⬆️ Back to Top Button: - Animated button appears after scrolling 300px - Smooth scroll to top on click - Hover tooltip with "Back to top" label - Scale animations on hover/tap - Progress bar at top showing scroll position - Gradient progress indicator ♿ Accessibility: - Added prefers-reduced-motion support - Proper ARIA labels - Keyboard accessible - Smooth animations respect user preferences 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
72 lines
2.5 KiB
TypeScript
72 lines
2.5 KiB
TypeScript
'use client';
|
|
|
|
import { motion } from 'framer-motion';
|
|
import Logo from './Logo';
|
|
|
|
export default function Hero() {
|
|
return (
|
|
<section className="relative min-h-screen flex flex-col items-center justify-center px-4 py-20">
|
|
<div className="max-w-6xl mx-auto text-center">
|
|
{/* Logo */}
|
|
<motion.div
|
|
className="mb-8 flex justify-center"
|
|
initial={{ opacity: 0, y: -50 }}
|
|
animate={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.8 }}
|
|
>
|
|
<Logo size={160} />
|
|
</motion.div>
|
|
|
|
{/* Main heading */}
|
|
<motion.h1
|
|
className="text-6xl md:text-8xl font-bold mb-6 bg-clip-text text-transparent bg-gradient-to-r from-purple-400 via-pink-400 to-cyan-400"
|
|
initial={{ opacity: 0, y: 20 }}
|
|
animate={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.8, delay: 0.2 }}
|
|
>
|
|
Kit
|
|
</motion.h1>
|
|
|
|
{/* Subtitle */}
|
|
<motion.p
|
|
className="text-xl md:text-2xl text-gray-300 mb-4 max-w-2xl mx-auto"
|
|
initial={{ opacity: 0, y: 20 }}
|
|
animate={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.8, delay: 0.4 }}
|
|
>
|
|
Your Creative Toolkit
|
|
</motion.p>
|
|
|
|
{/* Description */}
|
|
<motion.p
|
|
className="text-base md:text-lg text-gray-400 mb-12 max-w-xl mx-auto"
|
|
initial={{ opacity: 0, y: 20 }}
|
|
animate={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.8, delay: 0.6 }}
|
|
>
|
|
A curated collection of creative and utility tools for developers and creators.
|
|
Simple, powerful, and always at your fingertips.
|
|
</motion.p>
|
|
|
|
{/* Scroll indicator */}
|
|
<motion.a
|
|
href="#tools"
|
|
className="flex flex-col items-center gap-2 cursor-pointer group"
|
|
initial={{ opacity: 0 }}
|
|
animate={{ opacity: 1 }}
|
|
transition={{ duration: 0.8, delay: 1 }}
|
|
>
|
|
<span className="text-sm text-gray-500 group-hover:text-gray-400 transition-colors">Explore Tools</span>
|
|
<motion.div
|
|
className="w-6 h-10 border-2 border-gray-600 group-hover:border-purple-400 rounded-full p-1 transition-colors"
|
|
animate={{ y: [0, 10, 0] }}
|
|
transition={{ duration: 1.5, repeat: Infinity }}
|
|
>
|
|
<div className="w-1 h-2 bg-gradient-to-b from-purple-400 to-cyan-400 rounded-full mx-auto" />
|
|
</motion.div>
|
|
</motion.a>
|
|
</div>
|
|
</section>
|
|
);
|
|
}
|