// site-watch-now.jsx — Watch Now section for homepage (streaming week only) // Inserted in site-home.jsx when festival.streaming.enabled === true const WN_STRAND_COLORS = { Fiction: { color:"#ff5c70", grad:"linear-gradient(150deg,#611f2f 0%,#2d1019 100%)" }, Documentary: { color:"#9b6fc0", grad:"linear-gradient(150deg,#42295f 0%,#241646 100%)" }, Animation: { color:"#ffc436", grad:"linear-gradient(150deg,#634b1a 0%,#2d230c 100%)" }, Experimental: { color:"#5fd0d8", grad:"linear-gradient(150deg,#13444a 0%,#0b2126 100%)" }, }; const WN_STRAND_DESC = { Fiction: "Narratives that reimagine the short form — intimate, precise, and formally adventurous.", Documentary: "Films that find the extraordinary inside ordinary lives and overlooked corners of the world.", Animation: "Hand-drawn, painted, and crafted frame by frame — every second a work of craft.", Experimental: "Work that pushes at the boundaries of what film can be.", }; function wnStrandFallback(sc) { return `radial-gradient(120% 85% at 80% 16%,${sc.color}4d 0%,transparent 50%),radial-gradient(90% 70% at 8% 98%,${sc.color}26 0%,transparent 52%),${sc.grad}`; } // ── LiveHeroSection — shown when festival.streaming.live.enabled === true ── function LiveHeroSection({ live }) { const items = live.items || {}; const item = items[live.activeItem] || {}; const isAwards = live.activeItem === 'Awards'; const sc = WN_STRAND_COLORS[live.activeItem]; const color = sc ? sc.color : '#ffc436'; const getYtId = url => { if (!url) return null; const m = url.match(/(?:v=|youtu\.be\/|embed\/)([^&?/]+)/); return m ? m[1] : null; }; const ytId = getYtId(item.url); return (
Live Now · {isAwards ? "Paper Bird Awards" : live.activeItem}

{item.title || (isAwards ? "Paper Bird Awards Ceremony" : live.activeItem + " · Live")}

{ytId ? (