132 lines
6.6 KiB
HTML
132 lines
6.6 KiB
HTML
<!DOCTYPE html>
|
|
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:h="http://xmlns.jcp.org/jsf/html"
|
|
xmlns:f="http://xmlns.jcp.org/jsf/core"
|
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
|
|
xmlns:p="http://primefaces.org/ui"
|
|
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
|
|
template="/templates/main-template.xhtml">
|
|
|
|
<ui:param name="page" value="#{settingsBean}"/>
|
|
<ui:define name="title">Paramètres - Lions User Manager</ui:define>
|
|
|
|
<ui:define name="content">
|
|
<!-- En-tête -->
|
|
<ui:include src="/templates/components/layout/page-header.xhtml">
|
|
<ui:param name="icon" value="pi pi-cog text-blue-500" />
|
|
<ui:param name="title" value="Paramètres" />
|
|
<ui:param name="description" value="Gérer vos préférences et paramètres de compte" />
|
|
</ui:include>
|
|
|
|
<div class="grid">
|
|
<!-- Informations du compte -->
|
|
<div class="col-12 lg:col-8">
|
|
<div class="card">
|
|
<h5>Informations du compte</h5>
|
|
<h:form id="formAccountInfo">
|
|
<p:panelGrid columns="2" styleClass="w-full" columnClasses="col-12 md:col-4, col-12 md:col-8">
|
|
<p:outputLabel for="username" value="Nom d'utilisateur" />
|
|
<p:inputText id="username"
|
|
value="#{userSessionBean.username}"
|
|
readonly="true"
|
|
styleClass="w-full" />
|
|
|
|
<p:outputLabel for="email" value="Email" />
|
|
<p:inputText id="email"
|
|
value="#{userSessionBean.email}"
|
|
readonly="true"
|
|
styleClass="w-full" />
|
|
|
|
<p:outputLabel for="fullName" value="Nom complet" />
|
|
<p:inputText id="fullName"
|
|
value="#{userSessionBean.fullName}"
|
|
readonly="true"
|
|
styleClass="w-full" />
|
|
|
|
<p:outputLabel for="mainRole" value="Rôle principal" />
|
|
<p:inputText id="mainRole"
|
|
value="#{userSessionBean.mainRole}"
|
|
readonly="true"
|
|
styleClass="w-full" />
|
|
</p:panelGrid>
|
|
</h:form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Préférences -->
|
|
<div class="col-12 lg:col-4">
|
|
<div class="card">
|
|
<h5>Préférences</h5>
|
|
<h:form id="formPreferences">
|
|
<div class="flex flex-column gap-3">
|
|
<div class="flex align-items-center justify-content-between">
|
|
<span class="text-600">Thème des composants</span>
|
|
<p:selectOneMenu value="#{guestPreferences.componentTheme}"
|
|
styleClass="w-12rem">
|
|
<f:selectItems value="#{guestPreferences.componentThemes}"
|
|
var="theme"
|
|
itemLabel="#{theme.name}"
|
|
itemValue="#{theme.file}" />
|
|
<p:ajax event="change" update="@form" />
|
|
</p:selectOneMenu>
|
|
</div>
|
|
<div class="flex align-items-center justify-content-between">
|
|
<span class="text-600">Mode sombre</span>
|
|
<p:selectOneMenu value="#{guestPreferences.darkMode}"
|
|
styleClass="w-12rem">
|
|
<f:selectItem itemLabel="Clair" itemValue="light" />
|
|
<f:selectItem itemLabel="Sombre" itemValue="dark" />
|
|
<p:ajax event="change" update="@form" />
|
|
</p:selectOneMenu>
|
|
</div>
|
|
<div class="flex align-items-center justify-content-between">
|
|
<span class="text-600">Style d'input</span>
|
|
<p:selectOneMenu value="#{guestPreferences.inputStyle}"
|
|
styleClass="w-12rem">
|
|
<f:selectItem itemLabel="Outlined" itemValue="outlined" />
|
|
<f:selectItem itemLabel="Filled" itemValue="filled" />
|
|
<p:ajax event="change" update="@form" />
|
|
</p:selectOneMenu>
|
|
</div>
|
|
</div>
|
|
</h:form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Actions -->
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<h5>Actions</h5>
|
|
<div class="flex gap-2">
|
|
<h:form>
|
|
<p:commandButton
|
|
value="Rafraîchir les informations"
|
|
icon="pi pi-refresh"
|
|
styleClass="p-button-secondary"
|
|
action="#{userSessionBean.loadUserInfo}"
|
|
update="formAccountInfo" />
|
|
</h:form>
|
|
<h:form>
|
|
<p:commandButton
|
|
value="Changer le mot de passe"
|
|
icon="pi pi-key"
|
|
styleClass="p-button-info"
|
|
outcome="/pages/user-manager/users/profile" />
|
|
</h:form>
|
|
<h:form>
|
|
<p:commandButton
|
|
value="Sauvegarder les préférences"
|
|
icon="pi pi-save"
|
|
styleClass="p-button-success"
|
|
action="#{settingsBean.savePreferences}"
|
|
update="@form" />
|
|
</h:form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ui:define>
|
|
|
|
</ui:composition>
|
|
|