console.log('JavaScript se izvaja...'); // DOM elementi const songNumberInput = document.getElementById('song-number'); const loadBtn = document.getElementById('load-btn'); const searchQueryInput = document.getElementById('search-query'); const searchBtn = document.getElementById('search-btn'); const capsBtn = document.getElementById('caps-btn'); const displayArea = document.getElementById('display-area'); const prevBtn = document.getElementById('prev-btn'); const nextBtn = document.getElementById('next-btn'); const darkBtn = document.getElementById('dark-btn'); const pageInfo = document.getElementById('page-info'); console.log('DOM elementi najdeni:', { songNumberInput: !!songNumberInput, loadBtn: !!loadBtn, searchQueryInput: !!searchQueryInput, searchBtn: !!searchBtn, capsBtn: !!capsBtn, displayArea: !!displayArea, prevBtn: !!prevBtn, nextBtn: !!nextBtn, darkBtn: !!darkBtn, pageInfo: !!pageInfo }); let capsMode = false; // Naloži trenutne podatke async function updateState() { console.log('updateState() se kliče...'); try { console.log('Pošiljam fetch za /api/state...'); const response = await fetch('/api/state'); console.log('Response status:', response.status); const data = await response.json(); console.log('Response data:', data); displayArea.textContent = data.current_text || 'Pripravljeno. Vpiši številko pesmi.'; pageInfo.textContent = data.page_info || ''; capsMode = data.caps_mode || false; if (capsMode) { capsBtn.classList.add('active'); } else { capsBtn.classList.remove('active'); } prevBtn.disabled = !data.can_prev; nextBtn.disabled = !data.can_next; console.log('updateState() uspešno zaključeno'); } catch (error) { console.error('Napaka pri posodabljanju stanja:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; prevBtn.disabled = true; nextBtn.disabled = true; loadBtn.disabled = true; searchBtn.disabled = true; capsBtn.disabled = true; darkBtn.disabled = true; } } // Naloži pesem async function loadSong() { console.log('loadSong() se kliče'); const songNumber = songNumberInput.value.trim(); console.log('Song number:', songNumber); if (!songNumber) return; try { console.log('Pošiljam POST za /api/load_song...'); const response = await fetch('/api/load_song', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({song_number: songNumber}) }); console.log('Response status:', response.status); const data = await response.json(); console.log('Response data:', data); songNumberInput.value = ''; updateState(); } catch (error) { console.error('Napaka pri nalaganju pesmi:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Naslednja stran async function nextPage() { try { await fetch('/api/next_page', {method: 'POST'}); updateState(); } catch (error) { console.error('Napaka pri navigaciji:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Prejšnja stran async function prevPage() { try { await fetch('/api/prev_page', {method: 'POST'}); updateState(); } catch (error) { console.error('Napaka pri navigaciji:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Zatemnitev ekrana async function clearScreen() { try { await fetch('/api/clear_screen', {method: 'POST'}); updateState(); } catch (error) { console.error('Napaka pri zatamnitvi ekrana:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Preklop VELIKIH ČRK async function toggleCaps() { try { const response = await fetch('/api/toggle_caps', {method: 'POST'}); updateState(); } catch (error) { console.error('Napaka pri preklopa velikih črk:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Iskanje pesmi async function searchSongs() { const query = searchQueryInput.value.trim(); if (!query) return; try { const response = await fetch('/api/search_songs', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({query: query}) }); const data = await response.json(); if (data.results && data.results.length > 0) { const resultList = data.results.map(item => `${item[0]}: ${item[1]}`).join('\n'); displayArea.innerHTML = '' + resultList.replace(//g, '>').replace(/\n/g, '
') + '
'; } else { displayArea.innerHTML = 'Ni zadetkov.'; } searchQueryInput.value = ''; } catch (error) { console.error('Napaka pri iskanju:', error); displayArea.innerHTML = 'Napaka: ni povezave do strežnika'; } } // Dodaj poslušalce console.log('Dodajam event listenerje...'); loadBtn.addEventListener('click', loadSong); console.log('loadBtn listener dodan'); songNumberInput.addEventListener('keypress', (e) => { if (e.key === 'Enter') loadSong(); }); console.log('songNumberInput listener dodan'); /* searchBtn.addEventListener('click', searchSongs); searchQueryInput.addEventListener('keypress', (e) => { if (e.key === 'Enter') searchSongs(); }); */ capsBtn.addEventListener('click', toggleCaps); prevBtn.addEventListener('click', prevPage); nextBtn.addEventListener('click', nextPage); darkBtn.addEventListener('click', clearScreen); console.log('Vsi event listenerji dodani'); // Začetna inicijalizacija console.log('Začenjam začetno inicijalizacijo...'); updateState(); // Osveži stanje vsako sekundo (za sinhronizacijo s tipkovnico) // setInterval(updateState, 1000); console.log('JavaScript inicializacija zaključena');