/* global React, Eyebrow, Reveal, Icon */ const { useState } = React; function Collections({ onOpenPhoto }) { const items = window.TB_COLLECTIONS || []; const [idx, setIdx] = useState(0); const visible = items.slice(idx, idx + 4); const next = () => setIdx((i) => Math.min(items.length - 4, i + 1)); const prev = () => setIdx((i) => Math.max(0, i - 1)); return (
collections · selected New York photography sets

recent New York shoots.

view all photography projects {String(idx + 1).padStart(2, '0')} to {String(Math.min(items.length, idx + 4)).padStart(2, '0')} / {String(items.length).padStart(2, '0')} = items.length - 4} />
{visible.map((c, i) => ( ))}
); } function CollectionCard({ collection, delay }) { const [hover, setHover] = useState(false); return ( setHover(true)} onMouseLeave={() => setHover(false)} style={{ position: 'relative', padding: 0, border: 'none', background: 'transparent', cursor: 'pointer', textAlign: 'left', overflow: 'hidden', borderRadius: 16, width: '100%', display: 'block', aspectRatio: '16 / 11', textDecoration: 'none', boxShadow: hover ? '0 18px 40px -12px rgba(22,21,19,0.35)' : '0 6px 18px -10px rgba(22,21,19,0.22)', transition: 'box-shadow 320ms var(--ease-out)', }} > {`${collection.title},

{collection.title} · {collection.year}

{collection.location} · {collection.frames} frames
); } function NavBtn({ icon, onClick, disabled }) { return ( ); } window.Collections = Collections;