import styles from "./html/public/styles/styles.css?raw";

function loadWidget() {
  import("./main.ts").then(() => {
    window.parent.postMessage(
      {
        name: "load_front",
        datas: {},
        target: "light"
      },
      "*",
    );
  });
  // const widgetScript = document.createElement("script");
  // widgetScript.type = "module";
  // widget.src = new URL("../main.ts", import.meta.url).href;
  // document.body.append(widgetScript);
  const stylesTag = document.createElement("style");
  stylesTag.textContent = styles;
  document.head.append(stylesTag);
}

if (__BUILD_TARGET__ === "extension") {
  //@ts-ignore
  window.lisioIsExtension = true;
  loadWidget();
} else {
  function messageHandler(event: MessageEvent) {
    if (event.data.name === "load_widget") {
      loadWidget();
      window.removeEventListener("message", messageHandler);
    }else if(event.data.name === "popin_ready"){

      const expiresAt = localStorage.getItem("lisio-expires-at");
      if(expiresAt != undefined && Date.now() >= new Date(expiresAt).getTime()){
        localStorage.clear();
      }


      const prefix = location.protocol === "http:" ? "" : "__Host-";
    
      const usernamesLocalStorage = localStorage.getItem("usernames");
    
      const usernamesCookies = document.cookie
        .split("; ")
        .find((cookie) => cookie.startsWith(`${prefix}usernames`));
    
      const hasUser =
        (usernamesLocalStorage != undefined &&
          JSON.parse(usernamesLocalStorage).length > 0) ||
        (usernamesCookies != undefined &&
          JSON.parse(usernamesCookies.split("=")[1]).length > 0);
    
      if (hasUser) {
        loadWidget();
      }
    }
  }
  window.addEventListener("message", messageHandler);
}
