Skip to content

Commit c15e7f1

Browse files
committed
Refactor: PostImageSelect 리팩토링
1 parent f889997 commit c15e7f1

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/pages/Post/PostImageSelect/ImageSwiper/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const ImageSwiper: React.FC<ImageSwiperProps> = ({ images, onProcessFile, onRemo
1717
const fileInputRef = useRef<HTMLInputElement>(null);
1818
const [currentSlide, setCurrentSlide] = useState(0);
1919

20-
const handleSelectImage = () => {
20+
const handleImageSelect = () => {
2121
if (fileInputRef.current) {
2222
fileInputRef.current.click();
2323
}
@@ -51,7 +51,7 @@ const ImageSwiper: React.FC<ImageSwiperProps> = ({ images, onProcessFile, onRemo
5151
</SwiperSlide>
5252
))}
5353
<SwiperSlide className="add-btn-box">
54-
<AddButton onClick={handleSelectImage}>
54+
<AddButton onClick={handleImageSelect}>
5555
<img src={Plus} />
5656
</AddButton>
5757
<HiddenFileInput

src/pages/Post/PostImageSelect/index.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { OODDFrame } from '@components/Frame/Frame';
2222
import { StyledText } from '@components/Text/StyledText';
2323
import TopBar from '@components/TopBar';
2424

25-
import ImageSwiper from './ImageSwiper';
25+
import ImageSwiper from './ImageSwiper/index';
2626
import { UploadContainer, ImageDragDropContainer, Content } from './styles';
2727

2828
const PostImageSelect: React.FC = () => {
@@ -55,7 +55,7 @@ const PostImageSelect: React.FC = () => {
5555
};
5656

5757
// 파일 선택기에서 사진 업로드
58-
const handleSelectImage = () => {
58+
const handleImageSelect = () => {
5959
if (fileInputRef.current) {
6060
fileInputRef.current.click();
6161
}
@@ -74,22 +74,22 @@ const PostImageSelect: React.FC = () => {
7474
setActive(false);
7575

7676
if (event.dataTransfer.files) {
77-
handleProcessFile(event.dataTransfer.files);
77+
processFile(event.dataTransfer.files);
7878
}
7979
};
8080

8181
const handleFileInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
8282
event.preventDefault();
8383
if (event.target.files) {
84-
handleProcessFile(event.target.files);
84+
processFile(event.target.files);
8585
// 파일 선택 후 input 값 초기화
8686
if (fileInputRef.current) {
8787
fileInputRef.current.value = ''; // input 값을 초기화하여 동일한 파일을 다시 추가할 수 있도록 함
8888
}
8989
}
9090
};
9191

92-
const handleProcessFile = async (files: FileList) => {
92+
const processFile = async (files: FileList) => {
9393
const filesArray = Array.from(files);
9494
for (const file of filesArray) {
9595
try {
@@ -111,7 +111,7 @@ const PostImageSelect: React.FC = () => {
111111
reader.readAsDataURL(fileBlob);
112112
reader.onload = () => {
113113
if (reader.result) {
114-
handleAddImage(reader.result.toString());
114+
handleImageAdd(reader.result.toString());
115115
}
116116
};
117117
} catch (error) {
@@ -121,14 +121,14 @@ const PostImageSelect: React.FC = () => {
121121
}
122122
};
123123

124-
const handleAddImage = (newImage: string) => {
124+
const handleImageAdd = (newImage: string) => {
125125
setImages((prevImages) => {
126126
const maxOrderNum = prevImages.reduce((max, img) => (img.orderNum > max ? img.orderNum : max), -1);
127127
return [...prevImages, { url: newImage, orderNum: maxOrderNum + 1 }];
128128
});
129129
};
130130

131-
const handleRemoveImage = (image: string) => {
131+
const handleImageRemove = (image: string) => {
132132
// 이미지가 1개일 때는 삭제 할 수 없음
133133
if (images.length > 1) {
134134
const newImages = images.filter((img) => img.url !== image);
@@ -160,13 +160,13 @@ const PostImageSelect: React.FC = () => {
160160
<input type="file" onChange={handleFileInputChange} ref={fileInputRef} multiple accept="image/*,.heic" />
161161
</ImageDragDropContainer>
162162
) : (
163-
<ImageSwiper images={images} onRemoveImage={handleRemoveImage} onProcessFile={handleProcessFile} />
163+
<ImageSwiper images={images} onRemoveImage={handleImageRemove} onProcessFile={processFile} />
164164
)}
165165
</Content>
166166

167167
<BottomButton
168168
content={images.length === 0 ? '컴퓨터에서 사진 선택' : '다음'}
169-
onClick={images.length === 0 ? handleSelectImage : handleNext}
169+
onClick={images.length === 0 ? handleImageSelect : handleNext}
170170
/>
171171
</UploadContainer>
172172
</OODDFrame>

0 commit comments

Comments
 (0)