Checkpoint: Renommage du bouton "Ajouter un inscrit" et application de l'alternance de couleurs blanc/bleu clair sur tous les tableaux.
**Modifications apportées :** 1. **Renommage du bouton d'ajout d'apprenant** : - Bouton renommé de "Ajouter un inscrit" à "Ajouter un apprenant" - Titre de la boîte de dialogue mis à jour - Description améliorée : "Sélectionnez un apprenant dans la liste ci-dessous pour l'inscrire à cette séquence. La liste affichée correspond à l'ensemble des apprenants enregistrés dans le système." 2. **Alternance de couleurs blanc/bleu clair (bg-blue-50/70)** appliquée sur tous les tableaux : - Liste des formations (AdminFormations.tsx) - Liste des séquences (AdminSequences.tsx) - Liste des apprenants (AdminApprenants.tsx) - Liste des inscrits dans la fenêtre de gestion des attestations (AdminGestionAttestations.tsx) - Liste des utilisateurs (AdminUsers.tsx) - Liste des formateurs (AdminFormateurs.tsx) **Résultat :** ✅ Meilleure cohérence terminologique dans l'interface ✅ Amélioration significative de la lisibilité de tous les tableaux grâce à l'alternance de couleurs ✅ Expérience utilisateur plus fluide et professionnelle ✅ Déployé et testé avec succès sur le VPS de production (https://formations.itinova.org)
This commit is contained in:
@@ -289,8 +289,8 @@ export default function AdminApprenants() {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{filteredApprenants.map((apprenant) => (
|
{filteredApprenants.map((apprenant, index) => (
|
||||||
<TableRow key={apprenant.id}>
|
<TableRow key={apprenant.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell className="font-medium">{apprenant.nom}</TableCell>
|
<TableCell className="font-medium">{apprenant.nom}</TableCell>
|
||||||
<TableCell>{apprenant.prenom}</TableCell>
|
<TableCell>{apprenant.prenom}</TableCell>
|
||||||
<TableCell>{apprenant.email}</TableCell>
|
<TableCell>{apprenant.email}</TableCell>
|
||||||
|
|||||||
@@ -276,8 +276,8 @@ export default function AdminFormations() {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{filteredFormations.map((formation) => (
|
{filteredFormations.map((formation, index) => (
|
||||||
<TableRow key={formation.id}>
|
<TableRow key={formation.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell className="font-medium">{formation.nom}</TableCell>
|
<TableCell className="font-medium">{formation.nom}</TableCell>
|
||||||
<TableCell className="max-w-xs truncate">{formation.description || "-"}</TableCell>
|
<TableCell className="max-w-xs truncate">{formation.description || "-"}</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
|
|||||||
@@ -439,14 +439,14 @@ export default function AdminGestionAttestations() {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{apprenants.map((item) => {
|
{apprenants.map((item, index) => {
|
||||||
const hasAttestation = !!item.attestation;
|
const hasAttestation = !!item.attestation;
|
||||||
const hasDocument = hasAttestation && (item.attestation.urlPdf || item.attestation.documentUrl);
|
const hasDocument = hasAttestation && (item.attestation.urlPdf || item.attestation.documentUrl);
|
||||||
const isSent = hasAttestation && item.attestation.emailEnvoye;
|
const isSent = hasAttestation && item.attestation.emailEnvoye;
|
||||||
const documentUrl = item.attestation?.documentUrl || item.attestation?.urlPdf;
|
const documentUrl = item.attestation?.documentUrl || item.attestation?.urlPdf;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TableRow key={item.inscription.id}>
|
<TableRow key={item.inscription.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell>{item.apprenant.nom}</TableCell>
|
<TableCell>{item.apprenant.nom}</TableCell>
|
||||||
<TableCell>{item.apprenant.prenom}</TableCell>
|
<TableCell>{item.apprenant.prenom}</TableCell>
|
||||||
<TableCell>{item.apprenant.email}</TableCell>
|
<TableCell>{item.apprenant.email}</TableCell>
|
||||||
|
|||||||
@@ -522,7 +522,7 @@ export default function AdminSequenceInscrits() {
|
|||||||
className="gap-2"
|
className="gap-2"
|
||||||
>
|
>
|
||||||
<UserPlus className="h-4 w-4" />
|
<UserPlus className="h-4 w-4" />
|
||||||
Ajouter un inscrit
|
Ajouter un apprenant
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
@@ -596,9 +596,9 @@ export default function AdminSequenceInscrits() {
|
|||||||
<Dialog open={isAddInscritOpen} onOpenChange={setIsAddInscritOpen}>
|
<Dialog open={isAddInscritOpen} onOpenChange={setIsAddInscritOpen}>
|
||||||
<DialogContent className="max-w-2xl">
|
<DialogContent className="max-w-2xl">
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>Ajouter un inscrit à la séquence</DialogTitle>
|
<DialogTitle>Ajouter un apprenant à la séquence</DialogTitle>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
Sélectionnez un apprenant à inscrire à cette séquence
|
Sélectionnez un apprenant dans la liste ci-dessous pour l'inscrire à cette séquence. La liste affichée correspond à l'ensemble des apprenants enregistrés dans le système.
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<AddInscritForm
|
<AddInscritForm
|
||||||
|
|||||||
@@ -722,8 +722,8 @@ export default function AdminSequences() {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{filteredAndSortedSequences.map((sequence) => (
|
{filteredAndSortedSequences.map((sequence, index) => (
|
||||||
<TableRow key={sequence.id}>
|
<TableRow key={sequence.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell className={`font-semibold ${getFormationColor(sequence.formationId)}`}>{getFormationName(sequence.formationId)}</TableCell>
|
<TableCell className={`font-semibold ${getFormationColor(sequence.formationId)}`}>{getFormationName(sequence.formationId)}</TableCell>
|
||||||
<TableCell>{sequence.nom}</TableCell>
|
<TableCell>{sequence.nom}</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
|
|||||||
@@ -367,8 +367,8 @@ export default function AdminUsers() {
|
|||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
) : (
|
) : (
|
||||||
filteredUsers.map((user) => (
|
filteredUsers.map((user, index) => (
|
||||||
<TableRow key={user.id}>
|
<TableRow key={user.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell className="font-medium">{user.id}</TableCell>
|
<TableCell className="font-medium">{user.id}</TableCell>
|
||||||
<TableCell>{user.name || "N/A"}</TableCell>
|
<TableCell>{user.name || "N/A"}</TableCell>
|
||||||
<TableCell>{user.email || "N/A"}</TableCell>
|
<TableCell>{user.email || "N/A"}</TableCell>
|
||||||
|
|||||||
@@ -229,8 +229,8 @@ export default function AdminFormateurs() {
|
|||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
{formateurs?.map((formateur) => (
|
{formateurs?.map((formateur, index) => (
|
||||||
<TableRow key={formateur.id}>
|
<TableRow key={formateur.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||||
<TableCell className="font-medium">{formateur.nom}</TableCell>
|
<TableCell className="font-medium">{formateur.nom}</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
{formateur.email ? (
|
{formateur.email ? (
|
||||||
|
|||||||
16
todo.md
16
todo.md
@@ -978,3 +978,19 @@
|
|||||||
- [x] Identifier pourquoi les boutons ont disparu
|
- [x] Identifier pourquoi les boutons ont disparu
|
||||||
- [x] Restaurer les boutons
|
- [x] Restaurer les boutons
|
||||||
- [x] Déployer et tester
|
- [x] Déployer et tester
|
||||||
|
|
||||||
|
## Renommage bouton ajout d'apprenant
|
||||||
|
|
||||||
|
- [x] Renommer "Ajouter un inscrit" en "Ajouter un apprenant"
|
||||||
|
- [x] Ajouter précision dans la boîte de dialogue
|
||||||
|
- [x] Déployer et tester
|
||||||
|
|
||||||
|
## Alternance de couleurs blanc/bleu sur tous les tableaux
|
||||||
|
|
||||||
|
- [x] Liste des formations
|
||||||
|
- [x] Liste des séquences
|
||||||
|
- [x] Liste des apprenants
|
||||||
|
- [x] Liste des inscrits (fenêtre gestion des attestations)
|
||||||
|
- [x] Liste des utilisateurs
|
||||||
|
- [x] Liste des formateurs
|
||||||
|
- [x] Déployer et tester
|
||||||
|
|||||||
Reference in New Issue
Block a user