Загрузка данных


неправильный:

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>