const meowEndpoint = "https://nelle.observer/api/meow";
const beepEndpoint = "https://nelle.observer/api/beep";
const kaomojiEndpoint = "https://nelle.observer/api/kaomoji";
var random_boolean = Math.random() < 0.5;

// loads all the functions to be loaded on load, pretty simple, it loads shit on load.
function onLoad() {
  jsEnabled();
  getSGAState();
  redirect();
  checkBoxes();
  getPlaceholder();
  getMeowTimeout(meowEndpoint);
  getBeepTimeout(beepEndpoint);
  getKaomojiTimeout(beepEndpoint);
}

// if javascript is enabled, this script will load, enabling all site elements that use javascript, by default these are all hidden.
function jsEnabled() {
  // Get JS required element ids
  const lastFmWidget = document.getElementById("lastfm-widget");
  const ntfyWidgetContainer = document.getElementById("ntfyWidgetContainer");
  const sgaButton = document.getElementById("sgaButton");
  const incrementButton = document.getElementById("incrementButton");

  // enable js required element ids
  lastFmWidget.style.display = "initial";
  ntfyWidgetContainer.style.display = "initial";
  sgaButton.style.display = "initial";
  incrementButton.style.display = "initial";
}

// LastFM stuff
const user = "limepotato";
const url = `https://lastfm-last-played.biancarosa.com.br/${user}/latest-song`;
const song = document.querySelector("#song");
fetch(url)
  .then((response) => response.json())
  .then((json) => {
    song.innerHTML = `${json.track.name} - ${json.track.artist["#text"]}`;
  });

// Chrome Redirect
function redirect() {
  const chromium = /Chrome|Chromium|OPR|Opera|Edge|UC|QQ/.test(
    navigator.userAgent
  );

  if (navigator.brave) {
    window.location.replace("https://www.youtube.com/watch?v=dQw4w9WgXcQ");
  }
  if (!navigator.brave) {
    if (!localStorage.getItem("disclaimerAccepted")) {
      if (chromium && screen.width >= 699) {
        window.location.replace("/bsod");
      }
      if (chromium && screen.width <= 699) {
        window.location.replace("/mobile-warn");
      }
    }
  }
}

// meow 
const meowButton = document.getElementById("meow-button");
const beepButton = document.getElementById("beep-button");
const kaomojiButton = document.getElementById("kaomoji-button");

// on send meow button click
async function meowClick() {
  meowButton.disabled=true;
  meowButton.innerHTML = "<span>sleeping...</span>";
    sendMeow(meowEndpoint);
}

// on send beep button click
async function beepClick() {
  beepButton.disabled=true;
  beepButton.innerHTML = "<span>sleeping...</span>";
    sendMeow(beepEndpoint);
}

// on send kaomoji button click
async function kaomojiClick() {
  kaomojiButton.disabled=true;
  kaomojiButton.innerHTML = "<span>sleeping...</span>";
  sendMeow(kaomojiEndpoint);
}


// Show/Hide Info Boxes
const posterInfoButton = document.getElementById("poster-info-button");
const posterInfo = document.getElementById("poster-info");
let isPosterInfoHidden = true

const ntfyInfoButton = document.getElementById("ntfy-info-button");
const ntfyInfo = document.getElementById("ntfy-info");
let isNtfyInfoHidden = true

function showPosterInfo() {
  if (isPosterInfoHidden) {
    posterInfo.style.display = "initial";
    posterInfoButton.innerHTML = "[hide more info]"
    isPosterInfoHidden = false;
  }
  else {
    posterInfo.style.display = "none";
    posterInfoButton.innerHTML = "[show more info]"
    isPosterInfoHidden = true;
  }
}

function showNtfyInfo() {
  if (isNtfyInfoHidden) {
    ntfyInfo.style.display = "initial";
    ntfyInfoButton.innerHTML = "[hide more info]"
    isNtfyInfoHidden = false;
  }
  else {
    ntfyInfo.style.display = "none";
    ntfyInfoButton.innerHTML = "[show more info]"
    isNtfyInfoHidden = true;
  }
}