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);