неправильный:
async function boot() {
db=await openDB();
state.tracks=await getAllTracks();
loadPlaylists();
state.tracks.forEach(t=>{
const raw=localStorage.getItem("lyrics:"+t.id);
if(raw)state.lyrics.set(t.id,parseLyrics(raw));
});
render();
}
window.addEventListener("keydown",e=>{
правильный:
async function boot() {
// Сначала показываем интерфейс
render();
// Потом пытаемся загрузить локальную библиотеку
try {
db = await openDB();
state.tracks = await getAllTracks();
loadPlaylists();
state.tracks.forEach(t => {
const raw = localStorage.getItem("lyrics:" + t.id);
if (raw) {
state.lyrics.set(t.id, parseLyrics(raw));
}
});
// Обновляем интерфейс уже с загруженной библиотекой
render();
} catch (error) {
console.warn("IndexedDB недоступен:", error);
// Сайт всё равно продолжает работать
state.tracks = [];
loadPlaylists();
render();
}
}
window.addEventListener("keydown",e=>{
неправильный:
<script type="module" src="/src/main.js"></script>
правильный:
<script type="module" src="./src/main.js"></script>