import { Lisio } from "../../lisio";

function lisioNewTabMessageHandler(this: Lisio, datas: string) {
  const { url, same, ecoOrRural, urlQuery } = JSON.parse(datas) as {
    url: string;
    ecoOrRural: boolean;
    same: boolean;
    urlQuery: string;
  };
  if (url === "urlOrigin") {
    this.newTab(urlOrigin.replace(/&.+/, ""), false, "");
  } else if (
    window.location.origin + "/" == import.meta.env.VITE_PHP_SERVER &&
    same
  ) {
    window.location.reload();
  } else if (window.location.origin + "/" != import.meta.env.VITE_PHP_SERVER) {
    this.newTab(url, ecoOrRural, urlQuery);
  }
}

const urlOrigin = window.location.href.includes("mobiledition")
  ? decodeURIComponent(
      decodeURIComponent(window.location.href.split(/&url=/g)[1]),
    )
  : "";

export { lisioNewTabMessageHandler };
