/home/preegmxb/qasmartz.theoriginalsstudios.com/wp-content/themes/lexend/assets/js/app.js
// Scrollbar width
{
const updateScrollWidth = () => {
document.documentElement.style.setProperty('--body-scroll-width', `${window.innerWidth - document.documentElement.clientWidth}px`);
};
window.addEventListener('resize', updateScrollWidth);
updateScrollWidth();
}
// Dark mode toggle
{
const handleDarkModeChange = () => {
setDarkMode(!isDarkMode());
const isDark = isDarkMode();
localStorage.setItem('darkMode', isDark ? '1' : '0');
};
const setInitialDarkMode = darkToggle => {
darkToggle.checked = isDarkMode();
};
const darkModeElements = document.querySelectorAll('[data-darkmode-toggle] input, [data-darkmode-switch] input');
darkModeElements.forEach(darkToggle => {
darkToggle.addEventListener('change', handleDarkModeChange);
// @ts-ignore
setInitialDarkMode(darkToggle);
});
}
// Horizontal Scroll
document.querySelectorAll('.uc-horizontal-scroll').forEach(element => {
element.addEventListener('wheel', e => {
e.preventDefault();
// @ts-ignore
element.scrollBy({ left: e.deltaY, behavior: 'smooth' });
});
});
// To Top
document.addEventListener('DOMContentLoaded', () => {
const $elem = document.querySelector('[data-uc-backtotop]');
if (!$elem) return;
$elem.addEventListener('click', e => {
e.preventDefault();
window.scrollTo({ top: 0, behavior: 'smooth' });
});
let scrollPos = 0;
window.addEventListener('scroll', () => {
const top = document.body.getBoundingClientRect().top;
// @ts-ignore
$elem.parentNode.classList.toggle('uc-active', top <= scrollPos);
scrollPos = top;
});
});