Added data loading text to each pages

This commit is contained in:
2024-10-11 19:40:49 +02:00
parent 1077400260
commit 8bde354b71
11 changed files with 233 additions and 191 deletions
+6
View File
@@ -1,4 +1,10 @@
// ---------------------------------------------------------------------------------------------------------------------
//! Imports
// ---------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------- React & Next -----------------------------------------------------
import { useEffect, useState } from 'react';
// ---------------------------------------------------------------------------------------------------------------------
export const useData = () => {
const [userData, setUserData] = useState(null);
+81 -81
View File
@@ -45,10 +45,6 @@ const Settings = () => {
setPasswordMessage,
});
if (!userData) {
return;
}
return (
<div className='settings'>
<div className='header'>
@@ -65,93 +61,97 @@ const Settings = () => {
<p className='title'>Éditer le profil</p>
</div>
<div className='settingsContainer'>
{usernameMessage && (
<p className='message'>{usernameMessage}</p>
)}
<form
className='card'
onSubmit={updateUsername}
>
<p className='cardTitle'>Nom d&apos;utilisateur</p>
<Input
type='text'
name='username'
placeholder="Nom d'utilisateur"
defaultValue={userData.username}
autoComplete='username'
required
/>
<button
type='submit'
className='submitButton'
>
Appliquer
</button>
</form>
<form
className='card'
onSubmit={updatePassword}
>
<p className='cardTitle'>Modifier le mot de passe</p>
{passwordMessage && (
<p className='message'>{passwordMessage}</p>
{!userData ? (
<p className='loading'>Chargement...</p>
) : (
<div className='settingsContainer'>
{usernameMessage && (
<p className='message'>{usernameMessage}</p>
)}
<div className='inputsContainer'>
<form
className='card'
onSubmit={updateUsername}
>
<p className='cardTitle'>Nom d&apos;utilisateur</p>
<Input
type='password'
name='currentPassword'
placeholder='Mot de passe actuel'
autoComplete='password'
type='text'
name='username'
placeholder="Nom d'utilisateur"
defaultValue={userData.username}
autoComplete='username'
required
/>
<Input
type='password'
name='newPassword'
placeholder='Nouveau mot de passe'
autoComplete='off'
required
/>
<Input
type='password'
name='confirmNewPassword'
placeholder='Confirmer le nouveau mot de passe'
autoComplete='off'
required
/>
</div>
<button
type='submit'
className='submitButton'
>
Appliquer
</button>
</form>
<form
className='card'
onSubmit={updatePassword}
>
<p className='cardTitle'>Modifier le mot de passe</p>
{passwordMessage && (
<p className='message'>{passwordMessage}</p>
)}
<div className='inputsContainer'>
<Input
type='password'
name='currentPassword'
placeholder='Mot de passe actuel'
autoComplete='password'
required
/>
<Input
type='password'
name='newPassword'
placeholder='Nouveau mot de passe'
autoComplete='off'
required
/>
<Input
type='password'
name='confirmNewPassword'
placeholder='Confirmer le nouveau mot de passe'
autoComplete='off'
required
/>
</div>
<button
type='submit'
className='submitButton'
>
Appliquer
</button>
</form>
<button
type='submit'
className='submitButton'
className='deleteButton'
onClick={handleDeleteUser}
>
Appliquer
<TrashIcon />
Supprimer mon compte
</button>
</form>
<button
className='deleteButton'
onClick={handleDeleteUser}
>
<TrashIcon />
Supprimer mon compte
</button>
{isPopupDisplayed && (
<ConfirmPopup
title='Supprimer le compte ?'
content='Es-tu sûr de vouloir supprimer ton compte ? Cette action est irréversible.'
onClose={handleClosePopup}
onAccept={deleteUser}
/>
)}
</div>
{isPopupDisplayed && (
<ConfirmPopup
title='Supprimer le compte ?'
content='Es-tu sûr de vouloir supprimer ton compte ? Cette action est irréversible.'
onClose={handleClosePopup}
onAccept={deleteUser}
/>
)}
</div>
)}
</div>
);
};
+5
View File
@@ -26,6 +26,11 @@
}
}
& > .loading {
margin: auto;
color: #d94253;
}
& > .settingsContainer {
display: flex;
flex-direction: column;