boilerplate.js
Version:
Development Tools
69 lines (48 loc) • 1.71 kB
JavaScript
components('laravel.load.landerPage', function(element, e) {
e = e || window.event;
let path = element.pathname || element.querySelector('a').pathname;
if (!components.cache.laravel.page[path]) location.href = a.href;
if (path.indexOf('lander') < 0) location.href = a.href;
let div = document.createElement('div');
div.innerHTML = components.cache.laravel.page[path];
if (iOS()) return start();
if (div.querySelector('#page-loader')) {
let loader = div.querySelector('#page-loader');
loader.style.display = 'flex';
loader.style.opacity = 1;
$('body').fadeOut(() => {
start();
$('body').fadeIn(() => {
let loader = document.getElementById('page-loader');
setTimeout(() => {
loader.style.opacity = 0;
setTimeout(() => {
loader.style.display = 'none';
}, 500);
}, 800);
});
});
} else {
$('body').fadeOut(() => {
start();
setTimeout(() => {
$('body').fadeIn();
}, 500);
});
}
function start() {
let a = document.createElement('a');
a.href = '/';
a.pathname = path;
app.innerHTML = div.innerHTML;
history.pushState(null, null, a.href);
window.scrollTo({
top: 0,
behavior: "smooth"
});
console.clear();
ready();
initPage(path);
}
e.preventDefault();
});