From 8816de1f5150f903d15c7beb08d4f4bc6b77081a Mon Sep 17 00:00:00 2001 From: bae-sh Date: Tue, 16 Jan 2024 00:18:57 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=EB=8C=80=EC=86=8C=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/hooks/form/useEmail.ts | 100 ------------------------- client/src/hooks/form/useInputImage.ts | 55 -------------- 2 files changed, 155 deletions(-) delete mode 100644 client/src/hooks/form/useEmail.ts delete mode 100644 client/src/hooks/form/useInputImage.ts diff --git a/client/src/hooks/form/useEmail.ts b/client/src/hooks/form/useEmail.ts deleted file mode 100644 index 58d1af89..00000000 --- a/client/src/hooks/form/useEmail.ts +++ /dev/null @@ -1,100 +0,0 @@ -// react, next -import React, { useState, useRef } from 'react'; - -// 전역 -import useModal from '@/hooks/modal/useModal'; - -// types -import { EmailState, EmailType } from '@/types'; - -// constant -import { ModalType, successMessage, errorMessage } from '@/constants/constant'; - -// services -import { emailManager } from '@/service/email'; - -function useEmail(type: EmailType) { - const { openModal } = useModal(); - - const certificateRef = useRef(null); - const [certificateNumber, setCertificationNumber] = useState(''); - - const [emailState, setEmailState] = useState(EmailState.None); - const [emailAuthToken, setEmailAuthToken] = useState(''); - - const handleChangeCertifiactionNumber = ( - e: React.ChangeEvent - ) => { - setCertificationNumber(e.target.value); - }; - - const handleRequestEmail = async (email: string) => { - setEmailState(EmailState.Submitting); - try { - switch (type) { - case 'SIGNUP': { - await emailManager.sendSignUpEmail({ email }); - break; - } - default: { - await emailManager.sendProfileEmail({ email }); - } - } - setEmailState(EmailState.Submitted); - openModal({ - type: ModalType.SUCCESS, - message: successMessage.sendingEmailSuccess, - }); - } catch { - openModal({ - type: ModalType.ERROR, - message: errorMessage.failedSendingEmail, - }); - setEmailState(EmailState.None); - } - }; - - const handleCheckEmail = async (email: string) => { - let token = ''; - try { - switch (type) { - case 'SIGNUP': { - token = await emailManager.checkSignUpNumber({ - email, - number: parseInt(certificateNumber), - }); - break; - } - default: { - token = await emailManager.checkProfileEmailNumber({ - email, - number: parseInt(certificateNumber), - type, - }); - } - } - setEmailAuthToken(token); - openModal({ - type: ModalType.SUCCESS, - message: successMessage.confirmNumberSuccess, - }); - } catch { - setEmailAuthToken(''); - openModal({ - type: ModalType.ERROR, - message: errorMessage.notmatchConfirmNumber, - }); - } - }; - - return { - certificateRef, - emailState, - emailAuthToken, - handleChangeCertifiactionNumber, - handleRequestEmail, - handleCheckEmail, - }; -} - -export default useEmail; diff --git a/client/src/hooks/form/useInputImage.ts b/client/src/hooks/form/useInputImage.ts deleted file mode 100644 index f48acbd3..00000000 --- a/client/src/hooks/form/useInputImage.ts +++ /dev/null @@ -1,55 +0,0 @@ -// react, next -import React, { useState, useRef } from 'react'; - -// constant -import { IMAGE_FILE_MAX_SIZE } from '@/constants/constant'; - -// services -import { BASE_URL } from '@/service/base/api'; - -function useInputImage(initialProfileImg?: string) { - const imgRef = useRef(null); - - const [profileImg, setProfileImg] = useState( - `${BASE_URL}${initialProfileImg || ''}` - ); - const [imgFile, setImgFile] = useState(null); - - const handleChooseFile = () => { - imgRef.current?.click(); - }; - - const handleImgInput = (e: React.ChangeEvent) => { - if (e.target.files && e.target.files.length !== 0) { - const file = e.target.files[0]; - const fileSize = file.size; - if (fileSize > IMAGE_FILE_MAX_SIZE) { - alert('이미지 파일 용량 초과'); - return; - } - const reader = new FileReader(); - reader.readAsDataURL(file); - reader.onloadend = () => { - // null 방지 - if (reader.result) { - if (typeof reader.result === 'string') { - setImgFile(file); - setProfileImg(reader.result); - } else { - // ArrayBuffer인 경우 string으로 변경 - setProfileImg( - String.fromCharCode.apply( - null, - Array.from(new Uint16Array(reader.result)) - ) - ); - } - } - }; - } - }; - - return { imgRef, profileImg, imgFile, handleChooseFile, handleImgInput }; -} - -export default useInputImage;