mirror of
https://git.topisto.net/tibo/template.git
synced 2026-03-31 17:19:10 +00:00
initialisation with SMETI code
This commit is contained in:
163
frontend/src/scripts/UI/settings.js
Normal file
163
frontend/src/scripts/UI/settings.js
Normal file
@@ -0,0 +1,163 @@
|
||||
function settingsInitModal(){
|
||||
let template = document.querySelector('#settings_header');
|
||||
|
||||
modalSetHeader('');
|
||||
modalSetBody('');
|
||||
modalSetFooter('');
|
||||
|
||||
template = document.querySelector('#settings_header');
|
||||
if (template) {
|
||||
let contenu = document.importNode(template.content, true);
|
||||
if (contenu) modalSetChildren('modal_header',contenu);
|
||||
}
|
||||
}
|
||||
|
||||
modal_hooks['settings'] = function(parametres){
|
||||
settingsSetModeInfo();
|
||||
};
|
||||
|
||||
modal_hooks['login'] = function(parametres){
|
||||
settingsSetModeLogin();
|
||||
};
|
||||
|
||||
|
||||
function settingsSetModeInfo()
|
||||
{
|
||||
let template = document.querySelector('#settings_body');
|
||||
|
||||
settingsInitModal();
|
||||
if (template) {
|
||||
let contenu = document.importNode(template.content, true);
|
||||
if (contenu) modalSetChildren('modal_body',contenu);
|
||||
}
|
||||
modalSetFooter('');
|
||||
}
|
||||
|
||||
function settingsSetModeLogin()
|
||||
{
|
||||
let intervenant=getContexteValeur('intervenant');
|
||||
let profil=getContexteValeur('profil');
|
||||
let profils=getContexteValeur('profils');
|
||||
let modal_body='';
|
||||
let modal_footer='';
|
||||
let profil_selector=profil;
|
||||
|
||||
if (profils) {
|
||||
let tableau=profils.split(',');
|
||||
profil_selector='<select style="width: 100%;font-size: 1em">';
|
||||
tableau.forEach(element => {
|
||||
let s=(element == profil) ? 'selected' : '';
|
||||
profil_selector+='<option '+s+'>'+element+'</option>';
|
||||
});
|
||||
profil_selector+='</select>';
|
||||
}
|
||||
|
||||
settingsInitModal();
|
||||
modalSetBody(modal_body);
|
||||
modalSetFooter(modal_footer);
|
||||
|
||||
modal_body+='<div style="height:100%;background: url(\'images/LoginBanner.jpg\');background-size: cover;display: flex;justify-content: center;align-items: center;">';
|
||||
modal_body+=' <div style="background-color: rgba(255, 255, 255, 0.4); border-radius: 5px;min-width: 25%;backdrop-filter: blur(3px);display: flex;flex-direction: column;justify-content: center;align-items: center;">';
|
||||
if (intervenant=='Anonymous') {
|
||||
modal_body+=' <input id="login_username" type="text" placeholder="Username" style="margin: 5px;font-size: 1em;width: 200px"></input>';
|
||||
modal_body+=' <input id="login_password" type="password" style="margin: 5px;font-size: 1em;width: 200px"></input>';
|
||||
modal_body+=' <button style="border:none;background-color: #2196F3;width: 200px;border-radius: 5px;margin: 5px;color: white; font-size: 1em; font-weight: bold; cursor: pointer" onclick="connectUser()">Log In</button>';
|
||||
} else {
|
||||
modal_body+=' <h2 style="width: 200px;display: flex;text-align : center;justify-content: center;align-items: center;margin: 2px;">'+intervenant+'</h2>';
|
||||
modal_body+=' <h3 style="width: 200px;display: flex;text-align : center;justify-content: center;align-items: center;margin: 5px;">'+getTrigrammeCollaborateur(intervenant)+'<h3>';
|
||||
modal_body+=' <div style=""width: 200px;display: flex;text-align : center;justify-content: center;align-items: center;margin: 5px;">'+profil_selector+'</div>';
|
||||
modal_body+=' <button style="border:none;background-color: grey;width: 200px;border-radius: 5px;margin: 5px;color: white; font-size: 1em; font-weight: bold; cursor: pointer" onclick="deconnectUser()">Log Out</button>';
|
||||
}
|
||||
modal_body+=' </div>';
|
||||
modal_body+='<div>';
|
||||
|
||||
modalSetBody(modal_body);
|
||||
}
|
||||
|
||||
function connectUser()
|
||||
{
|
||||
let username = document.getElementById('login_username').value;
|
||||
let password = document.getElementById('login_password').value;
|
||||
// C'est un POC donc on n'a pas de base utilisateur
|
||||
if ((username!='')&&(password==username))
|
||||
{
|
||||
setContexteValeur('intervenant', username);
|
||||
setContexteValeur('profils', 'Utilisateur');
|
||||
setContexteValeur('profil', 'Utilisateur');
|
||||
if (username=='TME')
|
||||
{
|
||||
setContexteValeur('intervenant', 'Thibaud MEUNIER');
|
||||
setContexteValeur('profils', 'Utilisateur,Admin');
|
||||
setContexteValeur('profil', 'Utilisateur');
|
||||
}
|
||||
document.getElementById('username').innerHTML=username;
|
||||
}
|
||||
settingsSetModeLogin();
|
||||
}
|
||||
|
||||
function deconnectUser()
|
||||
{
|
||||
setContexteValeur('intervenant', 'Anonymous');
|
||||
settingsSetModeLogin();
|
||||
document.getElementById('username').innerHTML='Log In';
|
||||
}
|
||||
|
||||
function settingsSetModeFilter()
|
||||
{
|
||||
let modal_body='';
|
||||
let modal_footer='';
|
||||
|
||||
settingsInitModal();
|
||||
modalSetBody(modal_body);
|
||||
modalSetFooter(modal_footer);
|
||||
|
||||
modal_body+='<div style="height:100%;display: flex;justify-content: center;align-items: center;flex-direction: column;">';
|
||||
modal_body+='<h2>Mode Filter</h2>';
|
||||
modal_body+='<div>';
|
||||
|
||||
modalSetBody(modal_body);
|
||||
}
|
||||
|
||||
function settingsSetModeSetup()
|
||||
{
|
||||
let modal_body='';
|
||||
let modal_footer='';
|
||||
|
||||
settingsInitModal();
|
||||
modalSetBody(modal_body);
|
||||
modalSetFooter(modal_footer);
|
||||
|
||||
modal_body+='<div style="height:100%;width:100%;display: flex;justify-content: center;align-items: center;flex-direction: column;">';
|
||||
modal_body+=' <h2>Thèmes</h2>';
|
||||
modal_body+=' <div style="display:flex;">';
|
||||
modal_body+=' <div style="flex: 1;border: 1px solid black;text-align: center;cursor: pointer">';
|
||||
modal_body+=' <a onclick="settingsSetTheme(\'default\')">Default</a>';
|
||||
modal_body+=' </div>';
|
||||
modal_body+=' <div style="flex:1;border: 1px solid black;text-align: center;cursor: pointer">';
|
||||
modal_body+=' <a onclick="settingsSetTheme(\'red\')" style="color:#FA0000">Red</a>';
|
||||
modal_body+=' </div>';
|
||||
modal_body+=' <div style="flex:1;border: 1px solid black;text-align: center;cursor: pointer">';
|
||||
modal_body+=' <a onclick="settingsSetTheme(\'blue\')" style="color:#0000FA">Blue</a>';
|
||||
modal_body+=' </div>';
|
||||
modal_body+=' </div>';
|
||||
modal_body+='<div>';
|
||||
|
||||
modalSetBody(modal_body);
|
||||
}
|
||||
|
||||
function settingsSetTheme(valeur)
|
||||
{
|
||||
switch(valeur){
|
||||
case 'blue':
|
||||
CSSsetClair(245,245,240);
|
||||
CSSsetSombre(0,0,245);
|
||||
break;
|
||||
case 'red':
|
||||
CSSsetClair(245,245,240);
|
||||
CSSsetSombre(245,0,0);
|
||||
break;
|
||||
default:
|
||||
CSSsetClair(245,245,240);
|
||||
CSSsetSombre(0,0,0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user