diff --git a/package.json b/package.json index ca83289..693805a 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,6 @@ "react-query": "^3.39.3", "react-router-dom": "^6.22.2", "sonner": "^2.0.5", - "styled-components": "^5.3.11", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.10", "use-debounce": "^10.0.5", diff --git a/src/apis/manager.ts b/src/apis/manager.ts index 6afc410..9861394 100644 --- a/src/apis/manager.ts +++ b/src/apis/manager.ts @@ -1,6 +1,6 @@ import { Group } from 'src/interface/group'; import axiosInstance from '../utils/axiosInstance'; -import { SimpleUser, StudyApplyUser, UnAssignedUser } from 'src/interface/user'; +import { SimpleUser, StudyEnrollee, UnAssignedUser } from 'src/interface/user'; import { Report, SimpleReport } from 'src/interface/report'; export interface EditUserRequest { @@ -23,7 +23,7 @@ export const readAllGroups = async (): Promise => { return response.data; }; -export const readAllStudyApplyUsers = async (): Promise => { +export const readAllStudyEnrollees = async (): Promise => { const response = await axiosInstance.get(`/api/admin/allUsers`); return response.data; }; @@ -33,7 +33,7 @@ export const readGroupReport = async (id: number): Promise return response.data; }; -export const readApplicants = async (): Promise => { +export const readEnrollees = async (): Promise => { const response = await axiosInstance.get(`/api/admin/users/unassigned`); return response.data; }; diff --git a/src/apis/study.ts b/src/apis/study.ts index e0d7e01..aa64841 100644 --- a/src/apis/study.ts +++ b/src/apis/study.ts @@ -2,22 +2,22 @@ import { Course } from 'src/interface/course'; import { SimpleUser } from 'src/interface/user'; import axiosInstance from '../utils/axiosInstance'; -interface StudyEnrollRequest { +interface StudyEnrollmentRequest { courseIds: number[]; friendIds: number[]; } -export interface StudyEnrollResponse { +export interface StudyEnrollmentResponse { friends: SimpleUser[]; courses: Course[]; } -export const studyEnroll = async (data: StudyEnrollRequest): Promise => { +export const studyEnrollment = async (data: StudyEnrollmentRequest): Promise => { const response = await axiosInstance.post(`/api/v2/forms`, data); return response.data; }; -export const getMyGroup = async (): Promise => { +export const getMyGroup = async (): Promise => { const response = await axiosInstance.get(`/api/v2/users/me/forms`); return response.data; }; diff --git a/src/components/ARouter.tsx b/src/components/ARouter.tsx index 32e1cb2..ada2833 100644 --- a/src/components/ARouter.tsx +++ b/src/components/ARouter.tsx @@ -47,15 +47,15 @@ export const router = createBrowserRouter([ }), }, { - path: paths.application.root, + path: paths.enrollment.root, lazy: async () => ({ - Component: (await import('@/pages/OverviewApplication/Page')).default, + Component: (await import('@/pages/OverviewEnrollment/Page')).default, }), }, { - path: paths.application.add, + path: paths.enrollment.add, lazy: async () => ({ - Component: (await import('@/pages/StudyApplication/Page')).default, + Component: (await import('@/pages/StudyEnrollment/Page')).default, }), }, { diff --git a/src/components/PrivateRoute.tsx b/src/components/PrivateRoute.tsx index ef784cd..2fbab34 100644 --- a/src/components/PrivateRoute.tsx +++ b/src/components/PrivateRoute.tsx @@ -13,7 +13,7 @@ const validateByAuth = (access: Role, pathname: string) => { switch (true) { case pathname.includes(paths.reports.root): return access === 'MEMBER' || access === 'ADMIN'; - case pathname.includes(paths.application.root): + case pathname.includes(paths.enrollment.root): return access === 'USER'; case pathname === paths.myGroup.root: return access === 'MEMBER'; diff --git a/src/components/SideBar.tsx b/src/components/SideBar.tsx index d18de38..0fd24c5 100644 --- a/src/components/SideBar.tsx +++ b/src/components/SideBar.tsx @@ -75,7 +75,7 @@ const navGroupsData: NavGroup[] = [ { name: '스터디 신청', icon: LifeBuoy, - href: paths.application.root, + href: paths.enrollment.root, allowedRoles: ['USER'], }, ], diff --git a/src/const/paths.ts b/src/const/paths.ts index 083665c..e22535e 100644 --- a/src/const/paths.ts +++ b/src/const/paths.ts @@ -2,7 +2,7 @@ const ROOTS = { home: '/', reports: '/reports', admin: '/admin', - application: '/application', + enrollment: '/enrollment', ranks: '/ranks', profile: '/profile', myGroup: '/my-group', @@ -18,9 +18,9 @@ export const paths = { oneReport: (reportId: string) => `${ROOTS.reports}/${reportId}`, edit: (reportId: string) => `${ROOTS.reports}/${reportId}/edit`, }, - application: { - root: `${ROOTS.application}`, - add: `${ROOTS.application}/new`, + enrollment: { + root: `${ROOTS.enrollment}`, + add: `${ROOTS.enrollment}/new`, }, admin: { manageClass: `${ROOTS.admin}/manage-class`, diff --git a/src/interface/user.ts b/src/interface/user.ts index 53833e7..01892de 100644 --- a/src/interface/user.ts +++ b/src/interface/user.ts @@ -26,7 +26,7 @@ export type UnAssignedUser = User & { }; /** for 어드민 페이지 */ -export interface StudyApplyUser { +export interface StudyEnrollee { id: number; name: string; sid: string; diff --git a/src/pages/Admin/CreateGroup/Page.tsx b/src/pages/Admin/CreateGroup/Page.tsx index 11fd631..5900982 100644 --- a/src/pages/Admin/CreateGroup/Page.tsx +++ b/src/pages/Admin/CreateGroup/Page.tsx @@ -1,4 +1,4 @@ -import { deleteUserForm, readApplicants, teamMatch } from '@/apis/manager'; +import { deleteUserForm, readEnrollees, teamMatch } from '@/apis/manager'; import SpinnerLoading from '@/components/SpinnerLoading'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; @@ -12,7 +12,7 @@ const cleanCourseName = (name: string) => name.replace(/\n/g, ' '); const cleanProfName = (prof: string) => prof.replace(/\n/g, '').trim(); export default function CreateGroupPage() { - const { data, refetch, isLoading } = useQuery(['readApplicants'], readApplicants, { + const { data, refetch, isLoading } = useQuery(['readEnrollees'], readEnrollees, { cacheTime: 5 * 60 * 1000, }); @@ -26,7 +26,7 @@ export default function CreateGroupPage() { }, }); - const handleDeleteApplicant = (sid: string) => { + const handleDeleteEnrollee = (sid: string) => { deleteUserFormMutation(sid); }; @@ -44,7 +44,7 @@ export default function CreateGroupPage() { teamMatchMutation(); }; - const applicants = useMemo(() => { + const enrollees = useMemo(() => { if (!data) return []; return data; }, [data]); @@ -75,22 +75,22 @@ export default function CreateGroupPage() { - {applicants.length > 0 ? ( - applicants.map((applicant) => ( - + {enrollees.length > 0 ? ( + enrollees.map((enrollee) => ( + -
{applicant.name}
-
{applicant.sid}
-
{applicant.email}
+
{enrollee.name}
+
{enrollee.sid}
+
{enrollee.email}
{[0, 1, 2].map((index) => ( - {applicant.courses[index] ? ( + {enrollee.courses[index] ? (
- {cleanCourseName(applicant.courses[index].name)} + {cleanCourseName(enrollee.courses[index].name)} {' '} - ({cleanProfName(applicant.courses[index].prof)}) + ({cleanProfName(enrollee.courses[index].prof)})
) : ( @@ -99,9 +99,9 @@ export default function CreateGroupPage() {
))} - {applicant.friends.length > 0 ? ( + {enrollee.friends.length > 0 ? (
- {applicant.friends.map((friend) => ( + {enrollee.friends.map((friend) => ( {friend.name} ({friend.sid}) @@ -115,8 +115,8 @@ export default function CreateGroupPage() { diff --git a/src/pages/Admin/ManageGroup/Page.tsx b/src/pages/Admin/ManageGroup/Page.tsx index e27188a..40927ce 100644 --- a/src/pages/Admin/ManageGroup/Page.tsx +++ b/src/pages/Admin/ManageGroup/Page.tsx @@ -1,4 +1,4 @@ -import { readAllGroups, readApplicants } from '@/apis/manager'; +import { readAllGroups, readEnrollees } from '@/apis/manager'; import { useMemo } from 'react'; import { useQueries } from 'react-query'; import GroupTable from './components/GroupTable'; @@ -15,7 +15,7 @@ export default function MatchedGroupListPage() { }, { queryKey: ['ungroups'], - queryFn: readApplicants, + queryFn: readEnrollees, cacheTime: 5 * 60 * 1000, }, ]); diff --git a/src/pages/Admin/ManageStudent/Page.tsx b/src/pages/Admin/ManageStudent/Page.tsx index ca49bc4..62c8aa3 100644 --- a/src/pages/Admin/ManageStudent/Page.tsx +++ b/src/pages/Admin/ManageStudent/Page.tsx @@ -1,12 +1,11 @@ -import * as xlsx from 'xlsx'; import * as React from 'react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '@/components/ui/table'; import { PencilIcon, SaveIcon, XIcon, SearchIcon } from 'lucide-react'; -import { editUser, readAllStudyApplyUsers } from '@/apis/manager'; +import { editUser, readAllStudyEnrollees } from '@/apis/manager'; import { useQuery } from 'react-query'; -import { StudyApplyUser } from '@/interface/user'; +import { StudyEnrollee } from '@/interface/user'; import SpinnerLoading from '@/components/SpinnerLoading'; import { toast } from 'sonner'; import { downloadExcelFromSheetData } from '@/utils/excel'; @@ -17,23 +16,23 @@ const cleanProfName = (prof: string) => prof.replace(/\n/g, '').trim(); export default function ManageStudentPage() { const { - data: applicants, + data: enrollees, refetch, isLoading, - } = useQuery(['allStudyApplyUsers'], readAllStudyApplyUsers, { + } = useQuery(['allStudyEnrollees'], readAllStudyEnrollees, { cacheTime: 5 * 60 * 1000, }); const [editingId, setEditingId] = React.useState(null); - const [formData, setFormData] = React.useState>({}); + const [formData, setFormData] = React.useState>({}); const [searchTerm, setSearchTerm] = React.useState(''); - const handleEdit = (applicant: StudyApplyUser) => { - setEditingId(applicant.id); + const handleEdit = (enrollee: StudyEnrollee) => { + setEditingId(enrollee.id); // 희망과목은 첫 번째 과목의 이름만 수정 가능하도록 단순화 setFormData({ - ...applicant, - courses: applicant.courses.length > 0 ? [{ ...applicant.courses[0] }] : [], + ...enrollee, + courses: enrollee.courses.length > 0 ? [{ ...enrollee.courses[0] }] : [], }); }; @@ -75,24 +74,24 @@ export default function ManageStudentPage() { } }; - const filteredApplicants = React.useMemo(() => { - if (!applicants) return []; - return applicants.filter( - (applicant) => - applicant.name.toLowerCase().includes(searchTerm.toLowerCase()) || - (applicant.group !== null && applicant.group.toString().includes(searchTerm.toLowerCase())) || - applicant.sid.toLowerCase().includes(searchTerm.toLowerCase()) || - applicant.email.toLowerCase().includes(searchTerm.toLowerCase()), + const filteredEnrollees = React.useMemo(() => { + if (!enrollees) return []; + return enrollees.filter( + (enrollee) => + enrollee.name.toLowerCase().includes(searchTerm.toLowerCase()) || + (enrollee.group !== null && enrollee.group.toString().includes(searchTerm.toLowerCase())) || + enrollee.sid.toLowerCase().includes(searchTerm.toLowerCase()) || + enrollee.email.toLowerCase().includes(searchTerm.toLowerCase()), ); - }, [applicants, searchTerm]); + }, [enrollees, searchTerm]); const handleExcelDownload = () => { - if (!applicants) return; + if (!enrollees) return; - downloadExcelFromSheetData(buildApplicantsSheetData(applicants), '스터디신청자목록.xlsx'); + downloadExcelFromSheetData(buildEnrolleesSheetData(enrollees), '스터디신청자목록.xlsx'); - function buildApplicantsSheetData(applicants: StudyApplyUser[]) { - return applicants.map((student) => ({ + function buildEnrolleesSheetData(enrollees: StudyEnrollee[]) { + return enrollees.map((student) => ({ ID: student.id, Name: student.name, StudentId: student.sid, @@ -141,10 +140,10 @@ export default function ManageStudentPage() { - {filteredApplicants.map((applicant) => - editingId === applicant.id ? ( + {filteredEnrollees.map((enrollee) => + editingId === enrollee.id ? ( // 편집 모드 - + - {applicant.email} + {enrollee.email} - {applicant.courses.length > 0 ? ( + {enrollee.courses.length > 0 ? ( <> - {cleanCourseName(applicant.courses[0].name)} + {cleanCourseName(enrollee.courses[0].name)} {' '} - ({cleanProfName(applicant.courses[0].prof)}) + ({cleanProfName(enrollee.courses[0].prof)}) ) : ( @@ -194,18 +193,18 @@ export default function ManageStudentPage() { ) : ( // 일반 모드 - - {applicant.group !== null ? `Group${applicant.group}` : '-'} - {applicant.name} - {applicant.sid} - {applicant.email} + + {enrollee.group !== null ? `Group${enrollee.group}` : '-'} + {enrollee.name} + {enrollee.sid} + {enrollee.email} - {applicant.courses.length > 0 ? ( + {enrollee.courses.length > 0 ? ( <> - {cleanCourseName(applicant.courses[0].name)} + {cleanCourseName(enrollee.courses[0].name)} {' '} - ({cleanProfName(applicant.courses[0].prof)}) + ({cleanProfName(enrollee.courses[0].prof)}) ) : ( @@ -217,7 +216,7 @@ export default function ManageStudentPage() { variant="outline" size="icon" className="h-8 w-8" - onClick={() => handleEdit(applicant)} + onClick={() => handleEdit(enrollee)} > @@ -225,7 +224,7 @@ export default function ManageStudentPage() { ), )} - {filteredApplicants.length === 0 && ( + {filteredEnrollees.length === 0 && ( 신청자가 없거나 검색 결과가 없습니다. diff --git a/src/pages/OverviewApplication/Page.tsx b/src/pages/OverviewEnrollment/Page.tsx similarity index 83% rename from src/pages/OverviewApplication/Page.tsx rename to src/pages/OverviewEnrollment/Page.tsx index 630db35..5530611 100644 --- a/src/pages/OverviewApplication/Page.tsx +++ b/src/pages/OverviewEnrollment/Page.tsx @@ -10,13 +10,13 @@ import { paths } from '@/const/paths'; import { useAuth } from '@/hooks/auth'; import { useMemo } from 'react'; import { Link } from 'react-router-dom'; -export default function OverviewApplicationPage() { - const { data, isLoading } = useQuery(['checkMyApplication'], getMyGroup, { +export default function OverviewEnrollmentPage() { + const { data, isLoading } = useQuery(['checkMyEnrollment'], getMyGroup, { cacheTime: 1 * 30 * 1000, refetchOnWindowFocus: false, }); - const myApplication = useMemo(() => { + const myEnrollment = useMemo(() => { if (!data) return { friends: [], @@ -26,7 +26,7 @@ export default function OverviewApplicationPage() { return data; }, [data]); - const hasNoApplications = myApplication.courses.length === 0 && myApplication.friends.length === 0; + const hasNoEnrollments = myEnrollment.courses.length === 0 && myEnrollment.friends.length === 0; if (isLoading) { return ; @@ -39,12 +39,12 @@ export default function OverviewApplicationPage() {

스터디 그룹 신청 내역

- {hasNoApplications ? '아직 스터디를 신청하지 않았습니다.' : '스터디 신청이 완료되었습니다.'} + {hasNoEnrollments ? '아직 스터디를 신청하지 않았습니다.' : '스터디 신청이 완료되었습니다.'}

- - + +
@@ -56,7 +56,7 @@ export default function OverviewApplicationPage() { 함께하고 싶은 친구 - ({myApplication.friends.length}/3) + ({myEnrollment.friends.length}/3) @@ -69,14 +69,14 @@ export default function OverviewApplicationPage() {
- {myApplication.friends.map((friend, index) => ( + {myEnrollment.friends.map((friend, index) => ( {friend.sid} {friend.name} ))} {/* 빈 행 추가 (최대 3명까지) */} - {Array.from({ length: 3 - myApplication.friends.length }).map((_, index) => ( + {Array.from({ length: 3 - myEnrollment.friends.length }).map((_, index) => ( (빈 자리) @@ -95,7 +95,7 @@ export default function OverviewApplicationPage() { 강의 - ({myApplication.courses.length}/3) + ({myEnrollment.courses.length}/3) @@ -110,7 +110,7 @@ export default function OverviewApplicationPage() { - {myApplication.courses.map((course, index) => ( + {myEnrollment.courses.map((course, index) => ( {index + 1} {course.code} @@ -119,7 +119,7 @@ export default function OverviewApplicationPage() { ))} {/* 빈 행 추가 (최대 3개까지) */} - {Array.from({ length: 3 - myApplication.courses.length }).map((_, index) => ( + {Array.from({ length: 3 - myEnrollment.courses.length }).map((_, index) => ( (빈 자리) diff --git a/src/pages/StudyApplication/Page.tsx b/src/pages/StudyEnrollment/Page.tsx similarity index 73% rename from src/pages/StudyApplication/Page.tsx rename to src/pages/StudyEnrollment/Page.tsx index 9b46805..9d1bc56 100644 --- a/src/pages/StudyApplication/Page.tsx +++ b/src/pages/StudyEnrollment/Page.tsx @@ -1,13 +1,13 @@ import { getMyGroup } from '@/apis/study'; import { WaveLoading } from '@/components/WaveLoading'; import { useQuery } from 'react-query'; -import { StudyApplicationForm } from './components/StudyApplicationForm'; +import { StudyEnrollmentForm } from './components/StudyEnrollmentForm'; // 예시: 현재 학기 정보 (실제로는 동적으로 가져오거나 설정 파일 등에서 관리) const CURRENT_SEMESTER_INFO = '2025년 2학기'; -export default function StudyApplicationPage() { - const { data: myStudyApplication, isLoading } = useQuery('getMyStudyApplication', getMyGroup); +export default function StudyEnrollmentPage() { + const { data: myStudyEnrollment, isLoading } = useQuery('getMyStudyEnrollment', getMyGroup); if (isLoading) { return ; @@ -25,7 +25,7 @@ export default function StudyApplicationPage() {

- + ); diff --git a/src/pages/StudyApplication/components/StepAddCourses.tsx b/src/pages/StudyEnrollment/components/StepAddCourses.tsx similarity index 100% rename from src/pages/StudyApplication/components/StepAddCourses.tsx rename to src/pages/StudyEnrollment/components/StepAddCourses.tsx diff --git a/src/pages/StudyApplication/components/StepAddFriend.tsx b/src/pages/StudyEnrollment/components/StepAddFriend.tsx similarity index 100% rename from src/pages/StudyApplication/components/StepAddFriend.tsx rename to src/pages/StudyEnrollment/components/StepAddFriend.tsx diff --git a/src/pages/StudyApplication/components/StepReviewSubmit.tsx b/src/pages/StudyEnrollment/components/StepReviewSubmit.tsx similarity index 97% rename from src/pages/StudyApplication/components/StepReviewSubmit.tsx rename to src/pages/StudyEnrollment/components/StepReviewSubmit.tsx index 3badf6c..044640e 100644 --- a/src/pages/StudyApplication/components/StepReviewSubmit.tsx +++ b/src/pages/StudyEnrollment/components/StepReviewSubmit.tsx @@ -64,15 +64,15 @@ function SortableCourseItem({ course, index }: SortableCourseItemProps) { } interface StepReviewSubmitProps { - applicationData: { + enrollmentData: { friends: SimpleUser[]; courses: Course[]; }; onUpdateCoursesOrder: (courses: Course[]) => void; } -export function StepReviewSubmit({ applicationData, onUpdateCoursesOrder }: StepReviewSubmitProps) { - const { friends, courses } = applicationData; +export function StepReviewSubmit({ enrollmentData, onUpdateCoursesOrder }: StepReviewSubmitProps) { + const { friends, courses } = enrollmentData; const sensors = useSensors( useSensor(PointerSensor), diff --git a/src/pages/StudyApplication/components/StudyApplicationForm.tsx b/src/pages/StudyEnrollment/components/StudyEnrollmentForm.tsx similarity index 62% rename from src/pages/StudyApplication/components/StudyApplicationForm.tsx rename to src/pages/StudyEnrollment/components/StudyEnrollmentForm.tsx index b2b3f55..fc77e01 100644 --- a/src/pages/StudyApplication/components/StudyApplicationForm.tsx +++ b/src/pages/StudyEnrollment/components/StudyEnrollmentForm.tsx @@ -5,7 +5,7 @@ import { Card, CardContent, CardFooter } from '@/components/ui/card'; import { Progress } from '@/components/ui/progress'; import { toast } from 'sonner'; -import { studyEnroll, StudyEnrollResponse } from '@/apis/study'; +import { studyEnrollment, StudyEnrollmentResponse } from '@/apis/study'; import { paths } from '@/const/paths'; import { Course } from '@/interface/course'; import { SimpleUser } from '@/interface/user'; @@ -15,7 +15,7 @@ import { StepAddFriends } from './StepAddFriend'; import { StepReviewSubmit } from './StepReviewSubmit'; import { useMutation } from 'react-query'; -export interface ApplicationData { +export interface EnrollmentData { friends: SimpleUser[]; courses: Course[]; semesterInfo: string; @@ -23,33 +23,33 @@ export interface ApplicationData { const TOTAL_STEPS = 3; -interface StudyApplicationFormProps { +interface StudyEnrollmentFormProps { currentSemesterInfo: string; - myStudyApplication?: StudyEnrollResponse; + myStudyEnrollment?: StudyEnrollmentResponse; } -export function StudyApplicationForm({ currentSemesterInfo, myStudyApplication }: StudyApplicationFormProps) { +export function StudyEnrollmentForm({ currentSemesterInfo, myStudyEnrollment }: StudyEnrollmentFormProps) { const navigate = useNavigate(); const [currentStep, setCurrentStep] = useState(1); - const [applicationData, setApplicationData] = useState({ + const [enrollmentData, setEnrollmentData] = useState({ friends: [], courses: [], semesterInfo: currentSemesterInfo, }); useEffect(() => { - if (myStudyApplication && (myStudyApplication.courses.length > 0 || myStudyApplication.friends.length > 0)) { - setApplicationData({ - friends: myStudyApplication.friends, - courses: myStudyApplication.courses, + if (myStudyEnrollment && (myStudyEnrollment.courses.length > 0 || myStudyEnrollment.friends.length > 0)) { + setEnrollmentData({ + friends: myStudyEnrollment.friends, + courses: myStudyEnrollment.courses, semesterInfo: currentSemesterInfo, }); } - }, [myStudyApplication, currentSemesterInfo]); + }, [myStudyEnrollment, currentSemesterInfo]); const handleClickNextStep = () => { if (currentStep < TOTAL_STEPS) { - if (currentStep === 2 && applicationData.courses.length === 0) { + if (currentStep === 2 && enrollmentData.courses.length === 0) { toast('최소 하나의 수업을 추가해주세요.'); return; } @@ -64,18 +64,18 @@ export function StudyApplicationForm({ currentSemesterInfo, myStudyApplication } }; const updateFriends = (friends: SimpleUser[]) => { - setApplicationData((prev) => ({ ...prev, friends })); + setEnrollmentData((prev) => ({ ...prev, friends })); }; const updateCourses = (courses: Course[]) => { - setApplicationData((prev) => ({ ...prev, courses })); + setEnrollmentData((prev) => ({ ...prev, courses })); }; - const { mutate: studyEnrollMutation, isLoading } = useMutation(studyEnroll, { + const { mutate: studyEnrollmentMutation, isLoading } = useMutation(studyEnrollment, { onSuccess: () => { - toast.success(`${applicationData.semesterInfo} 스터디 신청이 성공적으로 제출되었습니다.`); + toast.success(`${enrollmentData.semesterInfo} 스터디 신청이 성공적으로 제출되었습니다.`); - navigate(paths.application.root); + navigate(paths.enrollment.root); }, onError: (error) => { console.log(error); @@ -85,9 +85,9 @@ export function StudyApplicationForm({ currentSemesterInfo, myStudyApplication } //TODO: 테스트 필요 const handleSubmit = () => { - studyEnrollMutation({ - courseIds: applicationData.courses.map((course) => course.id), - friendIds: applicationData.friends.map((friend) => friend.id), + studyEnrollmentMutation({ + courseIds: enrollmentData.courses.map((course) => course.id), + friendIds: enrollmentData.friends.map((friend) => friend.id), }); }; @@ -98,13 +98,13 @@ export function StudyApplicationForm({ currentSemesterInfo, myStudyApplication } {currentStep === 1 && ( - + )} {currentStep === 2 && ( - + )} {currentStep === 3 && ( - + )}