// Universal read-only viewer: // /share/:token -> fetch /api/shared/:token (secret link) // /share?idea=:id -> fetch /api/public/ideas/:id (public Explore item) function resolveEndpoint() { const parts = location.pathname.split("/").filter(Boolean); // ["share", token?] if (parts.length >= 2) return `/api/shared/${encodeURIComponent(parts[1])}`; const id = new URLSearchParams(location.search).get("idea"); if (id) return `/api/public/ideas/${encodeURIComponent(id)}`; return null; } async function load() { const root = $("#share-root"); const endpoint = resolveEndpoint(); if (!endpoint) { root.innerHTML = '
${escapeHtml(idea.description)}
` : "" }