1+ import { useState } from 'react' ;
12import { useNavigate } from 'react-router-dom' ;
23
34import theme from '@styles/theme' ;
@@ -32,25 +33,23 @@ const categories = [
3233 'luxury' ,
3334] ;
3435
35- // const categoryImages: Record<string, string[]> = {
36- // classic: ['/images/classic1.jpg', '/images/classic2.jpg'],
37- // street: ['/images/street1.jpg', '/images/street2.jpg'],
38- // hip: ['/images/hip1.jpg', '/images/hip2.jpg'],
39- // casual: ['/images/casual1.jpg', '/images/casual2.jpg'],
40- // sporty: ['/images/sporty1.jpg', '/images/sporty2.jpg'],
41- // feminine: ['/images/feminine1.jpg', '/images/feminine2.jpg'],
42- // minimal: ['/images/minimal1.jpg', '/images/minimal2.jpg'],
43- // formal: ['/images/formal1.jpg', '/images/formal2.jpg'],
44- // outdoor: ['/images/outdoor1.jpg', '/images/outdoor2.jpg'],
45- // luxury: ['/images/luxury1.jpg', '/images/luxury2.jpg'],
46- // };
47-
4836const PickMyStyle : React . FC = ( ) => {
37+ const [ clickedImages , setClickedImages ] = useState < { [ key : string ] : boolean } > ( { } ) ;
4938 const navigate = useNavigate ( ) ;
39+
5040 const navigateToLogin = ( ) => {
5141 navigate ( '/login' ) ;
5242 } ;
5343
44+ // 특정 이미지 클릭 시 해당 이미지의 상태만 변경
45+ const handleImageClick = ( category : string , index : number ) => {
46+ const key = `${ category } -${ index } ` ;
47+ setClickedImages ( ( prev ) => ( {
48+ ...prev ,
49+ [ key ] : ! prev [ key ] , // 클릭할 때마다 상태 변경 (토글 기능)
50+ } ) ) ;
51+ } ;
52+
5453 return (
5554 < OODDFrame >
5655 < TopBar LeftButtonSrc = { Back } onClickLeftButton = { navigateToLogin } />
@@ -76,8 +75,15 @@ const PickMyStyle: React.FC = () => {
7675 # { category }
7776 </ StyledCategory >
7877 < ImageContainer >
79- < PlaceholderImage > 이미지 1</ PlaceholderImage >
80- < PlaceholderImage > 이미지 2</ PlaceholderImage >
78+ { [ 0 , 1 ] . map ( ( index ) => (
79+ < PlaceholderImage
80+ key = { index }
81+ isClicked = { ! ! clickedImages [ `${ category } -${ index } ` ] }
82+ onClick = { ( ) => handleImageClick ( category , index ) }
83+ >
84+ 이미지 { index + 1 }
85+ </ PlaceholderImage >
86+ ) ) }
8187 </ ImageContainer >
8288 </ CategoryItem >
8389 ) ) }
0 commit comments