const SUPABASE_URL = 'https://mzkyuqtzsfccfmucfuot.supabase.co'; const SUPABASE_ANON_KEY = 'sb_publishable_oo435N6BAepeAPsCwBTKkg_GrhG3kJs'; const db = window.supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY); function formatDate(dateStr) { if (!dateStr) return ''; const d = new Date(dateStr); return d.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); } function formatDateShort(dateStr) { if (!dateStr) return ''; const d = new Date(dateStr); return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }); } function typeLabel(type) { return type === 'intelligence_update' ? 'Intelligence Update' : 'Deep Analysis'; } function typeBadgeClass(type) { return type === 'intelligence_update' ? 'badge-intel' : 'badge-analysis'; } function readTime(body) { if (!body) return '1 min read'; const words = body.replace(/<[^>]+>/g, '').split(/\s+/).length; const mins = Math.max(1, Math.round(words / 200)); return `${mins} min read`; } function postUrl(slug) { return `post.html?slug=${slug}`; } function renderPostCard(post) { const cat = post.categories; const catName = cat ? cat.name : ''; const catColor = cat ? cat.color : '#c9a84c'; return `
${typeLabel(post.type)} ${catName ? `${catName}` : ''}

${post.title}

${post.summary || ''}

${readTime(post.body)}
`; } function renderError(container, msg) { container.innerHTML = `
${msg}
`; }