"use client" import { useState, useEffect } from "react" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import Link from "next/link" import { ArrowLeft, Star, MapPin, Calendar, Instagram, ExternalLink } from "lucide-react" // Mock data - in a real app, this would come from a database const artistsData = { "1": { id: "1", name: "Sarah Chen", specialty: "Traditional & Neo-Traditional", image: "/professional-female-tattoo-artist-with-traditional.jpg", bio: "Specializing in bold traditional designs with a modern twist. Sarah brings 8 years of experience creating vibrant, timeless tattoos that honor the classic American traditional style while incorporating contemporary elements.", experience: "8 years", rating: 4.9, reviews: 127, location: "Studio A", availability: "Available", styles: ["Traditional", "Neo-Traditional", "American Traditional", "Color Work"], instagram: "@sarahchen_tattoo", portfolio: [ { id: 1, image: "/traditional-rose-tattoo-with-bold-colors.jpg", title: "Traditional Rose", category: "Traditional", }, { id: 2, image: "/neo-traditional-wolf-tattoo-design.jpg", title: "Neo-Traditional Wolf", category: "Neo-Traditional", }, { id: 3, image: "/american-traditional-anchor-tattoo.jpg", title: "American Traditional Anchor", category: "Traditional", }, { id: 4, image: "/colorful-traditional-bird-tattoo.jpg", title: "Traditional Bird", category: "Color Work" }, { id: 5, image: "/placeholder-jmey3.png", title: "Traditional Eagle", category: "Traditional" }, { id: 6, image: "/placeholder-ah8n2.png", title: "Neo-Traditional Snake", category: "Neo-Traditional" }, { id: 7, image: "/placeholder-s803z.png", title: "Traditional Panther", category: "Color Work" }, { id: 8, image: "/placeholder-e6fqm.png", title: "Traditional Ship", category: "Traditional" }, { id: 9, image: "/placeholder-qrydh.png", title: "Neo-Traditional Fox", category: "Neo-Traditional" }, { id: 10, image: "/placeholder-s31fj.png", title: "Traditional Dagger", category: "Traditional" }, { id: 11, image: "/placeholder-xzjye.png", title: "Traditional Butterfly", category: "Color Work" }, { id: 12, image: "/placeholder-mjx9t.png", title: "Neo-Traditional Deer", category: "Neo-Traditional" }, { id: 13, image: "/placeholder-882fw.png", title: "Traditional Skull", category: "Traditional" }, { id: 14, image: "/placeholder-0h0qb.png", title: "Traditional Lighthouse", category: "Traditional" }, { id: 15, image: "/placeholder-mykqu.png", title: "Neo-Traditional Octopus", category: "Neo-Traditional" }, { id: 16, image: "/placeholder-jk026.png", title: "Traditional Tiger", category: "Color Work" }, { id: 17, image: "/placeholder-ju7df.png", title: "Traditional Swallow", category: "Traditional" }, { id: 18, image: "/placeholder-r6l7b.png", title: "Neo-Traditional Moon", category: "Neo-Traditional" }, { id: 19, image: "/placeholder-lh3ki.png", title: "Traditional Heart", category: "Traditional" }, { id: 20, image: "/placeholder.svg?height=400&width=300", title: "Traditional Koi", category: "Color Work" }, ], testimonials: [ { name: "Jessica M.", rating: 5, text: "Sarah created the most beautiful traditional rose tattoo for me. Her attention to detail and color work is incredible!", }, { name: "Mike R.", rating: 5, text: "Amazing artist! The neo-traditional piece she did exceeded all my expectations. Highly recommend!", }, ], }, // Add other artists data here... } interface ArtistPortfolioProps { artistId: string } export function ArtistPortfolio({ artistId }: ArtistPortfolioProps) { const [selectedCategory, setSelectedCategory] = useState("All") const [selectedImage, setSelectedImage] = useState(null) const [scrollY, setScrollY] = useState(0) const artist = artistsData[artistId as keyof typeof artistsData] useEffect(() => { const handleScroll = () => setScrollY(window.scrollY) window.addEventListener("scroll", handleScroll) return () => window.removeEventListener("scroll", handleScroll) }, []) if (!artist) { return (

Artist not found

) } const categories = ["All", ...Array.from(new Set(artist.portfolio.map((item) => item.category)))] const filteredPortfolio = selectedCategory === "All" ? artist.portfolio : artist.portfolio.filter((item) => item.category === selectedCategory) return (
{/* Back Button */}
{/* Hero Section with Split Screen */}
{/* Left Side - Artist Image */}
{artist.name}
{artist.availability}
{/* Right Side - Artist Info */}

{artist.name}

{artist.specialty}

{artist.rating} ({artist.reviews} reviews)

{artist.bio}

{artist.experience} experience
{artist.location}
{artist.instagram}

Specializes in:

{artist.styles.map((style) => ( {style} ))}
{/* Curved Border */}
{/* Portfolio Section with Split Screen Layout */}
{/* Left Side - Portfolio Grid */}
{filteredPortfolio.map((item, index) => (
setSelectedImage(item.id)}>
{item.title}

{item.title}

))}
{/* Right Side - Sticky Header and Info */}

Featured Work

{filteredPortfolio.length}

Explore {artist.name}'s portfolio showcasing {artist.experience} of expertise in{" "} {artist.specialty.toLowerCase()}. Each piece represents a unique collaboration between artist and client.

{/* Category Filter */}

Filter by Style

{categories.map((category) => ( ))}
{/* Quick Stats */}
{artist.portfolio.length}
Pieces
{artist.rating}
Rating
{/* Reviews Section */}

What Clients Say

{/* Duplicate testimonials for seamless loop */} {[...artist.testimonials, ...artist.testimonials, ...artist.testimonials, ...artist.testimonials].map( (testimonial, index) => (
{/* Enhanced spotlight background with stronger separation */}
{[...Array(testimonial.rating)].map((_, i) => ( ))}
"{testimonial.text}"
— {testimonial.name}
), )}
{/* Contact Section */}

Ready to Get Started?

Book a consultation with {artist.name} to discuss your next tattoo. Whether you're looking for a traditional piece or something with a modern twist, let's bring your vision to life.

{artist.experience}
Experience
{artist.reviews}+
Happy Clients
{artist.rating}/5
Average Rating
{/* Image Modal */} {selectedImage && (
setSelectedImage(null)} >
item.id === selectedImage)?.image || "/placeholder.svg"} alt="Portfolio piece" className="max-w-full max-h-full object-contain" />
)}
) }