Bók Lífsins

Book of Life

Guest
Demo Mode - Viewing sample data. to see real stories.

Welcome to my digital life story archive. Here you can read my life story in different ways.

📖
1301
Stories
👥
99
People
📍
12
Locations
📷
73,615
Photos

📅 Recent Activity

View all →
Loading recent activity...

📖 Life Stories

📖
Virtual Book
1301 stories
📜
Report
100 page autobiography (5 parts)
💬
ChatGPT Conversations
AI conversations
📍
Timeline
Timeline 1976-2025
🖼️
Timeline Wall
Facebook-style timeline
🔍
Story Lens
AI story analysis

📸 Media

📸
Photos
73,615 photos
🎬
Videos
Cloudflare Stream
📱
Screenshots
App screenshots
📁
Files
R2 storage

🎨 Creative

🎵
Songs
Music in progress
🖼️
Art Gallery
Photos available as prints

🛠️ Tools

✍️
Add Story
New story
🎙️ NEW: Voice Recorder
⬆️
Upload
Photos, files
Interactive
Interactive version
⚙️
Admin
Control panel

🔗 Connected Apps

🩺
MyHealth
Health & lifestyle data
🤖

Chat with Stories

Ask me about the life stories

Hello! I am the Book of Life assistant. Ask me about the life stories - I can search through 1301 stories and find connections. 🔍
'); } // Keyboard shortcuts document.addEventListener('keydown', function(e) { // Cmd+K / Ctrl+K to open if ((e.metaKey || e.ctrlKey) && e.key === 'k') { e.preventDefault(); openGlobalSearch(); return; } const modal = document.getElementById('globalSearchModal'); if (!modal.classList.contains('active')) return; // ESC to close if (e.key === 'Escape') { e.preventDefault(); closeGlobalSearch(); return; } // Arrow key navigation const items = document.querySelectorAll('.gs-item'); if (items.length === 0) return; if (e.key === 'ArrowDown') { e.preventDefault(); selectedIndex = Math.min(selectedIndex + 1, items.length - 1); updateSelection(items); } else if (e.key === 'ArrowUp') { e.preventDefault(); selectedIndex = Math.max(selectedIndex - 1, -1); updateSelection(items); } else if (e.key === 'Enter' && selectedIndex >= 0) { e.preventDefault(); items[selectedIndex].click(); } }); // Update selection highlight function updateSelection(items) { items.forEach((item, index) => { if (index === selectedIndex) { item.classList.add('selected'); item.scrollIntoView({ block: 'nearest', behavior: 'smooth' }); } else { item.classList.remove('selected'); } }); } // Search input handler with debouncing const searchInput = document.getElementById('globalSearchInput'); if (searchInput) { searchInput.addEventListener('input', function(e) { const query = e.target.value.trim(); // Clear previous timeout if (searchTimeout) { clearTimeout(searchTimeout); } // Debounce search (300ms) searchTimeout = setTimeout(() => { performSearch(query); }, 300); }); } // Expose functions to global scope window.clearRecentSearches = clearRecentSearches; })();