diff --git a/client/src/components/GIFTCheatSheet/GiftCheatSheet.tsx b/client/src/components/GIFTCheatSheet/GiftCheatSheet.tsx index 8085f7a..f9cbab1 100644 --- a/client/src/components/GIFTCheatSheet/GiftCheatSheet.tsx +++ b/client/src/components/GIFTCheatSheet/GiftCheatSheet.tsx @@ -1,8 +1,30 @@ // GiftCheatSheet.tsx -import React from 'react'; +import React, { useState } from 'react'; import './giftCheatSheet.css'; const GiftCheatSheet: React.FC = () => { + const [copySuccess, setCopySuccess] = useState(false); + + const copyToClipboard = (text: string) => { + navigator.clipboard.writeText(text) + .then(() => { + setCopySuccess(true); // Afficher le message de succès + // Masquer le message de succès après quelques secondes + setTimeout(() => { + setCopySuccess(false); + }, 3000); // 3 secondes + }) + .catch((error) => { + console.error('Erreur lors de la copie dans le presse-papiers : ', error); + }); + }; + + + const QuestionVraiFaux = "2+2 \\= 4 ? {T\n}// Vous pouvez utiliser les valeurs {T}, {F}, {TRUE} et {FALSE}"; + const QuestionChoixMul = "Quelle ville est la capitale du Canada? {\n~ Toronto\n~ Montréal\n= Ottawa #Bonne réponse!\n}// La bonne réponse est Ottawa"; + const QuestionChoixMulMany = "Quelles villes trouve-t-on au Canada? { \n~ %33.3% Montréal \n~ %33.3% Ottawa \n~ %33.3% Vancouver \n~ %-100% New York \n~ %-100% Paris \n#### La bonne réponse est Montréal, Ottawa et Vancouver \n} //On utilise le signe ~ pour toutes les réponses. On doit indiquer le pourcentage de chaque réponse"; + const QuestionCourte ="Avec quoi ouvre-t-on une porte? { \n= clé \n= clef \n}// Permet de fournir plusieurs bonnes réponses. Note: Les majuscules ne sont pas prises en compte."; + const QuestionNum ="Question {#=Nombre\n} //OU \nQuestion {#=Nombre:Tolérance\n} //OU \nQuestion {#=PetitNombre..GrandNombre\n} // La tolérance est un pourcentage. La réponse doit être comprise entre PetitNombre et GrandNombre"; return (

Informations pratiques sur l'éditeur

@@ -15,9 +37,11 @@ const GiftCheatSheet: React.FC = () => {

1. Questions Vrai/Faux

                     
-                        {'2+2 \\= 4 ? {T\n}// Vous pouvez utiliser les valeurs {T}, {F}, {TRUE} et {FALSE}'}
+                        {QuestionVraiFaux}
                     
+
                 
+
@@ -25,29 +49,32 @@ const GiftCheatSheet: React.FC = () => {
                     
                         {
-                            'Quelle ville est la capitale du Canada? {\n~ Toronto\n~ Montréal\n= Ottawa #Bonne réponse!\n}// La bonne réponse est Ottawa'
+                            QuestionChoixMul
                         }
                     
                 
+

3. Questions à choix multiple avec plusieurs réponses

                     
                         {
-                            'Quelles villes trouve-t-on au Canada? { \n~ %33.3% Montréal \n~ %33.3% Ottawa \n~ %33.3% Vancouver \n~ %-100% New York \n~ %-100% Paris \n#### La bonne réponse est Montréal, Ottawa et Vancouver \n} //On utilise le signe ~ pour toutes les réponses. On doit indiquer le pourcentage de chaque réponse'
+                            QuestionChoixMulMany
                         }
                     
                 
+

4. Questions à reponse courte

                     
-                        {'Avec quoi ouvre-t-on une porte? { \n= clé \n= clef \n}// Permet de fournir plusieurs bonnes réponses. Note: Les majuscules ne sont pas prises en compte.'}
+                        {QuestionCourte}
                     
                 
+
@@ -55,10 +82,11 @@ const GiftCheatSheet: React.FC = () => {
                     
                         {
-                            'Question {#=Nombre\n} //OU \nQuestion {#=Nombre:Tolérance\n} //OU \nQuestion {#=PetitNombre..GrandNombre\n} // La tolérance est un pourcentage. La réponse doit être comprise entre PetitNombre et GrandNombre'
+                            QuestionNum
                         }
-                    
+                                        
                 
+
@@ -148,6 +176,7 @@ const GiftCheatSheet: React.FC = () => {
); -}; +}; + export default GiftCheatSheet; diff --git a/client/src/pages/Teacher/Dashboard/Dashboard.tsx b/client/src/pages/Teacher/Dashboard/Dashboard.tsx index f1e42da..7bec831 100644 --- a/client/src/pages/Teacher/Dashboard/Dashboard.tsx +++ b/client/src/pages/Teacher/Dashboard/Dashboard.tsx @@ -255,12 +255,21 @@ const Dashboard: React.FC = () => { if (folderTitle) { await ApiService.createFolder(folderTitle); const userFolders = await ApiService.getUserFolders(); - setFolders(userFolders as FolderType[]); + setFolders(userFolders as FolderType[]); + const newlyCreatedFolder = userFolders[userFolders.length - 1] as FolderType; + setSelectedFolder(newlyCreatedFolder._id); + } } catch (error) { console.error('Error creating folder:', error); } }; + function sleep(ms: number): Promise { + return new Promise(resolve => { + setTimeout(resolve, ms); + }); + } + const handleDeleteFolder = async () => { @@ -298,6 +307,7 @@ const Dashboard: React.FC = () => { await ApiService.renameFolder(selectedFolder, newTitle); const userFolders = await ApiService.getUserFolders(); setFolders(userFolders as FolderType[]); + } } catch (error) { console.error('Error renaming folder:', error);