From b3e350b5908d7ec82dd33540abdd4883b6b2abda Mon Sep 17 00:00:00 2001 From: ljh0608 Date: Sat, 13 Dec 2025 15:28:36 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=BA=90=EC=8B=B1=20=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=ED=99=94=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EB=AA=A8=EB=8B=AC=20=EB=8B=AB=EA=B8=B0=20=EB=A1=9C=EC=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../endpoint/members/postWorkPreference.ts | 7 +++- src/components/matchmember/MatchContent.tsx | 34 ++++++++++++------- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/api/endpoint/members/postWorkPreference.ts b/src/api/endpoint/members/postWorkPreference.ts index ca63e7475..cd670bc6b 100644 --- a/src/api/endpoint/members/postWorkPreference.ts +++ b/src/api/endpoint/members/postWorkPreference.ts @@ -1,4 +1,4 @@ -import { useMutation } from '@tanstack/react-query'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { z } from 'zod'; import { createEndpoint } from '@/api/typedAxios'; @@ -14,7 +14,12 @@ export const postWorkPreference = createEndpoint({ }); export const usePostWorkPreferenceMutation = () => { + const queryClient = useQueryClient(); + return useMutation({ mutationFn: (requestBody: WorkPreferenceType) => postWorkPreference.request(requestBody), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['getRecommendations'] }); + }, }); }; diff --git a/src/components/matchmember/MatchContent.tsx b/src/components/matchmember/MatchContent.tsx index 186d3ca33..de1697855 100644 --- a/src/components/matchmember/MatchContent.tsx +++ b/src/components/matchmember/MatchContent.tsx @@ -1,12 +1,14 @@ -import { useRouter } from 'next/router'; -import Text from '@/components/common/Text'; +import styled from '@emotion/styled'; import { colors } from '@sopt-makers/colors'; -import { Spacing } from '@toss/emotion-utils'; -import promotion from '@/public/icons/img/popup/member_match.png'; import { Button } from '@sopt-makers/ui'; -import styled from '@emotion/styled'; -import { MemberCard } from '@/components/matchmember/MemberCard'; -import { playgroundLink } from '@/constants/links'; +import { Spacing } from '@toss/emotion-utils'; +import { useRouter } from 'next/router'; + +import { usePostWorkPreferenceMutation } from '@/api/endpoint/members/postWorkPreference'; +import Loading from '@/components/common/Loading'; +import Text from '@/components/common/Text'; +import { LoggingClick } from '@/components/eventLogger/components/LoggingClick'; +import useEventLogger from '@/components/eventLogger/hooks/useEventLogger'; import { BalanceGameValue, ChoiceSide, @@ -14,10 +16,9 @@ import { QuestionKey, QUESTIONS, } from '@/components/matchmember/constant'; -import { usePostWorkPreferenceMutation } from '@/api/endpoint/members/postWorkPreference'; -import Loading from '@/components/common/Loading'; -import { LoggingClick } from '@/components/eventLogger/components/LoggingClick'; -import useEventLogger from '@/components/eventLogger/hooks/useEventLogger'; +import { MemberCard } from '@/components/matchmember/MemberCard'; +import { playgroundLink } from '@/constants/links'; +import promotion from '@/public/icons/img/popup/member_match.png'; interface MatchContentProps { step: number; @@ -124,6 +125,15 @@ export const MatchContent = ({ ); } + + const handleNavigateToMemberList = () => { + if (router.pathname === playgroundLink.memberList()) { + handleClose(); + } else { + router.push(playgroundLink.memberList()); + } + }; + return ( <> @@ -136,7 +146,7 @@ export const MatchContent = ({ -