const parts = window.location.pathname.split("/").filter(Boolean);
const sessionId = parts[0] ?? null;
const username = parts[1] ?? null;

show_user()
async function show_user() {
  const res = await fetch(`/api/user/${sessionId}`);
  const users = await res.json();
  const allUsers = users.map((u) => u.state);
  if (allUsers.every((v) => v === 0)) {
    createImposter();
    async function createImposter() {
      const res = await fetch(`/api/${sessionId}/${username}/createImposter`);
      var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
    }
  }else {
    var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
  }
}

//const imposterStatus = getImposter();

async function getImposter() {
  const res = await fetch(`/api/${sessionId}/${username}/getImposter`);
  const stateObj = await res.json();
  state = stateObj.state;
  console.log("state=" + state)
  const ImposterStateDiv = document.getElementById("imposterState");

  if (state == 1) {
    console.log("du bist imposter");
    ImposterStateDiv.textContent = "Du bist der Imposter!";
    return true;
  } else {
    console.log("du bist kein imposter");
    ImposterStateDiv.textContent = "Du bist kein Imposter!";
    return false;
  }
}

// Initialisierung: await getImposter(), dann getWords aufrufen
async function init() {
  const imposterStatus = await getImposter();
  await getWords(imposterStatus);
}
init();

async function getWords(imposterStatus) {
  const res = await fetch(`/api/getWords`);
  const words = await res.json();
  console.log(words);
  const WordDiv = document.getElementById("word");
  if (res.status == 201) {
    getWords();
  } else if (imposterStatus) {
    console.log(words.imposterWord);
    WordDiv.textContent = "dein tip:" + words.imposterWord;
  } else if (!imposterStatus) {
    console.log(words.word);
    WordDiv.textContent = "dein wort:" + words.word;
  }
}

async function reset() {
  const res = await fetch(`/api/reset/${sessionId}`);
  if (res.status == 201) {
    window.location.href = window.location.href = `/${sessionId}/${username}`;
  }
}
