Skip to content

Commit

Permalink
refactor: 파일 이름 및 placeholder 렌더 함수로 분리
Browse files Browse the repository at this point in the history
  • Loading branch information
eonseok-jeon committed Aug 1, 2024
1 parent 77b87e2 commit f8c9b5b
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions src/views/ApplyPage/components/FileInput/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,25 @@ const FileInput = ({ section, id, isReview, disabled, defaultFile }: FileInputPr
}
};

const getFileNameClass = () => {
if (uploadPercent === -1 && defaultFileName) {
return fileName === 'delete-file' ? 'default' : 'selected';
} else {
return fileName === '' ? 'default' : 'selected';
}
};

const getDisplayText = () => {
if (uploadPercent === -1 && defaultFileName) {
return fileName === 'delete-file' ? '50mb 이하 | pdf' : defaultFileName;
} else {
if (uploadPercent < 0 && fileName === '') return '50mb 이하 | pdf';
else if (isFileUploading) return `업로드 중... ${uploadPercent}/100% 완료`;
else if (isFileSending) return '파일을 전송하고 있어요... 잠시만 기다려주세요...';
else return fileName;
}
};

useEffect(() => {
if (defaultFileId && defaultFileUrl && defaultFileName) {
setValue(`file${defaultFileId}`, {
Expand Down Expand Up @@ -147,24 +166,7 @@ const FileInput = ({ section, id, isReview, disabled, defaultFile }: FileInputPr
className={fileLabelVar[errors[`file${id}`] ? 'error' : fileName === '' ? 'default' : 'selected']}>
<div className={textWrapper}>
<span>파일</span>
<>
{(uploadPercent !== -1 || !defaultFileName) && (
<span className={fileNameVar[fileName === '' ? 'default' : 'selected']}>
{uploadPercent < 0 && fileName === ''
? '50mb 이하 | pdf'
: isFileUploading
? `업로드 중... ${uploadPercent}/100% 완료`
: isFileSending
? '파일을 전송하고 있어요... 잠시만 기다려주세요...'
: fileName}
</span>
)}
{uploadPercent === -1 && defaultFileName && (
<span className={fileNameVar[fileName === 'delete-file' ? 'default' : 'selected']}>
{fileName === 'delete-file' ? '50mb 이하 | pdf' : defaultFileName}
</span>
)}
</>
<span className={fileNameVar[getFileNameClass()]}>{getDisplayText()}</span>
</div>
<IconPlusButton
isSelected={fileName !== 'delete-file' && getValues(`file${id}`)}
Expand Down

0 comments on commit f8c9b5b

Please sign in to comment.