diff --git a/src/pages/support/qna/list-page.tsx b/src/pages/support/qna/list-page.tsx index ad31eca..7f8d36b 100644 --- a/src/pages/support/qna/list-page.tsx +++ b/src/pages/support/qna/list-page.tsx @@ -1,4 +1,4 @@ -import { ChangeEvent, useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { HeaderType } from '@/entities/common/model/types'; @@ -6,7 +6,6 @@ import { useQnaListMutation } from '@/entities/support/api/use-qna-list-mutation import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constants'; import { QnaItem } from '@/entities/support/model/types'; import { SupportQnaItem } from '@/entities/support/ui/qna-item'; - import { useSetHeaderTitle, useSetHeaderType, @@ -18,7 +17,6 @@ export const QnaListPage = () => { const { navigate } = useNavigate(); const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); - const [searchValue, setSearchValue] = useState(''); const [resultList, setResultList] = useState>([]); useSetHeaderTitle('1:1 문의'); @@ -95,7 +93,7 @@ export const QnaListPage = () => {
diff --git a/src/pages/support/qna/register-page.tsx b/src/pages/support/qna/register-page.tsx new file mode 100644 index 0000000..08a1c47 --- /dev/null +++ b/src/pages/support/qna/register-page.tsx @@ -0,0 +1,182 @@ +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) } + /> +
+
+
+
+ 문의내용 * +
+
+ +
+
+
+
+ +
+
+
+
+ + ); +}; \ No newline at end of file diff --git a/src/pages/support/support-pages.tsx b/src/pages/support/support-pages.tsx index 9b9498c..43e5ba2 100644 --- a/src/pages/support/support-pages.tsx +++ b/src/pages/support/support-pages.tsx @@ -7,6 +7,7 @@ import { FaqListPage } from './faq/list-page'; import { FaqDetailPage } from './faq/detail-page'; import { QnaListPage } from './qna/list-page'; import { QnaDetailPage } from './qna/detail-page'; +import { QnaRegisterPage } from './qna/register-page'; export const SupportPages = () => { return ( @@ -23,6 +24,7 @@ export const SupportPages = () => { } /> } /> + } />