import React, { useEffect, useState } from "react"; import "./studyMainGrammarFairy.css"; import GrammarFairyBasicLearning from "../../components/contents/grammarFariy/GrammarFairyBasicLearning"; import GrammarFairyBasicVerification from "../../components/contents/grammarFariy/GrammarFairyBasicVerification"; import GrammarFairyDeepLearning from "../../components/contents/grammarFariy/GrammarFairyDeepLearning"; import GrammarFairyDeepVerification from "../../components/contents/grammarFariy/GrammarFairyDeepVerification"; import { useLocation, useNavigate } from "react-router-dom"; import axios from "axios"; const StudyMainGrammarFairy = () => { const [currentStep, setCurrentStep] = useState(1); const [timer, setTimer] = useState(60); const [question, setQeustion] = useState([ "단어와 문법을 보고 읽어봐요.", "주어진 단어 중 명사인 것을 고르시오.", "문법요정 문장을 보고 배워봐요.", "단어가 들어갈 알맞은 위치를 고르시오.", ]); const [title, setTitle] = useState([ "문법요정 기본학습", "문법요정 기본검증", "문법요정 심화학습", "문법요정 심화검증", "메인페이지", ]); const navigate = useNavigate(); const [contents, setContents] = useState(); const handleNext = () => { if (currentStep >= 4) { navigate("/"); // 메인 페이지로 이동합니다. 메인 페이지의 경로가 다르다면, 해당 경로로 수정하세요. setCurrentStep(1); // currentStep을 1로 설정합니다. } else { setCurrentStep(currentStep + 1); // 다음 단계로 상태 업데이트 setTimer(60); } }; const location = useLocation(); const [contentType, setContentType] = useState(location.state.planetStep); const fetchData = async () => { try { console.log("챕터" + location.state.mainStep); console.log("레슨" + location.state.lessonStep); console.log("행성" + location.state.planetStep); console.log(contentType); const response = await axios.get( `http://takensoftai.iptime.org:38888/studyType/grammarFairy?lesson=${location.state.lessonStep}&studyType=${location.state.planetStep}&chapter=${location.state.mainStep}`, { withCredentials: true } ); setContents(response.data); console.log(response.data); } catch (error) { console.error("Error fetching data: ", error); } }; useEffect(() => { fetchData(); }, []); useEffect(() => { if (timer === 0) return; const countdown = setInterval(() => { setTimer((prevTimer) => prevTimer - 1); }, 1000); return () => clearInterval(countdown); }, [timer]); return ( <>