refactor: Refactorisation du login et de admin/subscription

This commit is contained in:
Luc SORIGNET
2025-01-12 16:34:32 +01:00
parent 427b6c7588
commit 41aa9d55d3
14 changed files with 254 additions and 250 deletions

View File

@ -5,19 +5,19 @@ import React from 'react';
import { useTranslations } from 'next-intl';
import 'react-phone-number-input/style.css'
export default function ResponsableInputFields({responsables, onResponsablesChange, addResponsible, deleteResponsable}) {
export default function ResponsableInputFields({guardians, onGuardiansChange, addGuardian, deleteGuardian}) {
const t = useTranslations('ResponsableInputFields');
return (
<div className="space-y-8">
{responsables.map((item, index) => (
{guardians.map((item, index) => (
<div className="p-6 bg-gray-50 rounded-lg shadow-sm" key={index}>
<div className='flex justify-between items-center mb-4'>
<h3 className='text-xl font-bold'>{t('responsable')} {index+1}</h3>
{responsables.length > 1 && (
{guardians.length > 1 && (
<Button
text={t('delete')}
onClick={() => deleteResponsable(index)}
onClick={() => deleteGuardian(index)}
className="w-32"
/>
)}
@ -31,15 +31,15 @@ export default function ResponsableInputFields({responsables, onResponsablesChan
name="nomResponsable"
type="text"
label={t('lastname')}
value={item.nom}
onChange={(event) => {onResponsablesChange(item.id, "nom", event.target.value)}}
value={item.last_name}
onChange={(event) => {onGuardiansChange(item.id, "last_name", event.target.value)}}
/>
<InputText
name="prenomResponsable"
type="text"
label={t('firstname')}
value={item.prenom}
onChange={(event) => {onResponsablesChange(item.id, "prenom", event.target.value)}}
value={item.first_name}
onChange={(event) => {onGuardiansChange(item.id, "first_name", event.target.value)}}
/>
</div>
@ -48,14 +48,14 @@ export default function ResponsableInputFields({responsables, onResponsablesChan
name="mailResponsable"
type="email"
label={t('email')}
value={item.mail}
onChange={(event) => {onResponsablesChange(item.id, "mail", event.target.value)}}
value={item.email}
onChange={(event) => {onGuardiansChange(item.id, "email", event.target.value)}}
/>
<InputPhone
name="telephoneResponsable"
label={t('phone')}
value={item.telephone}
onChange={(event) => {onResponsablesChange(item.id, "telephone", event)}}
value={item.phone}
onChange={(event) => {onGuardiansChange(item.id, "phone", event)}}
/>
</div>
@ -64,15 +64,15 @@ export default function ResponsableInputFields({responsables, onResponsablesChan
name="dateNaissanceResponsable"
type="date"
label={t('birthdate')}
value={item.dateNaissance}
onChange={(event) => {onResponsablesChange(item.id, "dateNaissance", event.target.value)}}
value={item.birth_date}
onChange={(event) => {onGuardiansChange(item.id, "birth_date", event.target.value)}}
/>
<InputText
name="professionResponsable"
type="text"
label={t('profession')}
value={item.profession}
onChange={(event) => {onResponsablesChange(item.id, "profession", event.target.value)}}
onChange={(event) => {onGuardiansChange(item.id, "profession", event.target.value)}}
/>
</div>
@ -81,8 +81,8 @@ export default function ResponsableInputFields({responsables, onResponsablesChan
name="adresseResponsable"
type="text"
label={t('address')}
value={item.adresse}
onChange={(event) => {onResponsablesChange(item.id, "adresse", event.target.value)}}
value={item.address}
onChange={(event) => {onGuardiansChange(item.id, "address", event.target.value)}}
/>
</div>
</div>
@ -91,7 +91,7 @@ export default function ResponsableInputFields({responsables, onResponsablesChan
<div className="flex justify-center">
<Button
text={t('add_responsible')}
onClick={(e) => addResponsible(e)}
onClick={(e) => addGuardian(e)}
primary
icon={<i className="icon profile-add" />}
type="button"