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>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{filteredApprenants.map((apprenant) => (
|
||||
<TableRow key={apprenant.id}>
|
||||
{filteredApprenants.map((apprenant, index) => (
|
||||
<TableRow key={apprenant.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||
<TableCell className="font-medium">{apprenant.nom}</TableCell>
|
||||
<TableCell>{apprenant.prenom}</TableCell>
|
||||
<TableCell>{apprenant.email}</TableCell>
|
||||
|
||||
@@ -276,8 +276,8 @@ export default function AdminFormations() {
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{filteredFormations.map((formation) => (
|
||||
<TableRow key={formation.id}>
|
||||
{filteredFormations.map((formation, index) => (
|
||||
<TableRow key={formation.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||
<TableCell className="font-medium">{formation.nom}</TableCell>
|
||||
<TableCell className="max-w-xs truncate">{formation.description || "-"}</TableCell>
|
||||
<TableCell>
|
||||
|
||||
@@ -439,14 +439,14 @@ export default function AdminGestionAttestations() {
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{apprenants.map((item) => {
|
||||
{apprenants.map((item, index) => {
|
||||
const hasAttestation = !!item.attestation;
|
||||
const hasDocument = hasAttestation && (item.attestation.urlPdf || item.attestation.documentUrl);
|
||||
const isSent = hasAttestation && item.attestation.emailEnvoye;
|
||||
const documentUrl = item.attestation?.documentUrl || item.attestation?.urlPdf;
|
||||
|
||||
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.prenom}</TableCell>
|
||||
<TableCell>{item.apprenant.email}</TableCell>
|
||||
|
||||
@@ -522,7 +522,7 @@ export default function AdminSequenceInscrits() {
|
||||
className="gap-2"
|
||||
>
|
||||
<UserPlus className="h-4 w-4" />
|
||||
Ajouter un inscrit
|
||||
Ajouter un apprenant
|
||||
</Button>
|
||||
</div>
|
||||
</CardHeader>
|
||||
@@ -596,9 +596,9 @@ export default function AdminSequenceInscrits() {
|
||||
<Dialog open={isAddInscritOpen} onOpenChange={setIsAddInscritOpen}>
|
||||
<DialogContent className="max-w-2xl">
|
||||
<DialogHeader>
|
||||
<DialogTitle>Ajouter un inscrit à la séquence</DialogTitle>
|
||||
<DialogTitle>Ajouter un apprenant à la séquence</DialogTitle>
|
||||
<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>
|
||||
</DialogHeader>
|
||||
<AddInscritForm
|
||||
|
||||
@@ -722,8 +722,8 @@ export default function AdminSequences() {
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{filteredAndSortedSequences.map((sequence) => (
|
||||
<TableRow key={sequence.id}>
|
||||
{filteredAndSortedSequences.map((sequence, index) => (
|
||||
<TableRow key={sequence.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||
<TableCell className={`font-semibold ${getFormationColor(sequence.formationId)}`}>{getFormationName(sequence.formationId)}</TableCell>
|
||||
<TableCell>{sequence.nom}</TableCell>
|
||||
<TableCell>
|
||||
|
||||
@@ -367,8 +367,8 @@ export default function AdminUsers() {
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
) : (
|
||||
filteredUsers.map((user) => (
|
||||
<TableRow key={user.id}>
|
||||
filteredUsers.map((user, index) => (
|
||||
<TableRow key={user.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||
<TableCell className="font-medium">{user.id}</TableCell>
|
||||
<TableCell>{user.name || "N/A"}</TableCell>
|
||||
<TableCell>{user.email || "N/A"}</TableCell>
|
||||
|
||||
@@ -229,8 +229,8 @@ export default function AdminFormateurs() {
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{formateurs?.map((formateur) => (
|
||||
<TableRow key={formateur.id}>
|
||||
{formateurs?.map((formateur, index) => (
|
||||
<TableRow key={formateur.id} className={index % 2 === 1 ? "bg-blue-50/70" : ""}>
|
||||
<TableCell className="font-medium">{formateur.nom}</TableCell>
|
||||
<TableCell>
|
||||
{formateur.email ? (
|
||||
|
||||
Reference in New Issue
Block a user