fix: code mort

This commit is contained in:
N3WT DE COMPET
2025-05-05 21:51:00 +02:00
parent 5440f5cbdb
commit 4fc061fc25

View File

@ -80,7 +80,6 @@ export default function Page({ params: { locale } }) {
const [currentSchoolHistoricalYearPage, setCurrentSchoolHistoricalYearPage] =
useState(1);
const [searchTerm, setSearchTerm] = useState('');
const [alertPage, setAlertPage] = useState(false);
const [isLoading, setIsLoading] = useState(false);
const [activeTab, setActiveTab] = useState('currentYear');
const [totalCurrentYear, setTotalCurrentYear] = useState(0);
@ -666,234 +665,156 @@ export default function Page({ params: { locale } }) {
},
];
const columnsSubscribed = [
{ name: t('studentName'), transform: (row) => row.student.last_name },
{ name: t('studentFistName'), transform: (row) => row.student.first_name },
{
name: t('lastUpdateDate'),
transform: (row) => row.updated_date_formated,
},
{ name: t('class'), transform: (row) => row.student.first_name },
{
name: t('registrationFileStatus'),
transform: (row) => (
<div className="flex justify-center items-center h-full">
<StatusLabel
status={row.status}
onChange={(newStatus) =>
updateStatusAction(row.student.id, newStatus)
}
showDropdown={false}
/>
</div>
),
},
{
name: 'Actions',
transform: (row) => (
<DropdownMenu
buttonContent={
<MoreVertical
size={20}
className="text-gray-400 hover:text-gray-600"
/>
}
items={[
{
label: (
<>
<CheckCircle size={16} className="mr-2" /> Rattacher
</>
),
onClick: () => openModalAssociationEleve(row.student),
},
{
label: (
<>
<Archive size={16} className="mr-2 text-red-700" /> Archiver
</>
),
onClick: () =>
archiveFicheInscription(
row.student.id,
row.student.last_name,
row.student.first_name
),
},
]}
buttonClassName="text-gray-400 hover:text-gray-600"
menuClassName="absolute right-0 mt-2 w-48 bg-white border border-gray-200 rounded-md shadow-lg z-10 flex flex-col items-center"
/>
),
},
];
if (isLoading) {
return <Loader />;
} else {
if (
registrationForms.length === 0 &&
registrationFormsDataHistorical.length === 0 &&
alertPage
) {
return (
<div className="p-8">
<AlertWithModal
title={t('information')}
message={t('no_records') + ' ' + t('create_first_record')}
buttonText={t('add_button')}
}
return (
<div className="p-8">
<div className="border-b border-gray-200 mb-6">
<div className="flex items-center gap-8">
{/* Tab pour l'année scolaire en cours */}
<Tab
text={
<>
{currentSchoolYear}
<span className="ml-2 text-sm text-gray-400">
({totalCurrentYear})
</span>
</>
}
active={activeTab === 'currentYear'}
onClick={() => setActiveTab('currentYear')}
/>
{/* Tab pour l'année scolaire prochaine */}
<Tab
text={
<>
{nextSchoolYear}
<span className="ml-2 text-sm text-gray-400">
({totalNextYear})
</span>
</>
}
active={activeTab === 'nextYear'}
onClick={() => setActiveTab('nextYear')}
/>
{/* Tab pour l'historique */}
<Tab
text={
<>
{t('historical')}
<span className="ml-2 text-sm text-gray-400">
({totalHistorical})
</span>
</>
}
active={activeTab === 'historical'}
onClick={() => setActiveTab('historical')}
/>
</div>
);
} else {
return (
<div className="p-8">
<div className="border-b border-gray-200 mb-6">
<div className="flex items-center gap-8">
{/* Tab pour l'année scolaire en cours */}
<Tab
text={
<>
{currentSchoolYear}
<span className="ml-2 text-sm text-gray-400">
({totalCurrentYear})
</span>
</>
}
active={activeTab === 'currentYear'}
onClick={() => setActiveTab('currentYear')}
/>
</div>
{/* Tab pour l'année scolaire prochaine */}
<Tab
text={
<>
{nextSchoolYear}
<span className="ml-2 text-sm text-gray-400">
({totalNextYear})
</span>
</>
}
active={activeTab === 'nextYear'}
onClick={() => setActiveTab('nextYear')}
/>
<div className="border-b border-gray-200 mb-6 w-full">
{activeTab === 'currentYear' ||
activeTab === 'nextYear' ||
activeTab === 'historical' ? (
<React.Fragment>
<div className="flex justify-between items-center mb-4 w-full">
<div className="relative flex-grow">
<Search
className="absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400"
size={20}
/>
<input
type="text"
placeholder={t('searchStudent')}
className="w-full pl-10 pr-4 py-2 border border-gray-200 rounded-md"
value={searchTerm}
onChange={handleSearchChange}
/>
</div>
<button
onClick={() => {
const url = `${FE_ADMIN_SUBSCRIPTIONS_CREATE_URL}`;
router.push(url);
}}
className="flex items-center bg-emerald-600 text-white p-2 rounded-full shadow hover:bg-emerald-900 transition duration-200 ml-4"
>
<Plus className="w-5 h-5" />
</button>
</div>
{/* Tab pour l'historique */}
<Tab
text={
<>
{t('historical')}
<span className="ml-2 text-sm text-gray-400">
({totalHistorical})
</span>
</>
<div className="w-full">
<DjangoCSRFToken csrfToken={csrfToken} />
<Table
key={`${currentSchoolYearPage}-${searchTerm}`}
data={
activeTab === 'currentYear'
? registrationFormsDataCurrentYear
: activeTab === 'nextYear'
? registrationFormsDataNextYear
: registrationFormsDataHistorical
}
active={activeTab === 'historical'}
onClick={() => setActiveTab('historical')}
columns={columns}
itemsPerPage={itemsPerPage}
currentPage={
activeTab === 'currentYear'
? currentSchoolYearPage
: activeTab === 'nextYear'
? currentSchoolNextYearPage
: currentSchoolHistoricalYearPage
}
totalPages={
activeTab === 'currentYear'
? totalCurrentSchoolYearPages
: activeTab === 'nextYear'
? totalNextSchoolYearPages
: totalHistoricalPages
}
onPageChange={handlePageChange}
/>
</div>
</div>
</React.Fragment>
) : null}
</div>
<Popup
visible={popupVisible}
message={popupMessage}
onConfirm={() => setPopupVisible(false)}
uniqueConfirmButton={true}
/>
<Popup
visible={confirmPopupVisible}
message={confirmPopupMessage}
onConfirm={confirmPopupOnConfirm}
onCancel={() => setConfirmPopupVisible(false)}
/>
<div className="border-b border-gray-200 mb-6 w-full">
{activeTab === 'currentYear' ||
activeTab === 'nextYear' ||
activeTab === 'historical' ? (
<React.Fragment>
<div className="flex justify-between items-center mb-4 w-full">
<div className="relative flex-grow">
<Search
className="absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400"
size={20}
/>
<input
type="text"
placeholder={t('searchStudent')}
className="w-full pl-10 pr-4 py-2 border border-gray-200 rounded-md"
value={searchTerm}
onChange={handleSearchChange}
/>
</div>
<button
onClick={() => {
const url = `${FE_ADMIN_SUBSCRIPTIONS_CREATE_URL}`;
router.push(url);
}}
className="flex items-center bg-emerald-600 text-white p-2 rounded-full shadow hover:bg-emerald-900 transition duration-200 ml-4"
>
<Plus className="w-5 h-5" />
</button>
</div>
<div className="w-full">
<DjangoCSRFToken csrfToken={csrfToken} />
<Table
key={`${currentSchoolYearPage}-${searchTerm}`}
data={
activeTab === 'currentYear'
? registrationFormsDataCurrentYear
: activeTab === 'nextYear'
? registrationFormsDataNextYear
: registrationFormsDataHistorical
}
columns={columns}
itemsPerPage={itemsPerPage}
currentPage={
activeTab === 'currentYear'
? currentSchoolYearPage
: activeTab === 'nextYear'
? currentSchoolNextYearPage
: currentSchoolHistoricalYearPage
}
totalPages={
activeTab === 'currentYear'
? totalCurrentSchoolYearPages
: activeTab === 'nextYear'
? totalNextSchoolYearPages
: totalHistoricalPages
}
onPageChange={handlePageChange}
/>
</div>
</React.Fragment>
) : null}
</div>
<Popup
visible={popupVisible}
message={popupMessage}
onConfirm={() => setPopupVisible(false)}
uniqueConfirmButton={true}
/>
<Popup
visible={confirmPopupVisible}
message={confirmPopupMessage}
onConfirm={confirmPopupOnConfirm}
onCancel={() => setConfirmPopupVisible(false)}
/>
{isSepaUploadModalOpen && (
<Modal
isOpen={isSepaUploadModalOpen}
setIsOpen={setIsSepaUploadModalOpen}
title="Uploader un mandat SEPA"
ContentComponent={() => (
<FileUpload
selectionMessage="Sélectionnez un mandat SEPA à uploader"
onFileSelect={(file) =>
handleSepaFileUpload(file, selectedRowForUpload)
}
/>
)}
{isSepaUploadModalOpen && (
<Modal
isOpen={isSepaUploadModalOpen}
setIsOpen={setIsSepaUploadModalOpen}
title="Uploader un mandat SEPA"
ContentComponent={() => (
<FileUpload
selectionMessage="Sélectionnez un mandat SEPA à uploader"
onFileSelect={(file) =>
handleSepaFileUpload(file, selectedRowForUpload)
}
/>
)}
{isFilesModalOpen && (
<FilesModal
isOpen={isFilesModalOpen}
setIsOpen={setIsFilesModalOpen}
selectedRegisterForm={selectedRegisterForm}
/>
)}
</div>
);
}
}
/>
)}
{isFilesModalOpen && (
<FilesModal
isOpen={isFilesModalOpen}
setIsOpen={setIsFilesModalOpen}
selectedRegisterForm={selectedRegisterForm}
/>
)}
</div>
);
}