import React, { useState, useEffect } from 'react';
import { motion, AnimatePresence, useScroll, useTransform } from 'framer-motion';
import {
ArrowUpRight,
Github,
Linkedin,
Twitter,
Mail,
BarChart3,
Zap,
Globe,
Menu,
X,
ChevronRight,
Send
} from 'lucide-react';
// --- DATA KONTAK & PROFIL (Disesuaikan dengan request) ---
const PROFILE = {
name: "Hakim",
role: "Digital Business Strategist & Serial Entrepreneur",
tagline: "Membangun ekosistem bisnis digital yang skalabel, estetis, dan berdampak tinggi.",
about: "Berpengalaman dalam mengubah ide kompleks menjadi produk digital yang user-centric dan menguntungkan. Saya memadukan intuisi desain dengan strategi pertumbuhan berbasis data untuk menciptakan bisnis yang bertahan lama di era digital.",
emailTarget: "hakim@storyseller.id",
socials: {
linkedin: "#",
twitter: "#",
github: "#"
},
// Menggunakan placeholder gambar berkualitas tinggi yang relevan
heroImage: "https://images.unsplash.com/photo-1519389950473-47ba0277781c?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", // Gambar tim/kerja kolaboratif gelap
profileImage: "https://images.unsplash.com/photo-1560250097-0b93528c311a?q=80&w=1887&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" // Foto profil profesional jas
};
const VENTURES = [
{
title: "FlowState Commerce",
category: "E-commerce Ecosystem",
description: "Platform *headless commerce* yang memungkinkan brand lokal berjualan global tanpa hambatan teknis.",
year: "2023",
icon:
},
{
title: "NeuroCreative Studio",
category: "AI-Driven Agency",
description: "Agensi kreatif yang memanfaatkan AI generatif untuk mempercepat produksi aset pemasaran startup.",
year: "2022",
icon:
},
{
title: "MetricsDAO",
category: "Web3 Analytics",
description: "Alat analitik terdesentralisasi untuk komunitas DAO dalam mengukur keterlibatan anggota.",
year: "2021",
icon:
}
];
// --- KONFIGURASI ANIMASI (Cubic Bezier untuk "Smoothness") ---
const transitionSmooth = { duration: 0.8, ease: [0.25, 0.4, 0.25, 1] }; // Kurva inersia premium
const containerStagger = {
animate: {
transition: { staggerChildren: 0.15, delayChildren: 0.2 }
}
};
const fadeInUp = {
initial: { y: 40, opacity: 0 },
animate: { y: 0, opacity: 1, transition: transitionSmooth }
};
const scaleIn = {
initial: { scale: 0.95, opacity: 0 },
animate: { scale: 1, opacity: 1, transition: transitionSmooth }
};
// --- KOMPONEN MODAL EMAIL ---
const ContactModal = ({ isOpen, onClose, targetEmail }) => {
const [subject, setSubject] = useState('');
const [body, setBody] = useState('');
const handleSend = () => {
const mailtoLink = `mailto:${targetEmail}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
window.open(mailtoLink, '_blank');
onClose();
setSubject('');
setBody('');
};
return (
{isOpen && (
<>
>
)}
);
};
// --- KOMPONEN UTAMA APP ---
const App = () => {
const [isMenuOpen, setIsMenuOpen] = useState(false);
const [isContactModalOpen, setIsContactModalOpen] = useState(false);
const [scrolled, setScrolled] = useState(false);
const { scrollY } = useScroll();
// Efek parallax halus untuk hero image
const heroImageY = useTransform(scrollY, [0, 500], ['0%', '20%']);
const heroTextY = useTransform(scrollY, [0, 300], ['0%', '10%']);
useEffect(() => {
const handleScroll = () => setScrolled(window.scrollY > 30);
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
const openContact = () => setIsContactModalOpen(true);
return (
setIsContactModalOpen(false)}
targetEmail={PROFILE.emailTarget}
/>
{/* Background Ambient Light */}
{/* Navbar */}
{/* Mobile Menu Overlay */}
{isMenuOpen && (
{['Ventures', 'About', 'Contact'].map((item) => (
setIsMenuOpen(false)} className="hover:text-blue-500 transition-colors">
{item}.
))}
)}
{/* Hero Section with Parallax Image Background */}
{/* Background Image */}
Architecting the
Digital Business
Landscape.
{PROFILE.tagline}
Start Collaboration
{[
{ icon: Linkedin, href: PROFILE.socials.linkedin },
{ icon: Twitter, href: PROFILE.socials.twitter },
{ icon: Github, href: PROFILE.socials.github }
].map((social, index) => (
))}
{/* Ventures Section - Estetik Kartu Ditingkatkan */}
Selected Ventures
Inisiatif digital yang saat ini saya bangun dan skalakan.
{VENTURES.map((venture, index) => (
{venture.icon}
{venture.year}
{venture.category}
{venture.title}
{venture.description}
Explore Case Study
))}
{/* About Section with Profile Image */}
{/* Decorative Elements for Image */}
The Approach
Bridging technical innovation with real-world market demands.
{PROFILE.about}
{['Data-Driven Strategy', 'Lean Startup', 'Productize Service', 'Scalable Systems', 'UI/UX Obsessed'].map((skill, i) => (
))}
{/* Contact Section - Aesthetic & CTA Refined */}
);
};
export default App;