From f693062d969fe601b11e4b18822555fde4aaa673 Mon Sep 17 00:00:00 2001 From: keyy1315 Date: Wed, 2 Jul 2025 10:31:13 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=82=B4=EA=B0=80=20=EC=9E=91=EC=84=B1?= =?UTF-8?q?=ED=95=9C=20=EB=A7=A4=EB=AC=BC/=EB=AC=B8=EC=9D=98=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=84=20=EC=A0=81=EC=9A=A9=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 메인 화면에서 진입 시 내가 작성한 매물/문의 해제 - 사이드바에서 진입 시 내가 작성환 매물/문의 체크 --- src/components/inquiry/RegistForm.tsx | 11 +++++-- src/components/inquiry/list/ListForm.tsx | 15 +++++++--- src/components/inquiry/list/ListTable.tsx | 29 ++++++++++++------- src/components/survey-sale/list/ListTable.tsx | 22 ++++++++++---- .../survey-sale/list/SearchForm.tsx | 13 ++++++--- src/components/ui/Main.tsx | 4 +-- src/components/ui/common/Header.tsx | 11 ++----- src/hooks/useInquiry.ts | 6 ++-- src/store/inquiryFilterStore.ts | 13 +++++---- src/types/Inquiry.ts | 2 -- 10 files changed, 79 insertions(+), 47 deletions(-) diff --git a/src/components/inquiry/RegistForm.tsx b/src/components/inquiry/RegistForm.tsx index 21e4e61..e44dd82 100644 --- a/src/components/inquiry/RegistForm.tsx +++ b/src/components/inquiry/RegistForm.tsx @@ -6,13 +6,14 @@ import { InquiryRequest } from '@/types/Inquiry' import { useEffect, useState } from 'react' import { useRouter } from 'next/navigation' import { CONFIRM_MESSAGE, SUCCESS_MESSAGE, useAlertMsg, WARNING_MESSAGE } from '@/hooks/useAlertMsg' +import { useInquiryFilterStore } from '@/store/inquiryFilterStore' export default function RegistForm() { const { saveInquiry, isSavingInquiry, commonCodeList } = useInquiry(undefined, false) const { showErrorAlert, showSuccessAlert, showConfirm } = useAlertMsg() const { session } = useSessionStore() const router = useRouter() - + const { setIsMyInquiry } = useInquiryFilterStore() const [inquiryRequest, setInquiryRequest] = useState({ compCd: '5200', siteTpCd: 'QC', @@ -301,7 +302,13 @@ export default function RegistForm() {
- +
調査物件一覧
@@ -46,7 +46,7 @@ export default function Main() {
- +
1:1お問い合わせ リスト
diff --git a/src/components/ui/common/Header.tsx b/src/components/ui/common/Header.tsx index 3c146cb..dc741de 100644 --- a/src/components/ui/common/Header.tsx +++ b/src/components/ui/common/Header.tsx @@ -11,8 +11,6 @@ import { useSideNavState } from '@/store/sideNavState' import { useHeaderStore } from '@/store/header' import { useSessionStore } from '@/store/session' import { usePopupController } from '@/store/popupController' -import { useSurveyFilterStore } from '@/store/surveyFilterStore' -import { useInquiryFilterStore } from '@/store/inquiryFilterStore' import { useTitle } from '@/hooks/useTitle' import { useAxios } from '@/hooks/useAxios' @@ -32,9 +30,6 @@ export default function Header() { const popupController = usePopupController() - const { setIsMySurvey } = useSurveyFilterStore() - const { setInquiryListRequest, inquiryListRequest } = useInquiryFilterStore() - if (pathname === '/login') { return null } @@ -88,8 +83,7 @@ export default function Header() {
{ - setIsMySurvey(session?.userId) - router.push('/survey-sale') + router.push('/survey-sale?isMySurvey=true') setSideNavIsOpen(false) }} > @@ -101,8 +95,7 @@ export default function Header() {
{ - setInquiryListRequest({ ...inquiryListRequest, schRegId: session?.userId }) - router.push('/inquiry/list') + router.push('/inquiry/list?isMyInquiry=true') setSideNavIsOpen(false) }} > diff --git a/src/hooks/useInquiry.ts b/src/hooks/useInquiry.ts index 3533084..6525638 100644 --- a/src/hooks/useInquiry.ts +++ b/src/hooks/useInquiry.ts @@ -35,7 +35,7 @@ export function useInquiry( commonCodeList: CommonCode[] } { const queryClient = useQueryClient() - const { inquiryListRequest, offset } = useInquiryFilterStore() + const { inquiryListRequest, offset, isMyInquiry } = useInquiryFilterStore() const { axiosInstance } = useAxios() const router = useRouter() const { showErrorAlert } = useAlertMsg() @@ -104,7 +104,7 @@ export function useInquiry( * @returns {boolean} isLoading - 문의사항 목록 로딩 상태 */ const { data: inquiryList, isLoading: isLoadingInquiryList } = useQuery({ - queryKey: ['inquiryList', inquiryListRequest, offset], + queryKey: ['inquiryList', inquiryListRequest.loginId, inquiryListRequest.schTitle, inquiryListRequest.schAnswerYn, offset, isMyInquiry], queryFn: async () => { const isListQuery = true const shouldThrowError = false @@ -112,7 +112,7 @@ export function useInquiry( const resp = await tryFunction( () => axiosInstance(null).get<{ data: InquiryList[] }>(`/api/qna/list`, { - params: { inquiryListRequest, startRow: offset, endRow: offset + 9 }, + params: { inquiryListRequest, startRow: offset, endRow: offset + 9, schRegId: isMyInquiry }, }), isListQuery, shouldThrowError, diff --git a/src/store/inquiryFilterStore.ts b/src/store/inquiryFilterStore.ts index 6a3f676..47fea1e 100644 --- a/src/store/inquiryFilterStore.ts +++ b/src/store/inquiryFilterStore.ts @@ -10,6 +10,8 @@ type InquiryFilterState = { reset: () => void offset: number setOffset: (offset: number) => void + isMyInquiry: string | null + setIsMyInquiry: (isMyInquiry: string | null) => void } /** @@ -28,7 +30,6 @@ export const useInquiryFilterStore = create((set) => ({ storeId: '', siteTpCd: 'QC', schTitle: null, - schRegId: null, schFromDt: null, schToDt: null, schAnswerYn: null, @@ -42,15 +43,17 @@ export const useInquiryFilterStore = create((set) => ({ langCd: 'JA', storeId: '', siteTpCd: 'QC', - schTitle: '', - schRegId: '', - schFromDt: '', - schToDt: '', + schTitle: null, + schFromDt: null, + schToDt: null, schAnswerYn: null, loginId: '', }, offset: 1, + isMyInquiry: null, }), offset: 1, setOffset: (offset) => set({ offset }), + isMyInquiry: null, + setIsMyInquiry: (isMyInquiry) => set({ isMyInquiry }), })) diff --git a/src/types/Inquiry.ts b/src/types/Inquiry.ts index 646cce7..ee2cfe9 100644 --- a/src/types/Inquiry.ts +++ b/src/types/Inquiry.ts @@ -12,8 +12,6 @@ export type InquiryListRequest = { siteTpCd: string /* 검색 제목 */ schTitle: string | null - /* 검색 등록자 ID */ - schRegId: string | null /* 검색 시작 일자 */ schFromDt: string | null /* 검색 종료 일자 */