// src/pages/CharacterHomeworks.tsx import React, { useEffect, useState } from 'react'; import axios from 'axios'; import { useParams } from 'react-router-dom'; interface Homework { id: number; is_done: boolean; last_completed_at: string; homework_type: { title: string; reset_type: string; }; } function CharacterHomeworksPage() { const { characterId } = useParams(); const [homeworks, setHomeworks] = useState([]); const [message, setMessage] = useState(''); const fetchHomeworks = async () => { try { const token = localStorage.getItem('token'); const res = await axios.get(`/homeworks/character/${characterId}`, { headers: { Authorization: `Bearer ${token}` }, }); setHomeworks(res.data); } catch (err) { setMessage('숙제 목록 불러오기 실패'); } }; const completeHomework = async (id: number) => { try { const token = localStorage.getItem('token'); await axios.post(`/homeworks/complete/${id}`, {}, { headers: { Authorization: `Bearer ${token}` }, }); fetchHomeworks(); } catch { setMessage('숙제 완료 실패'); } }; useEffect(() => { fetchHomeworks(); }, [characterId]); return (

숙제 목록

{message &&

{message}

}
{homeworks.map((hw) => (

{hw.homework_type.title}

주기: {hw.homework_type.reset_type}

))}
); } export default CharacterHomeworksPage;