mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
feat: Ajout d'un composant permettant de visualiser les fichiers signés
par les parents
This commit is contained in:
@ -58,7 +58,6 @@ import {
|
||||
import { fetchProfiles } from '@/app/actions/authAction';
|
||||
|
||||
import {
|
||||
BASE_URL,
|
||||
FE_ADMIN_SUBSCRIPTIONS_EDIT_URL,
|
||||
FE_ADMIN_SUBSCRIPTIONS_VALIDATE_URL,
|
||||
} from '@/utils/Url';
|
||||
@ -68,6 +67,7 @@ import { useCsrfToken } from '@/context/CsrfContext';
|
||||
import logger from '@/utils/logger';
|
||||
import { PhoneLabel } from '@/components/PhoneLabel';
|
||||
import FileUpload from '@/components/FileUpload';
|
||||
import FilesModal from '@/components/Inscription/FilesModal';
|
||||
|
||||
export default function Page({ params: { locale } }) {
|
||||
const t = useTranslations('subscriptions');
|
||||
@ -108,7 +108,7 @@ export default function Page({ params: { locale } }) {
|
||||
const [isOpenAddGuardian, setIsOpenAddGuardian] = useState(false);
|
||||
|
||||
const [isFilesModalOpen, setIsFilesModalOpen] = useState(false);
|
||||
const [selectedRowFiles, setSelectedRowFiles] = useState([]);
|
||||
const [selectedRegisterForm, setSelectedRegisterForm] = useState([]);
|
||||
|
||||
const [popupVisible, setPopupVisible] = useState(false);
|
||||
const [popupMessage, setPopupMessage] = useState('');
|
||||
@ -156,28 +156,10 @@ export default function Page({ params: { locale } }) {
|
||||
};
|
||||
|
||||
const openFilesModal = (row) => {
|
||||
const files = [];
|
||||
if (row.registration_file) {
|
||||
files.push({
|
||||
name: "Fichier d'inscription",
|
||||
url: `${BASE_URL}${row.registration_file}`,
|
||||
});
|
||||
}
|
||||
if (row.sepa_file) {
|
||||
files.push({
|
||||
name: 'Mandat SEPA',
|
||||
url: `${BASE_URL}${row.sepa_file}`,
|
||||
});
|
||||
}
|
||||
setSelectedRowFiles(files);
|
||||
setSelectedRegisterForm(row || []);
|
||||
setIsFilesModalOpen(true);
|
||||
};
|
||||
|
||||
const closeFilesModal = () => {
|
||||
setIsFilesModalOpen(false);
|
||||
setSelectedRowFiles([]);
|
||||
};
|
||||
|
||||
const requestErrorHandler = (err) => {
|
||||
logger.error('Error fetching data:', err);
|
||||
};
|
||||
@ -971,20 +953,6 @@ export default function Page({ params: { locale } }) {
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: t('files'),
|
||||
transform: (row) =>
|
||||
row.registration_file != null && (
|
||||
<ul>
|
||||
<li className="flex items-center gap-2">
|
||||
<FileText size={16} />
|
||||
<a href={`${BASE_URL}${row.registration_file}`} target="_blank">
|
||||
{row.registration_file?.split('/').pop()}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: 'Actions',
|
||||
transform: (row) => (
|
||||
@ -1216,27 +1184,10 @@ export default function Page({ params: { locale } }) {
|
||||
/>
|
||||
)}
|
||||
{isFilesModalOpen && (
|
||||
<Modal
|
||||
<FilesModal
|
||||
isOpen={isFilesModalOpen}
|
||||
setIsOpen={setIsFilesModalOpen}
|
||||
title="Fichiers disponibles"
|
||||
ContentComponent={() => (
|
||||
<ul className="space-y-4">
|
||||
{selectedRowFiles.map((file, index) => (
|
||||
<li key={index} className="flex items-center gap-2">
|
||||
<FileText className="w-5 h-5 text-gray-500" />
|
||||
<a
|
||||
href={file.url}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-blue-500 hover:text-blue-700 underline"
|
||||
>
|
||||
{file.name}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
)}
|
||||
selectedRegisterForm={selectedRegisterForm}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user