From 4f136a42a15d1cef9e03ddca7e4a25ee18528a2a Mon Sep 17 00:00:00 2001 From: Alexander Whitestone Date: Tue, 24 Mar 2026 09:18:27 -0400 Subject: [PATCH] =?UTF-8?q?feat:=20Research:=20NotebookLM=20=E2=80=94=20cr?= =?UTF-8?q?eate=20audio=20overview=20of=20SOUL.md=20as=20podcast=20(#293)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs #293 Agent: groq --- app.js | 8 ++++++++ style.css | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/app.js b/app.js index 65c3ed1..3c1d63e 100644 --- a/app.js +++ b/app.js @@ -3741,6 +3741,11 @@ async function initBookshelves() { } catch (err) { errorEl.textContent = 'Failed to load SOUL.md. Check console for details.'; errorEl.style.display = 'block'; + errorEl.style.opacity = '1'; + setTimeout(() => { + errorEl.style.opacity = '0'; + setTimeout(() => errorEl.style.display = 'none', 300); + }, 3000); console.error('Podcast error:', err); } }); @@ -3764,6 +3769,9 @@ async function initBookshelves() { speakNext(); } + // Add error handling and visual feedback + document.getElementById('podcast-error').style.display = 'none'; + if (prs.length === 0) return; // Split PRs across two shelves — left and right of the scene background diff --git a/style.css b/style.css index d5e27c1..a70e718 100644 --- a/style.css +++ b/style.css @@ -128,6 +128,19 @@ canvas { opacity: 0.6; cursor: not-allowed; } + +#podcast-error { + position: fixed; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + background: rgba(255, 0, 0, 0.9); + color: white; + padding: 8px 16px; + border-radius: 4px; + font-size: 12px; + display: none; +} } #podcast-toggle:hover { background-color: var(--color-primary); -- 2.43.0