subcon.town/public_html/assets/js/app.js

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);