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() {
-
-
+
+
@@ -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 && (
-
+
)}