import { ChangeEvent, useState } from 'react'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useQnaSaveMutation } from '@/entities/support/api/use-qna-save-mutation'; import { HeaderType } from '@/entities/common/model/types'; import { useSetHeaderTitle, useSetHeaderType, useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; export enum QnaRegisterPropsName { Mid = 'Mid', CounselType = 'CounselType', RequestName = 'RequestName', RequestTel = 'RequestTel', RequestEmail = 'RequestEmail', Title = 'Title', Contents = 'Contents', }; export const QnaRegisterPage = () => { const { navigate } = useNavigate(); const [mid, setMid] = useState('string'); const [counselType, setCounselType] = useState('st'); const [requestName, setRequestName] = useState(''); const [requestTel, setRequestTel] = useState(''); const [requestEmail, setRequestEmail] = useState(''); const [title, setTitle] = useState(''); const [contents, setContents] = useState(''); useSetHeaderTitle('1:1 문의'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { navigate(PATHS.support.qna.list); }); const { mutateAsync: qnaSave } = useQnaSaveMutation(); const setInputValue = ( e: ChangeEvent, key: string ) => { let value = e.target.value; if(key === QnaRegisterPropsName.Mid){ setMid(value); } else if(key === QnaRegisterPropsName.CounselType){ setCounselType(value); } else if(key === QnaRegisterPropsName.RequestName){ setRequestName(value); } else if(key === QnaRegisterPropsName.RequestTel){ setRequestTel(value); } else if(key === QnaRegisterPropsName.RequestEmail){ setRequestEmail(value); } else if(key === QnaRegisterPropsName.Title){ setTitle(value); } else if(key === QnaRegisterPropsName.Contents){ setContents(value); } }; const callRegister = () => { let params = { mid: mid, counselType: counselType, requestName: requestName, requestTel: requestTel, requestEmail: requestEmail, title: title, contents: contents, }; qnaSave(params).then((rs) => { console.log(rs); alert('성공'); navigate(PATHS.support.qna.list); }); }; const onClickToRegisterQna = () => { callRegister(); }; return ( <>
제목 *
) => setInputValue(e, QnaRegisterPropsName.Title) } />
문의유형 *
요청자명 *
) => setInputValue(e, QnaRegisterPropsName.RequestName) } />
휴대폰번호 *
) => setInputValue(e, QnaRegisterPropsName.RequestTel) } />
이메일 주소
) => setInputValue(e, QnaRegisterPropsName.RequestEmail) } />
문의내용 *
); };