"use client" import { useMemo } from "react" import Link from "next/link" import { StickySplit } from "./sticky-split" import { SectionLabel } from "./section-label" import { Reveal } from "./reveal" import { Button } from "@/components/ui/button" // Shadcn button for variety or United button // Use United Button import { Button as UnitedButton } from "./button" import { artists as staticArtists } from "@/data/artists" import { useActiveArtists } from "@/hooks/use-artists" export function NewArtistsSection() { // Fetch artists logic const { data: dbArtistsData, isLoading, error } = useActiveArtists() const artists = useMemo(() => { if (isLoading || error || !dbArtistsData) { return staticArtists } return staticArtists.map(staticArtist => { const dbArtist = dbArtistsData.artists.find( (db) => db.slug === staticArtist.slug || db.name === staticArtist.name ) if (dbArtist && dbArtist.portfolioImages.length > 0) { return { ...staticArtist, workImages: dbArtist.portfolioImages.map(img => img.url) } } return staticArtist }) }, [dbArtistsData, isLoading, error]) return (
03 • The Team

Resident Artists

Each artist brings a unique style and perspective. From realism to traditional, we have a specialist for your idea.

Book an Artist
} >
{artists.map((artist, i) => (
{/* Image */}
{artist.name}
{/* Content */}
{artist.specialty}

{artist.name}

))}
Book an Artist
) }