@@ -11,10 +11,14 @@ import {
1111 rateTextFieldProps ,
1212 XImageProps ,
1313} from "./consts/themeDrawerProps" ;
14- import { OnCloseDrawerType } from "./types/themeDrawerTypes" ;
14+ import { DrawerType } from "./types/themeDrawerTypes" ;
1515import useEditHint from "./hooks/useEditHint" ;
1616
17- const EditHintDrawer = ( { onCloseDrawer } : OnCloseDrawerType ) => {
17+ const ThemeDrawer = ( {
18+ onCloseDrawer,
19+ hintType,
20+ handleHintCreate,
21+ } : DrawerType ) => {
1822 const [ selectedHint ] = useSelectedHint ( ) ;
1923 const {
2024 handleSubmit,
@@ -24,20 +28,25 @@ const EditHintDrawer = ({ onCloseDrawer }: OnCloseDrawerType) => {
2428 answerImages,
2529 setAnswerImages,
2630 isDisabled,
31+ isImcomplete,
2732 deleteHintBtn,
2833 handleOpenHintModal,
29- } = useEditHint ( { onCloseDrawer } ) ;
34+ } = useEditHint ( { onCloseDrawer, hintType , handleHintCreate } ) ;
3035
3136 return (
3237 < form
33- className = "theme-drawer__container"
38+ className = "theme-drawer__container animate "
3439 onSubmit = { handleSubmit }
3540 ref = { drawerRef }
3641 key = { selectedHint . id }
3742 >
3843 < div className = "theme-drawer__title" >
3944 < span > 힌트</ span >
40- < button type = "button" onClick = { handleOpenHintModal } >
45+ < button
46+ type = "button"
47+ className = "ghost_white_icon_button28"
48+ onClick = { handleOpenHintModal }
49+ >
4150 < Image { ...XImageProps } />
4251 </ button >
4352 </ div >
@@ -46,7 +55,9 @@ const EditHintDrawer = ({ onCloseDrawer }: OnCloseDrawerType) => {
4655 < div className = "drawer-code" >
4756 < ThemeTextField
4857 { ...codeTextFieldProps }
49- content = { selectedHint . hintCode . toString ( ) }
58+ content = {
59+ selectedHint . hintCode ? selectedHint . hintCode . toString ( ) : ""
60+ }
5061 />
5162 </ div >
5263
@@ -63,34 +74,46 @@ const EditHintDrawer = ({ onCloseDrawer }: OnCloseDrawerType) => {
6374 < div className = "drawer-category-title" > 문제 진행률</ div >
6475 < ThemeTextField
6576 { ...rateTextFieldProps }
66- content = { selectedHint . progress . toString ( ) }
77+ content = {
78+ selectedHint . progress ? selectedHint . progress . toString ( ) : ""
79+ }
6780 />
6881 </ div >
6982
7083 < ThemeDrawerHint
71- hintImages = { hintImages }
72- setHintImages = { setHintImages }
84+ imageType = { "hint" }
85+ images = { hintImages }
86+ setImages = { setHintImages }
7387 />
7488
7589 < ThemeDrawerAnswer
76- answerImages = { answerImages }
77- setAnswerImages = { setAnswerImages }
90+ imageType = { "answer" }
91+ images = { answerImages }
92+ setImages = { setAnswerImages }
7893 />
7994 </ div >
8095
81- < div className = "theme-drawer__footer" >
82- < button
83- className = "outlined_button40"
84- type = "button"
85- onClick = { deleteHintBtn }
86- >
87- 삭제하기
88- </ button >
89- < button className = "button40" type = "submit" disabled = { isDisabled } >
90- 저장하기
91- </ button >
92- </ div >
96+ { hintType === "Edit" ? (
97+ < div className = "theme-drawer__footer" >
98+ < button
99+ className = "outlined_button40"
100+ type = "button"
101+ onClick = { deleteHintBtn }
102+ >
103+ 삭제하기
104+ </ button >
105+ < button className = "button40" type = "submit" disabled = { isDisabled } >
106+ 저장하기
107+ </ button >
108+ </ div >
109+ ) : (
110+ < div className = "theme-drawer__footer" >
111+ < button className = "button40" type = "submit" disabled = { isImcomplete } >
112+ 추가하기
113+ </ button >
114+ </ div >
115+ ) }
93116 </ form >
94117 ) ;
95118} ;
96- export default EditHintDrawer ;
119+ export default ThemeDrawer ;
0 commit comments