diff --git a/frontend/src/app/admin/milestone/list/[slug]/components/FilePreview/index.tsx b/frontend/src/app/admin/milestone/list/[slug]/components/FilePreview/index.tsx index eaaee678..2f95128f 100644 --- a/frontend/src/app/admin/milestone/list/[slug]/components/FilePreview/index.tsx +++ b/frontend/src/app/admin/milestone/list/[slug]/components/FilePreview/index.tsx @@ -1,10 +1,6 @@ -'use client'; - import Image from 'next/image'; -import { useMemo } from 'react'; import { HistoryFileType } from '@/data/milestone'; -import { useFileQuery } from '@/lib/hooks/useApi'; import { getFileType } from '@/lib/utils/utils'; interface FilePreviewProps { @@ -12,22 +8,19 @@ interface FilePreviewProps { } const FilePreview = ({ fileName }: FilePreviewProps) => { - const { data: file } = useFileQuery(fileName); - const fileUrl = useMemo(() => { - if (file) { - return URL.createObjectURL(file); - } - return ''; - }, [file]); switch (getFileType(fileName)) { case HistoryFileType.PDF: return ( <> - + 다운로드 { case HistoryFileType.IMAGE: return ( <> - + 다운로드 - + > ); case HistoryFileType.EMPTY: diff --git a/frontend/src/app/admin/milestone/register/page.tsx b/frontend/src/app/admin/milestone/register/page.tsx index 6bc44cc0..824a9da9 100644 --- a/frontend/src/app/admin/milestone/register/page.tsx +++ b/frontend/src/app/admin/milestone/register/page.tsx @@ -7,13 +7,11 @@ import { Form, Formik } from 'formik'; import Image from 'next/image'; import { useRouter } from 'next/navigation'; -import { useMemo } from 'react'; -import * as Yup from 'yup'; import { toast } from 'react-toastify'; +import * as Yup from 'yup'; import { FileUploader } from '@/app/components/Formik/FileUploader'; import { useRegisterHistoryInBatchMutation } from '@/lib/hooks/useAdminApi'; -import { useFileQuery } from '@/lib/hooks/useApi'; const validationSchema = Yup.object().shape({ file: Yup.mixed() @@ -39,68 +37,30 @@ const initialValues: HistoryRegisterFormProps = { const Page = () => { const router = useRouter(); - const { data: standardFile } = useFileQuery('history_standard.pdf'); - const standardFileUrl = useMemo(() => { - if (standardFile) { - return URL.createObjectURL(standardFile); - } - return ''; - }, [standardFile]); - - const { data: sampleFile } = useFileQuery('history_register_sample.xlsx'); - const sampleFileUrl = useMemo(() => { - if (sampleFile) { - return URL.createObjectURL(sampleFile); - } - return ''; - }, [sampleFile]); - const { mutate: registerHistories } = useRegisterHistoryInBatchMutation(); - const handleStandardFileDownloadButtonClick = () => { - if (!standardFileUrl) { - toast.error('파일을 불러오는 데 실패하였습니다.'); - return; - } - const a = document.createElement('a'); - a.href = standardFileUrl; - a.download = '마일스톤_실적_내역_목록.xlsx'; - a.click(); - }; - - const handleSampleFileDownloadButtonClick = () => { - if (!sampleFileUrl) { - toast.error('파일을 불러오는 데 실패하였습니다.'); - return; - } - const a = document.createElement('a'); - a.href = sampleFileUrl; - a.download = '마일스톤_실적_내역_목록.xlsx'; - a.click(); - }; - return ( <> 점수 산정 기준 표 - - 점수산정파일.pdf - + 일괄등록 파일 예시 - - sample.xlsx - + (`/files/${fileName}`, { - responseType: 'blob', - }) - .then((res) => res.data) - .catch((err) => Promise.reject(err)); - return response; -} - export async function getValidationStudentId(studentId: string) { const response = await server .get(`/sign-up/exists/student-id`, { diff --git a/frontend/src/lib/hooks/useApi.ts b/frontend/src/lib/hooks/useApi.ts index 557f072a..e9cdd2d1 100644 --- a/frontend/src/lib/hooks/useApi.ts +++ b/frontend/src/lib/hooks/useApi.ts @@ -131,19 +131,6 @@ export function useStudentMembersQuery() { }); } -export function useFileQuery(fileName: string | null) { - return useAxiosQuery({ - queryKey: QueryKeys.FILE(fileName), - queryFn: async (): Promise => { - const response = await client.get(`/files/${fileName}`, { responseType: 'blob' }); - if (response?.status !== 200) { - return null; - } - return response?.data; - }, - }); -} - export function useMilestoneHistoryCreateMutation() { return useAxiosMutation({ mutationFn: async ({ milestoneId, description, count, file, activatedAt }: MilestoneHistoryCreateDto) => {
점수 산정 기준 표 - - 점수산정파일.pdf - +
일괄등록 파일 예시 - - sample.xlsx - +