neutral/public/javascripts/personal.js
Raphix 3484ff9ff7
All checks were successful
Neutral/pipeline/head This commit looks good
Version 1.0.0 - Ajout de WebMetrics et de l'édit utilisateur
2024-01-13 18:44:27 +01:00

119 lines
3.8 KiB
JavaScript

const menulogo = getID("menu-logo")
const usersettingsBtn = getID("user-settings-button")
menu.style.display = "none"
menulogo.addEventListener("click", () => {
const menu = getID("menu")
if(menu.style.display == "block") {
menu.style.display = "none"
} else {
menu.style.display = "block"
}
})
usersettingsBtn.addEventListener("click", () => {
const View = new ViewWindow({
title: `<i class="fa fa-user"></i> Mon Compte`,
width: "600px",
height: "650px"
})
View.setContent(`
<div class="user-settings">
<p>Mes informations</p>
<div class="us-settings">
<img class='us-settings-image' id="us-settings-image" src="">
<div class="us-settings-info">
<p>Nom d'utilisateur</p>
<input class="field" type="text" id="us-settings-username" placeholder="Nom d'utilisateur">
<p>Nom d'affichage</p>
<input class="field" type="text" id="us-settings-displayname" placeholder="Nom d'affichage">
<p>Mot de passe</p>
<input class="field" type="password" id="us-settings-password" placeholder="Mot de passe">
<p>Photo de profil</p>
<input type="file" id="us-settings-picture" accept="image/png, image/jpeg">
</div>
<br>
<span id='us-settings-return-info'></span>
<button id="us-settings-save" class="btn green"><span> Sauvegarder</span></button>
</div>
<p>Mes permissions</p>
<div id="us-settings-permissions">
</div>
</div>
`)
const usSettingsImage = getID("us-settings-image")
const usSettingsUsername = getID("us-settings-username")
const usSettingsDisplayname = getID("us-settings-displayname")
const usSettingsPassword = getID("us-settings-password")
const usSettingsPermissions = getID("us-settings-permissions")
const usSettingsSave = getID("us-settings-save")
const usSettingsPicture = getID("us-settings-picture")
const returnInfo = new TextResponse("us-settings-return-info")
const REQ_user = get("USERINFO")
var actualUsername = ""
REQ_user.then((ANS_user) => {
usSettingsImage.src = ANS_user.picture
usSettingsUsername.value = ANS_user.username
usSettingsDisplayname.value = ANS_user.display_name
actualUsername = ANS_user.username
const permissions = ANS_user.permission
const permValid = new Array()
permissions.forEach((permValue) => {
permValid.push("<p>" + permValue + "</p>")
})
usSettingsPermissions.innerHTML = permValid.join("")
})
usSettingsSave.addEventListener("click", () => {
const request = post(`US_EDIT_PERSONNAL`, {username: actualUsername, newusername: usSettingsUsername.value, display_name: usSettingsDisplayname.value, password: usSettingsPassword.value, picture: usSettingsPicture.files[0]})
request.then((answer) => {
if(answer == "ALREADY_EXIST") {
returnInfo.err("L'utilisateur existe déjà !")
} else if(answer == "USERNAME_MISSING") {
returnInfo.err("Le nom d'utilisateur est manquant !")
} else if(answer == "DISPLAY_NAME_MISSING") {
returnInfo.err("Le nom d'affichage est manquant !")
} else if(answer == "PASSWORD_MISSING") {
returnInfo.err("Le mot de passe est manquant !")
} else {
View.destroy()
loadUserInfo()
}
})
})
})
document.addEventListener("click", (e) => {
if(e.target != menulogo) {
menu.style.display = "none"
}
})