import React, { useState, useEffect } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { FolderType } from '../../../Types/FolderType'; import './share.css'; import { Button, NativeSelect, Typography, Box } from '@mui/material'; import ReturnButton from 'src/components/ReturnButton/ReturnButton'; import ApiService from '../../../services/ApiService'; import SaveIcon from '@mui/icons-material/Save'; const Share: React.FC = () => { const navigate = useNavigate(); const { id } = useParams(); const [quizTitle, setQuizTitle] = useState(''); const [selectedFolder, setSelectedFolder] = useState(''); const [folders, setFolders] = useState([]); const [quizExists, setQuizExists] = useState(false); const [loading, setLoading] = useState(true); useEffect(() => { const fetchData = async () => { try { if (!id) { console.error('Quiz not found for id:', id); navigate('/teacher/dashboard'); return; } if (!ApiService.isLoggedIn()) { navigate("/login"); return; } const quizIds = await ApiService.getAllQuizIds(); if (quizIds.includes(id)) { setQuizExists(true); setLoading(false); return; } const userFolders = await ApiService.getUserFolders(); if (userFolders.length == 0) { navigate('/teacher/dashboard'); return; } setFolders(userFolders as FolderType[]); const title = await ApiService.getSharedQuiz(id); if (!title) { console.error('Quiz not found for id:', id); navigate('/teacher/dashboard'); return; } setQuizTitle(title); setLoading(false); } catch (error) { console.error('Error fetching data:', error); setLoading(false); navigate('/teacher/dashboard'); } }; fetchData(); }, [id, navigate]); const handleSelectFolder = (event: React.ChangeEvent) => { setSelectedFolder(event.target.value); }; const handleQuizSave = async () => { try { if (selectedFolder == '') { alert("Veuillez choisir un dossier"); return; } if (!id) { console.error('Quiz not found for id:', id); navigate('/teacher/dashboard'); return; } await ApiService.receiveSharedQuiz(id, selectedFolder) navigate('/teacher/dashboard'); } catch (error) { console.log(error) } }; if (loading) { return
Chargement...
; } if (quizExists) { return (
Quiz déjà existant
Le quiz que vous essayez d'importer existe déjà sur votre compte. Si vous souhaitiez créer une copie de ce quiz, vous pouvez utiliser la fonction "Dupliquer" disponible dans votre tableau de bord.
); } return (
Importation du Quiz: {quizTitle}
Vous êtes sur le point d'importer le quiz {quizTitle}, choisissez un dossier dans lequel enregistrer ce nouveau quiz.
{folders.map((folder: FolderType) => ( ))}
); }; export default Share;