index-main/assets/js/script.js
Julie Blanc aba8b4f37e
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m17s
create template packages
2026-02-25 18:22:13 +01:00

71 lines
No EOL
1.6 KiB
JavaScript

import { headerToggle, headerScrollVisibility } from './header.js';
import { copyLink } from './share.js';
import { backToTop } from './back-to-top.js';
import { themeToggle } from './themeToggle.js';
import { playVideo } from './hero-video.js';
import { initDropdowns } from './dropdown.js';
import { initSwipers } from './swipers.js';
import { initSliderBeforeAfter} from './sliderBeforeAfter.js';
import { navInvestigation } from './investigation.js';
import { progressBar, scrollBack} from './bottom-bar.js';
import { initSort } from './sort.js';
const responsiveMedium = 1080;
const responsiveSmall = 768;
const responsiveSmallX = 560;
window.onload = async function () {
console.log("SCRIPT LOADED");
headerToggle();
themeToggle();
backToTop();
initSliderBeforeAfter();
copyLink();
playVideo();
initDropdowns(responsiveSmall, responsiveSmallX);
initSwipers();
progressBar();
scrollBack();
navInvestigation();
var elem = document.querySelector('.grid-masonry');
var msnry = null;
function initMasonry() {
if (!elem) return;
if (window.innerWidth >= responsiveSmall) {
if (!msnry) {
msnry = new Masonry(elem, {
itemSelector: '.card--block:not(.is-sort-hidden)',
columnWidth: '.grid-sizer',
percentPosition: true,
gutter: 26
});
}
} else {
if (msnry) {
msnry.destroy();
msnry = null;
}
}
}
initMasonry();
window.addEventListener('resize', initMasonry);
initSort(() => {
if (msnry) {
msnry.reloadItems();
msnry.layout();
}
});
}