396 lines
12 KiB
JavaScript
396 lines
12 KiB
JavaScript
"use strict";
|
|
|
|
if (document.querySelector("#switcher-canvas")) {
|
|
|
|
//switcher color pickers
|
|
const pickrContainerPrimary = document.querySelector('.pickr-container-primary');
|
|
const themeContainerPrimary = document.querySelector('.theme-container-primary');
|
|
/* for theme primary */
|
|
const nanoThemes = [
|
|
[
|
|
'nano',
|
|
{
|
|
|
|
defaultRepresentation: 'RGB',
|
|
components: {
|
|
preview: true,
|
|
opacity: false,
|
|
hue: true,
|
|
|
|
interaction: {
|
|
hex: false,
|
|
rgba: true,
|
|
hsva: false,
|
|
input: true,
|
|
clear: false,
|
|
save: false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
];
|
|
const nanoButtons = [];
|
|
let nanoPickr = null;
|
|
for (const [theme, config] of nanoThemes) {
|
|
const button = document.createElement('button');
|
|
button.innerHTML = theme;
|
|
nanoButtons.push(button);
|
|
|
|
button.addEventListener('click', () => {
|
|
const el = document.createElement('p');
|
|
pickrContainerPrimary.appendChild(el);
|
|
|
|
/* Delete previous instance */
|
|
if (nanoPickr) {
|
|
nanoPickr.destroyAndRemove();
|
|
}
|
|
|
|
/* Apply active class */
|
|
for (const btn of nanoButtons) {
|
|
btn.classList[btn === button ? 'add' : 'remove']('active');
|
|
}
|
|
|
|
/* Create fresh instance */
|
|
nanoPickr = new Pickr(Object.assign({
|
|
el,
|
|
theme,
|
|
default: '#845adf'
|
|
}, config));
|
|
|
|
/* Set events */
|
|
nanoPickr.on('changestop', (source, instance) => {
|
|
let color = instance.getColor().toRGBA();
|
|
let html = document.querySelector('html');
|
|
html.style.setProperty('--primary-rgb', `${Math.floor(color[0])}, ${Math.floor(color[1])}, ${Math.floor(color[2])}`);
|
|
/* theme color picker */
|
|
localStorage.setItem('primaryRGB', `${Math.floor(color[0])}, ${Math.floor(color[1])}, ${Math.floor(color[2])}`);
|
|
updateColors();
|
|
});
|
|
});
|
|
|
|
themeContainerPrimary.appendChild(button);
|
|
}
|
|
nanoButtons[0].click();
|
|
/* for theme primary */
|
|
}
|
|
|
|
/* footer year */
|
|
document.getElementById("year").innerHTML = new Date().getFullYear();
|
|
/* footer year */
|
|
|
|
let mainContent;
|
|
(function () {
|
|
let html = document.querySelector('html');
|
|
mainContent = document.querySelector('.main-content');
|
|
|
|
if (document.querySelector("#switcher-canvas")) {
|
|
localStorageBackup();
|
|
switcherClick();
|
|
checkOptions();
|
|
}
|
|
})();
|
|
|
|
function switcherClick() {
|
|
let ltrBtn, rtlBtn, lightBtn, darkBtn, primaryDefaultColor1Btn, primaryDefaultColor2Btn, primaryDefaultColor3Btn, primaryDefaultColor4Btn, primaryDefaultColor5Btn, ResetAll;
|
|
let html = document.querySelector('html');
|
|
lightBtn = document.querySelector('#switcher-light-theme');
|
|
darkBtn = document.querySelector('#switcher-dark-theme');
|
|
ltrBtn = document.querySelector('#switcher-ltr');
|
|
rtlBtn = document.querySelector('#switcher-rtl');
|
|
primaryDefaultColor1Btn = document.querySelector('#switcher-primary');
|
|
primaryDefaultColor2Btn = document.querySelector('#switcher-primary1');
|
|
primaryDefaultColor3Btn = document.querySelector('#switcher-primary2');
|
|
primaryDefaultColor4Btn = document.querySelector('#switcher-primary3');
|
|
primaryDefaultColor5Btn = document.querySelector('#switcher-primary4');
|
|
ResetAll = document.querySelector('#reset-all');
|
|
|
|
/* Light Layout Start */
|
|
let lightThemeVar = lightBtn.addEventListener('click', () => {
|
|
lightFn();
|
|
localStorage.setItem("ynexlandingHeader", 'light');
|
|
localStorage.setItem("ynexlandingMenu", 'light');
|
|
})
|
|
/* Light Layout End */
|
|
|
|
/* Dark Layout Start */
|
|
let darkThemeVar = darkBtn.addEventListener('click', () => {
|
|
darkFn();
|
|
localStorage.setItem("ynexlandingMenu", 'dark');
|
|
localStorage.setItem("ynexlandingHeader", 'dark');
|
|
});
|
|
/* Dark Layout End */
|
|
|
|
|
|
// primary theme
|
|
let primaryColor1Var = primaryDefaultColor1Btn.addEventListener('click', () => {
|
|
localStorage.setItem("primaryRGB", "58, 88, 146");
|
|
html.style.setProperty('--primary-rgb', `58, 88, 146`);
|
|
updateColors();
|
|
})
|
|
let primaryColor2Var = primaryDefaultColor2Btn.addEventListener('click', () => {
|
|
localStorage.setItem("primaryRGB", "92, 144, 163");
|
|
html.style.setProperty('--primary-rgb', `92, 144, 163`);
|
|
updateColors();
|
|
})
|
|
let primaryColor3Var = primaryDefaultColor3Btn.addEventListener('click', () => {
|
|
localStorage.setItem("primaryRGB", "161, 90, 223");
|
|
html.style.setProperty('--primary-rgb', `161, 90, 223`);
|
|
updateColors();
|
|
})
|
|
let primaryColor4Var = primaryDefaultColor4Btn.addEventListener('click', () => {
|
|
localStorage.setItem("primaryRGB", "78, 172, 76");
|
|
html.style.setProperty('--primary-rgb', `78, 172, 76`);
|
|
updateColors();
|
|
})
|
|
let primaryColor5Var = primaryDefaultColor5Btn.addEventListener('click', () => {
|
|
localStorage.setItem("primaryRGB", "223, 90, 90");
|
|
html.style.setProperty('--primary-rgb', `223, 90, 90`);
|
|
updateColors();
|
|
})
|
|
|
|
/* rtl start */
|
|
let rtlVar = rtlBtn.addEventListener('click', () => {
|
|
localStorage.setItem("ynexlandingrtl", true);
|
|
localStorage.removeItem("ynexlandingltr");
|
|
rtlFn();
|
|
});
|
|
/* rtl end */
|
|
|
|
/* ltr start */
|
|
let ltrVar = ltrBtn.addEventListener('click', () => {
|
|
// local storage
|
|
localStorage.setItem("ynexlandingltr", true);
|
|
localStorage.removeItem("ynexlandingrtl");
|
|
ltrFn();
|
|
});
|
|
/* ltr end */
|
|
|
|
// reset all start
|
|
let resetVar = ResetAll.addEventListener('click', () => {
|
|
|
|
// clear primary & bg color
|
|
html.style.removeProperty(`--primary-rgb`);
|
|
|
|
// clear rtl
|
|
html.removeAttribute('dir', 'rtl');
|
|
html.setAttribute('dir', 'ltr');
|
|
|
|
ResetAllFn();
|
|
})
|
|
// reset all start
|
|
}
|
|
|
|
function ltrFn() {
|
|
let html = document.querySelector('html')
|
|
document.querySelector("#style")?.setAttribute("href", "../assets/libs/bootstrap/css/bootstrap.min.css");
|
|
html.setAttribute("dir", "ltr");
|
|
document.querySelector('#switcher-ltr').checked = true;
|
|
checkOptions();
|
|
}
|
|
|
|
function rtlFn() {
|
|
let html = document.querySelector('html');
|
|
html.setAttribute("dir", "rtl");
|
|
document.querySelector("#style")?.setAttribute("href", "../assets/libs/bootstrap/css/bootstrap.rtl.min.css");
|
|
checkOptions();
|
|
}
|
|
|
|
if(localStorage.ynexlandingrtl){
|
|
rtlFn()
|
|
}
|
|
|
|
function lightFn() {
|
|
let html = document.querySelector('html');
|
|
html.setAttribute('data-theme-mode', 'light');
|
|
document.querySelector('#switcher-light-theme').checked = true;
|
|
updateColors()
|
|
localStorage.removeItem("ynexlandingdarktheme");
|
|
checkOptions();
|
|
html.style.removeProperty('--primary-rgb');
|
|
}
|
|
|
|
function darkFn() {
|
|
let html = document.querySelector('html');
|
|
html.setAttribute('data-theme-mode', 'dark');
|
|
updateColors()
|
|
localStorage.setItem("ynexlandingdarktheme", true);
|
|
localStorage.removeItem("ynexlandinglighttheme");
|
|
checkOptions();
|
|
html.style.removeProperty("--primary-rgb");
|
|
}
|
|
|
|
function ResetAllFn() {
|
|
let html = document.querySelector('html');
|
|
checkOptions();
|
|
|
|
// clearing localstorage
|
|
localStorage.clear();
|
|
|
|
// reseting chart colors
|
|
updateColors();
|
|
|
|
// reseting rtl
|
|
ltrFn()
|
|
|
|
// reseting dark theme
|
|
lightFn()
|
|
|
|
}
|
|
|
|
function checkOptions() {
|
|
|
|
// dark
|
|
if (localStorage.getItem('ynexlandingdarktheme')) {
|
|
document.querySelector('#switcher-dark-theme').checked = true;
|
|
}
|
|
|
|
//RTL
|
|
if (localStorage.getItem('ynexlandingrtl')) {
|
|
document.querySelector('#switcher-rtl').checked = true;
|
|
}
|
|
}
|
|
|
|
// chart colors
|
|
let myVarVal, primaryRGB
|
|
function updateColors() {
|
|
'use strict'
|
|
primaryRGB = getComputedStyle(document.documentElement).getPropertyValue('--primary-rgb').trim();
|
|
}
|
|
updateColors()
|
|
|
|
|
|
function localStorageBackup() {
|
|
if (localStorage.primaryRGB) {
|
|
if (document.querySelector('.theme-container-primary')) {
|
|
document.querySelector('.theme-container-primary').value = localStorage.primaryRGB;
|
|
}
|
|
document.querySelector('html').style.setProperty('--primary-rgb', localStorage.primaryRGB);
|
|
}
|
|
if (localStorage.ynexlandingdarktheme) {
|
|
let html = document.querySelector('html');
|
|
html.setAttribute('data-theme-mode', 'dark');
|
|
}
|
|
|
|
if (localStorage.ynexlandingrtl) {
|
|
let html = document.querySelector('html');
|
|
html.setAttribute('dir', 'rtl');
|
|
}
|
|
if (localStorage.ynexlayout) {
|
|
let html = document.querySelector('html');
|
|
let layoutValue = localStorage.getItem('ynexlayout');
|
|
html.setAttribute('data-nav-layout', 'horizontal');
|
|
}
|
|
}
|
|
|
|
// for menu target scroll on click
|
|
window.addEventListener("scroll", reveal);
|
|
function reveal() {
|
|
var reveals = document.querySelectorAll(".reveal");
|
|
|
|
for (var i = 0; i < reveals.length; i++) {
|
|
var windowHeight = window.innerHeight;
|
|
var cardTop = reveals[i].getBoundingClientRect().top;
|
|
var cardRevealPoint = 150;
|
|
if (cardTop < windowHeight - cardRevealPoint) {
|
|
reveals[i].classList.add("active");
|
|
} else {
|
|
reveals[i].classList.remove("active");
|
|
}
|
|
}
|
|
}
|
|
reveal();
|
|
const pageLink = document.querySelectorAll(".side-menu__item");
|
|
pageLink.forEach((elem) => {
|
|
if (elem != "javascript:void(0);" && elem !== "#") {
|
|
elem.addEventListener("click", (e) => {
|
|
e.preventDefault();
|
|
document.querySelector(elem.getAttribute("href"))?.scrollIntoView({
|
|
behavior: "smooth",
|
|
offsetTop: 1 - 60,
|
|
});
|
|
});
|
|
}
|
|
});
|
|
// section menu active
|
|
function onScroll(event) {
|
|
const sections = document.querySelectorAll(".side-menu__item");
|
|
const scrollPos =
|
|
window.pageYOffset ||
|
|
document.documentElement.scrollTop ||
|
|
document.body.scrollTop;
|
|
|
|
sections.forEach((elem) => {
|
|
const val = elem.getAttribute("href");
|
|
let refElement;
|
|
if (val != "javascript:void(0);" && val !== "#") {
|
|
refElement = document.querySelector(val);
|
|
}
|
|
const scrollTopMinus = scrollPos + 73;
|
|
if (
|
|
refElement?.offsetTop <= scrollTopMinus &&
|
|
refElement?.offsetTop + refElement.offsetHeight > scrollTopMinus
|
|
) {
|
|
if (elem.parentElement.parentElement.classList.contains("child1")) {
|
|
elem.parentElement.parentElement.parentElement.children[0].classList.add(
|
|
"active"
|
|
);
|
|
}
|
|
elem.classList.add("active");
|
|
if (elem.closest(".child1")?.previousElementSibling) {
|
|
elem.closest(".child1").previousElementSibling.classList.add("active");
|
|
}
|
|
} else {
|
|
elem.classList.remove("active");
|
|
}
|
|
});
|
|
}
|
|
window.document.addEventListener("scroll", onScroll);
|
|
// for menu target scroll on click
|
|
|
|
// for testimonials
|
|
var swiper = new Swiper(".pagination-dynamic", {
|
|
pagination: {
|
|
el: ".swiper-pagination",
|
|
dynamicBullets: true,
|
|
clickable: true,
|
|
},
|
|
slidesPerView: 1,
|
|
loop: true,
|
|
autoplay: {
|
|
delay: 3000,
|
|
disableOnInteraction: false,
|
|
},
|
|
breakpoints: {
|
|
768: {
|
|
slidesPerView: 2,
|
|
spaceBetween: 40,
|
|
},
|
|
1024: {
|
|
slidesPerView: 2,
|
|
spaceBetween: 50,
|
|
},
|
|
1400: {
|
|
slidesPerView: 3,
|
|
spaceBetween: 50,
|
|
},
|
|
},
|
|
});
|
|
|
|
/* back to top */
|
|
const scrollToTop = document.querySelector(".scrollToTop");
|
|
const $rootElement = document.documentElement;
|
|
const $body = document.body;
|
|
window.onscroll = () => {
|
|
const scrollTop = window.scrollY || window.pageYOffset;
|
|
const clientHt = $rootElement.scrollHeight - $rootElement.clientHeight;
|
|
if (window.scrollY > 100) {
|
|
scrollToTop.style.display = "flex";
|
|
} else {
|
|
scrollToTop.style.display = "none";
|
|
}
|
|
};
|
|
scrollToTop.onclick = () => {
|
|
window.scrollTo(0, 0);
|
|
};
|
|
/* back to top */
|