forked from Adleraci/adlerka.top
Merge branch 'main' of https://git.brn.systems/Adleraci/adlerka.top
This commit is contained in:
@@ -20,6 +20,39 @@ function doAccountAction(requestData, successMessage, failureMessage, silent=fal
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function handlePageResponse(data){
|
||||
if(data.Navigation){
|
||||
document.getElementById("navbar").innerHTML = data.Navigation;
|
||||
}
|
||||
if(data.Page){
|
||||
document.getElementById("pagearea").innerHTML = data.Page;
|
||||
if(data.PageLocation){
|
||||
history.pushState({}, "", data.PageLocation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function doPageAction(requestData){
|
||||
return fetch('/page', {
|
||||
method: 'POST',
|
||||
body: requestData,
|
||||
})
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! Status: ${response.status}`);
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
handlePageResponse(data);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error('Error:', error);
|
||||
});
|
||||
}
|
||||
|
||||
function displayList(data, element_id, delete_function=null) {
|
||||
const tableContainer = document.getElementById(element_id);
|
||||
tableContainer.innerHTML = ""; // Clear previous content
|
||||
@@ -86,13 +119,47 @@ function handleResponse(data, SuccessMessage, failureMessage) {
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
function navigateTo(site, page){
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "getPage");
|
||||
data.append("site", site);
|
||||
data.append("page", page);
|
||||
doPageAction(data);
|
||||
}
|
||||
|
||||
function refreshNavbar(){
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "getNavigation");
|
||||
doPageAction(data);
|
||||
}
|
||||
|
||||
function logout() {
|
||||
const data = new URLSearchParams();
|
||||
data.append("action", "logout");
|
||||
|
||||
doAccountAction(data, "Logout Successful!", "Logout failed.").then(() => {
|
||||
location.reload();
|
||||
refreshNavbar();
|
||||
navigateTo("", pageData.defaultPage);
|
||||
// Expected output: "Success!"
|
||||
});
|
||||
}
|
||||
|
||||
let links = document.querySelectorAll('.navsite_link, .navpage_link');
|
||||
|
||||
// Add click event listener to each link
|
||||
links.forEach(function(link) {
|
||||
link.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Get page and site information
|
||||
let page = this.closest('.navpage_item').dataset.page;
|
||||
let site = this.closest('.navsite_item').dataset.site;
|
||||
|
||||
if(site && page){
|
||||
navigateTo(site, page);
|
||||
}
|
||||
|
||||
// You can use this information to update the URL or perform other actions
|
||||
});
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user