(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NH3D6W8T');
❌Unauthorized use, reproduction, or redistribution is prohibited and may result in legal action, including financial damages and penalties. Ceartas DMCA will pursue civil and criminal litigation against anyone infringing our clients' copyrights.❌
Now Showing
Loading...
Loading...
const API = "https://raw.githubusercontent.com/RaineHanley/now-showing/main/nowshowing.json"; let items = [], cur = 0, tmr; function readText(val) { if (val == null) return ""; if (typeof val === "object") { return String(val.plain_text || val?.text?.content || "").trim(); } const s = String(val).trim(); if (!s) return ""; if ((s.startsWith("{") && s.endsWith("}")) || (s.startsWith("[") && s.endsWith("]"))) { try { const obj = JSON.parse(s); return String(obj?.plain_text || obj?.text?.content || obj?.name || "").trim() || s; } catch (e) { return s; } } return s; } function readISO(val) { const s = readText(val); if (!s) return ""; const d = new Date(s); return isNaN(d.getTime()) ? "" : d.toISOString(); } async function load() { try { const r = await fetch(API + "?t=" + Date.now(), { cache: "no-store" }); if (!r.ok) throw new Error("Bad response: " + r.status); const raw = await r.json(); const videos = (Array.isArray(raw) ? raw[0]?.videos : raw?.videos) || []; items = videos.map(v => { const title = readText(v.title); const subtitle = readText(v.subtitle); const category = readText(v.category || v.cat || v.type); const expiryISO = readISO(v.expiry || v.expiration || v.expires || v.expiry_date || v.expirationDate); return { title, subtitle, category, expiry: expiryISO }; }).filter(x => x.title); } catch (e) { console.log("load error", e); items = [{ title: "Loading error", subtitle: "Check webhook response", category: "", expiry: "" }]; } ticker(); slides(); auto(); } function ticker() { const t = document.getElementById("nbTicker"); if (!items.length) { t.innerHTML = 'No videos'; return; } const h = items.map(d => { const cat = d.category ? ` • ${escapeHtml(d.category)}` : ""; return `${escapeHtml(d.title)}${cat}`; }).join(""); t.innerHTML = h + h; } function slides() { const c = document.getElementById("nbContent"); const n = document.getElementById("nbNav"); const pipes = ''; if (!items.length) { c.innerHTML = pipes + '