index.js 4.7 KB
const langArr = [
  {
    lang: "ru",
    title: "Русский",
    titleMobile: "RU",
    active: true,
  },
  {
    lang: "en",
    title: "English",
    titleMobile: "EN",
    active: false,
  },
];

window.onload = function() {
    set_current_year();
};

function do_download() {
  window.open("https://play.google.com/store/apps/details?id=com.krystal.vpn");
}

function openLang(platform) {
  const dropdownMenu = platform === "desktop" ? document.querySelector(".dropdown-menu") : document.querySelector(".dropdown-menu.mobile");

  if (platform === "mobile") {
    const mobArrow = document.querySelector(".chevron.mobile");

    if (mobArrow != null) {
      mobArrow.classList.toggle("rotated");
    }
  }

  if (dropdownMenu != null) {
    dropdownMenu.classList.toggle("show");
  }
}

function switchLang(lang, platform) {
    const dd = document.querySelector("#langSwitcher");
    const ddMobile = document.querySelector("#langSwitcherMobile");

    if (dd != null) {
        const title = langArr.filter(elem => elem.lang === lang)[0].title;
        dd.innerHTML = title;

        const activeLang = langArr.filter(elem => elem.lang !== lang)[0].lang;
        const activeLangNode = document.querySelector(`[data-lang=${CSS.escape(activeLang)}]`);

        if (activeLangNode != null) {
            activeLangNode.classList.remove("active");
        }

        const langNode = document.querySelector(`[data-lang=${CSS.escape(lang)}]`);

        if (langNode != null) {
            langNode.classList.add("active");
        }

        for (const key in langDict) {
          const langNode = document.querySelector(`[data-lang=${CSS.escape(key)}]`);
          const langNodeMobile = document.querySelector(`[data-lang-mobile=${CSS.escape(key)}]`);

          if (langNode != null) {
            const translate = langDict[key][lang];

            if (translate != null) {
              langNode.innerHTML = translate;
            }
          }

          if (langNodeMobile != null) {
            const translate = langDict[key][lang];

            if (translate != null) {
              langNodeMobile.innerHTML = translate;
            }
          }
        }
    }

    if (ddMobile != null) {
      const title = langArr.filter(elem => elem.lang === lang)[0].titleMobile;
      ddMobile.innerHTML = title;

      const activeLang = langArr.filter(elem => elem.lang !== lang)[0].lang;
      const activeLangNodeMobile = document.querySelector(`[data-lang-mobile=${CSS.escape(activeLang)}]`);

      if (activeLangNodeMobile != null) {
        activeLangNodeMobile.classList.remove("active");
      }

      const langNodeMobile = document.querySelector(`[data-lang-mobile=${CSS.escape(lang)}]`);

      if (langNodeMobile != null) {
        langNodeMobile.classList.add("active");
      }

      for (const key in langDict) {
        const langNodeMobile = document.querySelector(`[data-lang-mobile=${CSS.escape(key)}]`);

        if (langNodeMobile != null) {
          const translate = langDict[key][lang];

          if (translate != null) {
            langNodeMobile.innerHTML = translate;
          }
        }
      }
    }

    const dropdownMenu = document.querySelector(".dropdown-menu");
    const dropdownMenuMobile = document.querySelector(".dropdown-menu.mobile");
    
    if (dropdownMenu != null) {
      if (dropdownMenu.classList.contains("show")) {
        dropdownMenu.classList.remove("show");
      }
    }

    if (dropdownMenuMobile != null) {
      if (dropdownMenuMobile.classList.contains("show")) {
        dropdownMenuMobile.classList.remove("show");
      }
    }

    if (platform === "mobile") {
      const mobArrow = document.querySelector(".chevron.mobile");
  
      if (mobArrow != null) {
        mobArrow.classList.toggle("rotated");
      }
    }
}

function set_current_year() {
    const year = new Date().getFullYear();
    const yearNode = document.querySelector(".year");

    if (yearNode != null) {
        yearNode.innerHTML = year;
    }
}

function do_support() {
  window.location.href = "mailto:[email protected]";
}

function switchMobileMenu() {
  const openedMenu = document.querySelector("#opened-menu");

  if (openedMenu != null) {
    openedMenu.classList.toggle("show");
  }
}

let portrait = window.matchMedia("(orientation: portrait)");

portrait.addEventListener("change", function(e) {
    if(e.matches) {
        // Portrait mode
        console.log("Portrait mode");
        const main = document.querySelector(".main");

        if (main != null) {
          main.classList.remove("oriented")
        }
    } else {
        // Landscape
        console.log("Landscape");
        const main = document.querySelector(".main");

        if (main != null) {
          main.classList.add("oriented")
        }
    }
});