@@ -8,37 +8,42 @@ import Text from "@/components/ui/Text/Text";
88
99import { useRoute } from "@/hooks/common/useRoute" ;
1010
11- // 임시 데이터
12- const TAG_LIST = [
13- "음식이 맛있어요" ,
14- "양이 많아요" ,
15- "가성비가 좋아요" ,
16- "메뉴 구성이 알차요" ,
17- "매장이 넓어요" ,
18- "단체모임 하기 좋아요" ,
19- "뷰가 좋아요" ,
20- "아늑해요" ,
21- "분위기가 좋아요" ,
22- "친절해요" ,
23- "매장이 청결해요" ,
24- ] ;
25-
2611const SelectTag = ( ) => {
2712 const { navigateToSelectStyle } = useRoute ( ) ;
2813
2914 const [ selectedTagList , setSelectedTagList ] = useState < string [ ] > ( [ ] ) ;
3015 const [ isBottomSheetOpen , setIsBottomSheetOpen ] = useState ( false ) ;
16+ const [ tagList , setTagList ] = useState < string [ ] > ( [
17+ "음식이 맛있어요" ,
18+ "양이 많아요" ,
19+ "가성비가 좋아요" ,
20+ "메뉴 구성이 알차요" ,
21+ "매장이 넓어요" ,
22+ "단체모임 하기 좋아요" ,
23+ "뷰가 좋아요" ,
24+ "아늑해요" ,
25+ "분위기가 좋아요" ,
26+ "친절해요" ,
27+ "매장이 청결해요" ,
28+ ] ) ;
3129
3230 const handleTagClick = ( e : React . MouseEvent < HTMLDivElement , MouseEvent > ) => {
3331 const tag = e . currentTarget . textContent || "" ;
3432
3533 setSelectedTagList ( ( prevSelectedTags ) =>
3634 prevSelectedTags . includes ( tag )
3735 ? prevSelectedTags . filter ( ( selectedTag ) => selectedTag !== tag )
38- : [ ...prevSelectedTags , tag ] ,
36+ : [ ...prevSelectedTags , tag ]
3937 ) ;
4038 } ;
4139
40+ const handleTagAdd = ( newTag : string ) => {
41+ setIsBottomSheetOpen ( false ) ;
42+ if ( ! tagList . includes ( newTag ) ) {
43+ setTagList ( ( prevTagList : string [ ] ) => [ ...prevTagList , newTag ] ) ;
44+ }
45+ } ;
46+
4247 const handleSheetClose = ( ) => {
4348 setIsBottomSheetOpen ( false ) ;
4449 } ;
@@ -55,7 +60,7 @@ const SelectTag = () => {
5560 </ Text >
5661 </ div >
5762 < div className = { styles . TagList } >
58- { TAG_LIST . map ( ( tag ) => (
63+ { tagList . map ( ( tag ) => (
5964 < Tag
6065 text = { tag }
6166 key = { tag }
@@ -71,7 +76,11 @@ const SelectTag = () => {
7176 < Button text = "다음" onClick = { navigateToSelectStyle } />
7277 </ div >
7378
74- < TagSheet isOpen = { isBottomSheetOpen } handleClose = { handleSheetClose } />
79+ < TagSheet
80+ isOpen = { isBottomSheetOpen }
81+ handleClose = { handleSheetClose }
82+ handleTagAdd = { handleTagAdd }
83+ />
7584 </ div >
7685 ) ;
7786} ;
0 commit comments