mirror of
https://github.com/fluencelabs/website
synced 2025-04-25 17:32:16 +00:00
96 lines
2.8 KiB
JavaScript
96 lines
2.8 KiB
JavaScript
import '../scss/styles.scss'; // strange thing huh?
|
|
import { tns } from './vendor/slider/tiny-slider.module.js';
|
|
|
|
((w, d) => {
|
|
const app = {};
|
|
|
|
app.polyfill = {
|
|
capitalize: (str) => {
|
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
},
|
|
|
|
isSupport: (str) => {
|
|
const h1 = document.createElement('h1');
|
|
return !(!(`webkit${app.polyfill.capitalize(str)}` in h1.style) && !(str in h1.style));
|
|
},
|
|
|
|
init: () => {
|
|
const els = Array.prototype.slice.call(d.querySelectorAll('.__polyfill'));
|
|
|
|
if (els.length) {
|
|
els.map(item => {
|
|
const supports = item.getAttribute('data-supports');
|
|
|
|
|
|
if (!app.polyfill.isSupport(supports)) {
|
|
item.classList.add('polyfill-fallback');
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
app.menu = {
|
|
init: () => {
|
|
const clicker = Array.prototype.slice.call(d.querySelectorAll('.__menuopen'));
|
|
const menu = d.querySelector('.__menu');
|
|
const modificator = 'top-menu__show';
|
|
|
|
if (clicker.length && menu) {
|
|
clicker
|
|
.map(item => {
|
|
item.addEventListener('click', (e) => {
|
|
e.preventDefault();
|
|
|
|
menu.classList.contains(modificator) ?
|
|
menu.classList.remove(modificator) :
|
|
menu.classList.add(modificator)
|
|
;
|
|
}, false)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
app.slider = {
|
|
props: {
|
|
slider: null
|
|
},
|
|
|
|
init: () => {
|
|
const slider_container = d.querySelector('.__slider');
|
|
const slider_nav = d.querySelector('.__slider-nav');
|
|
|
|
if (slider_container && slider_nav) {
|
|
app.slider.props.slider = tns({
|
|
container: slider_container,
|
|
items: 3,
|
|
slideBy: 1,
|
|
autoplay: false,
|
|
loop: false,
|
|
nav: false,
|
|
gutter: 32,
|
|
controlsContainer: slider_nav,
|
|
responsive: {
|
|
320: {
|
|
items: 1,
|
|
gutter: 20,
|
|
fixedWidth: 265
|
|
},
|
|
650: {
|
|
gutter: 30
|
|
},
|
|
1200: {
|
|
items: 3,
|
|
fixedWidth: 350
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
for (const m in app) {
|
|
app[m].init();
|
|
}
|
|
})(window, document); |