66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
(function(gogo){
|
|
let loading = false;
|
|
let elContent;
|
|
let elMain;
|
|
|
|
function loadContent(href, ignoreHistory = false)
|
|
{
|
|
if(!loading) {
|
|
loading = true;
|
|
gogo.ajax(href, 'GET')
|
|
.then((response) => {
|
|
if('error' in response) {
|
|
replaceContent(response.error);
|
|
}
|
|
|
|
if('content' in response) {
|
|
replaceContent(response.content);
|
|
if(!ignoreHistory) {
|
|
window.history.pushState(null, '', href);
|
|
}
|
|
}
|
|
|
|
loading = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
function replaceContent(content)
|
|
{
|
|
if(elContent) {
|
|
elContent.innerHTML = content;
|
|
elMain.scrollTo(0, 0);
|
|
showAddresses()
|
|
}
|
|
}
|
|
|
|
function showAddresses() {
|
|
let a = 'fristi';
|
|
let b = 'subcon.town';
|
|
let c = 'akkos.fritu.re';
|
|
|
|
gogo.getAll('.em').forEach( element => {
|
|
element.innerHTML = a + '@' + b;
|
|
element.setAttribute('href', 'mailto:' + a + '@' + b);
|
|
});
|
|
|
|
gogo.getAll('.fv').forEach( element => {
|
|
element.innerHTML = a + '@' + c;
|
|
});
|
|
}
|
|
|
|
window.addEventListener('load', function(){
|
|
elContent = gogo.get('.content');
|
|
elMain = gogo.get('main');
|
|
gogo.get('.container').addEventListener('click', event => {
|
|
if(!event.target.classList.contains('page-link')) return;
|
|
loadContent(event.target.getAttribute('href'));
|
|
event.preventDefault();
|
|
});
|
|
showAddresses();
|
|
});
|
|
|
|
window.addEventListener('popstate', event => {
|
|
loadContent(document.location, true);
|
|
});
|
|
})(gogo); |