From 9585fad9fffb8250f2c89c135767ada0dbc47d43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20HUSS?= <theophile.huss@etu.unistra.fr>
Date: Fri, 17 Jan 2025 00:06:04 +0100
Subject: [PATCH] feat: Add limit to upload files

---
 src/routes/createQuiz/imageQuiz.tsx | 4 ++++
 src/routes/createQuiz/soundQuiz.tsx | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/routes/createQuiz/imageQuiz.tsx b/src/routes/createQuiz/imageQuiz.tsx
index 8c99f76..8a2d182 100644
--- a/src/routes/createQuiz/imageQuiz.tsx
+++ b/src/routes/createQuiz/imageQuiz.tsx
@@ -26,6 +26,10 @@ export default function ImageQuiz({ answers, indexQuestion, updateAnswer, handle
     const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>, indexQuestion: number, index: number) => {
         if (e.target.files && e.target.files[0]) {
             const file = e.target.files[0];
+            if (file.size > 1048576) {
+                alert("Le fichier est trop volumineux. La taille maximale autorisée est de 1 Mo.");
+                return;
+            }
             try {
                 const base64 = await convertToBase64(file);
                 setPreviews((prev) => {
diff --git a/src/routes/createQuiz/soundQuiz.tsx b/src/routes/createQuiz/soundQuiz.tsx
index 89758fd..6a8fbb2 100644
--- a/src/routes/createQuiz/soundQuiz.tsx
+++ b/src/routes/createQuiz/soundQuiz.tsx
@@ -26,6 +26,10 @@ export default function SoundQuiz({ answers, indexQuestion, updateAnswer, handle
     const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>, indexQuestion: number, index: number) => {
         if (e.target.files && e.target.files[0]) {
             const file = e.target.files[0];
+            if (file.size > 1048576) {
+                alert("Le fichier est trop volumineux. La taille maximale autorisée est de 1 Mo.");
+                return;
+            }
             try {
                 const base64 = await convertToBase64(file);
                 setPreviews((prev) => {
-- 
GitLab