let allTasks;
let allUsers;
let loggedInUser;
const baseUrl = "https://www.bastian-harttung-projekte.de/join/"
/**
* Init Function for all Pages with Nav
*/
async function initPage() {
await init();
await showProfilePicOnNavbar(); // show profile pic navbar
checkUrlShowOnNav();
}
/**
* Init Function for Welcome Page
*/
async function initWelcome() {
await initPage();
document.getElementById('logged-user').innerHTML = loggedInUser.name;
}
/**
* Init for every Page with loading from Backend and templates
*/
async function init() {
includeHTML(); // Html templates laden
await loadFromBackend(); // Aus backend laden
/* loadAllTasks(); */ // Aus localStorage laden falls erwünscht
}
/**
* Add display none to Alert
*/
function closeAlert() {
document.getElementById('input-alert-container').classList.add('d-none')
}
/**
* Check URL and mark Link on navbar
*/
function checkUrlShowOnNav() {
if (window.location.href == `${baseUrl}board.html`) {
document.getElementById('link-board').classList.add('active')
}
if (window.location.href == `${baseUrl}backlog.html`) {
document.getElementById('link-backlog').classList.add('active')
}
if (window.location.href == `${baseUrl}addtask.html`) {
document.getElementById('link-addtask').classList.add('active')
}
if (window.location.href == `${baseUrl}help.html`) {
document.getElementById('link-help').classList.add('active')
}
}
/**
* Load allTasks and allUsers from backend
*
* */
async function loadFromBackend() {
await downloadFromServer();
allTasks = JSON.parse(backend.getItem('allTasks')) || [];
allUsers = JSON.parse(backend.getItem('allUsers')) || [];
loggedInUser = JSON.parse(backend.getItem('loggedInUser')) || {};
console.log('Loaded from backend allTasks: ', allTasks);
console.log('Loaded from backend allUsers: ', allUsers);
console.log('Loaded from backend loggedInUser: ', loggedInUser);
};
/**
* Delete User which delete button is clicked
* @param {number} id index of array of user
*/
async function deleteUser(id) {
if (id > 3) {
allUsers.splice(id, 1);
await saveToBackend();
showUsersOnAddTask()
} else {
alert("You can't delete this User!")
}
}
/**
* Save Users and Tasks in Backend
*
*/
async function saveToBackend() {
await backend.setItem('allUsers', JSON.stringify(allUsers));
await backend.setItem('allTasks', JSON.stringify(allTasks));
await backend.setItem('loggedInUser', JSON.stringify(loggedInUser));
console.log('saved to backend');
}
/**
* show Profile Pic of User who is logged in on Navbar
* starts on init()
*/
async function showProfilePicOnNavbar() {
document.getElementById('nav').innerHTML += `
<a class="logged-user" href = "../index.html">
<img id="nav-profile-pic" class="nav-profile-pic" src="${loggedInUser.profile_img}" title="Logout ${loggedInUser.name}">
<div>Login</div>
</a>
`
}