From 1ba172d4706ce5c66160163a5f6313f4669d0dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B3=80=EC=B0=AC=EC=9A=B0?= <57276315+chanwoo00106@users.noreply.github.com> Date: Tue, 12 Sep 2023 23:25:51 +0900 Subject: [PATCH 1/2] fix: remove legacy code --- .../student/hooks/useFileDownloader.tsx | 13 ----- .../src/atoms/FileInput/index.stories.tsx | 44 ---------------- packages/shared/src/atoms/FileInput/index.tsx | 52 ------------------- packages/shared/src/atoms/FileInput/style.ts | 35 ------------- 4 files changed, 144 deletions(-) delete mode 100644 packages/app/src/features/student/hooks/useFileDownloader.tsx delete mode 100644 packages/shared/src/atoms/FileInput/index.stories.tsx delete mode 100644 packages/shared/src/atoms/FileInput/index.tsx delete mode 100644 packages/shared/src/atoms/FileInput/style.ts diff --git a/packages/app/src/features/student/hooks/useFileDownloader.tsx b/packages/app/src/features/student/hooks/useFileDownloader.tsx deleted file mode 100644 index 4c884f6f..00000000 --- a/packages/app/src/features/student/hooks/useFileDownloader.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { saveAs } from 'file-saver' - -const useFileDownloader = () => { - const onChange = async (fileUrl: string, name: string) => { - const fileType = fileUrl.split('.').at(-1) - - saveAs(fileUrl, `${name}-dreambook.${fileType}`) - } - - return { onChange } -} - -export default useFileDownloader diff --git a/packages/shared/src/atoms/FileInput/index.stories.tsx b/packages/shared/src/atoms/FileInput/index.stories.tsx deleted file mode 100644 index f9f09be6..00000000 --- a/packages/shared/src/atoms/FileInput/index.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Meta } from '@storybook/react' -import React from 'react' -import { useForm } from 'react-hook-form' -import FileInput from './index' - -const config: Meta = { - title: 'FileInput', - component: FileInput, -} - -export default config - -interface FormType { - file: string -} - -export const Primary = () => { - const { - register, - handleSubmit, - formState: { errors }, - setValue, - } = useForm() - - const onUpload = async () => { - setValue('file', 'owiejf') - return 'owiejf' - } - - const onSubmit = () => {} - - return ( -
- - - - ) -} diff --git a/packages/shared/src/atoms/FileInput/index.tsx b/packages/shared/src/atoms/FileInput/index.tsx deleted file mode 100644 index a15a46fd..00000000 --- a/packages/shared/src/atoms/FileInput/index.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { - ChangeEvent, - DetailedHTMLProps, - InputHTMLAttributes, - forwardRef, - useState, -} from 'react' -import * as S from './style' - -interface Props - extends DetailedHTMLProps< - InputHTMLAttributes, - HTMLInputElement - > { - placeholder?: string - onUpload(e: ChangeEvent): Promise - error?: string -} - -/** - * 파일을 입력 받지만 값이 변경이 안돼서 setValue를 통해 직접 수정해야함 - */ -const FileInput = forwardRef( - ({ placeholder = '+hwp 파일 추가', onUpload, error, ...props }, ref) => { - const [fileName, setFileName] = useState('') - - const onChange = async (e: ChangeEvent) => { - const result = await onUpload(e) - if (!result) return (e.target.value = '') - - const files = e.target.files - if (files && files[0]) setFileName(files[0].name) - } - - return ( - <> - - - - {fileName === '' ? placeholder : fileName} - - - {error} - - - ) - } -) - -FileInput.displayName = 'FileInput' - -export default FileInput diff --git a/packages/shared/src/atoms/FileInput/style.ts b/packages/shared/src/atoms/FileInput/style.ts deleted file mode 100644 index 3373c257..00000000 --- a/packages/shared/src/atoms/FileInput/style.ts +++ /dev/null @@ -1,35 +0,0 @@ -import styled from '@emotion/styled' - -export const HiddenInput = styled.input` - display: none; -` - -export const Wrapper = styled.div` - width: 100%; -` - -export const InputWrapper = styled.label` - min-width: 12.5rem; - padding: 0.8rem 0.75rem; - border-radius: 0.5rem; - margin-bottom: 0.5rem; - display: flex; - background: var(--N10); - transition: 0.2s; - border: 1px solid transparent; - color: var(--N30); - cursor: pointer; - - :hover { - border: 1px solid var(--P1); - } -` - -export const Input = styled.input` - display: none; -` - -export const Error = styled.div` - ${({ theme }) => theme.caption1} - color: var(--ERROR); -` From e50bc7220c19fad54c1e3b3fe5c8b90626f34b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B3=80=EC=B0=AC=EC=9A=B0?= <57276315+chanwoo00106@users.noreply.github.com> Date: Tue, 12 Sep 2023 23:29:53 +0900 Subject: [PATCH 2/2] fix: remove FileInput import code --- packages/shared/src/atoms/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/shared/src/atoms/index.ts b/packages/shared/src/atoms/index.ts index bf44ac6b..bb8a81bc 100644 --- a/packages/shared/src/atoms/index.ts +++ b/packages/shared/src/atoms/index.ts @@ -8,7 +8,6 @@ export { default as Radio } from './Radio' export { default as Chip } from './Chip' export { default as Profile } from './Profile' export { default as Input } from './Input' -export { default as FileInput } from './FileInput' export { default as DeleteButton } from './DeleteButton' export { default as Dropdown } from './Dropdown' export { default as Tag } from './Tag'