@@ -14,6 +14,20 @@ import { MOBILE_MEDIA_QUERY } from '@/styles/mediaQuery';
1414import MatchMemberModal from '@/components/matchmember/MatchMemberModal' ;
1515import { useMatchMemberEvent } from '@/components/matchmember/hooks/useMatchMemberEvent' ;
1616import useModalState from '@/components/common/Modal/useModalState' ;
17+ import { fonts } from '@sopt-makers/fonts' ;
18+ import { useGetMyWorkPreference } from '@/api/endpoint/members/getWorkPreference' ;
19+ import { convertWorkPreferenceToHashtags } from '@/components/matchmember/constant' ;
20+
21+ const MyPreferenceSubTitle = ( ) => {
22+ const { data : myData , isLoading : myLoading } = useGetMyWorkPreference ( ) ;
23+
24+ if ( myLoading || ! myData ?. workPreference ) return < > </ > ;
25+
26+ const tags = convertWorkPreferenceToHashtags ( myData . workPreference ) ;
27+
28+ return < SubTitle > 내 작업 스타일은 { tags } </ SubTitle > ;
29+ } ;
30+
1731const WorkPreferenceMatchedMemberList = ( ) => {
1832 const { data, isLoading } = useGetRecommendations ( ) ;
1933 const isEmpty = data ?. recommendations && data . recommendations . length === 0 ;
@@ -47,41 +61,44 @@ const WorkPreferenceMatchedMemberList = () => {
4761 return (
4862 < >
4963 < StyledContainer >
50- < TitleWrapper >
51- < Responsive only = 'desktop' >
52- < Text typography = 'SUIT_20_B' color = { colors . gray10 } >
53- 나와 37기 사람들의 작업 궁합은?
54- </ Text >
55- </ Responsive >
56- < Responsive only = 'mobile' >
57- < Text typography = 'SUIT_16_B' color = { colors . gray10 } >
58- 나와 37기 사람들의 작업 궁합은?
59- </ Text >
60- </ Responsive >
61- < RefreshIconWrapper >
62- < button
63- onClick = { ( ) => {
64- queryClient . invalidateQueries ( { queryKey : [ 'getRecommendations' ] } ) ;
65- } }
66- >
67- < RefreshIcon style = { { width : '24px' , height : '24px' , flexShrink : 0 , cursor : 'pointer' } } />
68- </ button >
64+ < TitleContainer >
65+ < TitleWrapper >
66+ < Responsive only = 'desktop' >
67+ < Text typography = 'SUIT_24_B' color = { colors . gray10 } >
68+ 나와 37기 사람들의 작업 궁합은?
69+ </ Text >
70+ </ Responsive >
6971 < Responsive only = 'mobile' >
70- < MobileTooltipWrapper >
72+ < Text typography = 'SUIT_16_B' color = { colors . gray10 } >
73+ 나와 37기 사람들의 작업 궁합은?
74+ </ Text >
75+ </ Responsive >
76+ < RefreshIconWrapper >
77+ < button
78+ onClick = { ( ) => {
79+ queryClient . invalidateQueries ( { queryKey : [ 'getRecommendations' ] } ) ;
80+ } }
81+ >
82+ < StyledRefreshIcon />
83+ </ button >
84+ < Responsive only = 'mobile' >
85+ < MobileTooltipWrapper >
86+ < Text typography = 'SUIT_13_M' color = { colors . gray50 } >
87+ 더 많은 멤버를 찾아보세요!
88+ </ Text >
89+ </ MobileTooltipWrapper >
90+ </ Responsive >
91+ </ RefreshIconWrapper >
92+ < Responsive only = 'desktop' >
93+ < TooltipWrapper >
7194 < Text typography = 'SUIT_13_M' color = { colors . gray50 } >
7295 더 많은 멤버를 찾아보세요!
7396 </ Text >
74- </ MobileTooltipWrapper >
97+ </ TooltipWrapper >
7598 </ Responsive >
76- </ RefreshIconWrapper >
77- < Responsive only = 'desktop' >
78- < TooltipWrapper >
79- < Text typography = 'SUIT_13_M' color = { colors . gray50 } >
80- 더 많은 멤버를 찾아보세요!
81- </ Text >
82- </ TooltipWrapper >
83- </ Responsive >
84- </ TitleWrapper >
99+ </ TitleWrapper >
100+ < MyPreferenceSubTitle />
101+ </ TitleContainer >
85102 { isEmpty ? (
86103 < EmptyStateWrapper >
87104 < WorkPreferenceMemberListWrapper isEmpty = { isEmpty } >
@@ -100,6 +117,7 @@ const WorkPreferenceMatchedMemberList = () => {
100117 : '나의 작업 스타일을 5초만에 알아보고\n찰떡 케미 앱잼 멤버 확인해요!' }
101118 </ Text >
102119
120+ { /* TODO: 작업선택 모달 오픈로직 추가 */ }
103121 { ! hasWorkPreference && (
104122 < Button variant = 'fill' theme = 'white' onClick = { handleClickStartButton } >
105123 작업 스타일 선택하기
@@ -174,6 +192,17 @@ const TooltipWrapper = styled.div`
174192 content: '';
175193 }
176194` ;
195+
196+ const TitleContainer = styled . div `
197+ display: flex;
198+ flex-direction: column;
199+ gap: 6px;
200+
201+ @media ${ MOBILE_MEDIA_QUERY } {
202+ gap: 2px;
203+ }
204+ ` ;
205+
177206const TitleWrapper = styled . div `
178207 display: flex;
179208 gap: 8px;
@@ -243,4 +272,26 @@ const EmptyStateContent = styled.div`
243272 width: 100%;
244273 height: 100%;
245274` ;
275+
276+ const StyledRefreshIcon = styled ( RefreshIcon ) `
277+ flex-shrink: 0;
278+ cursor: pointer;
279+ width: 32px;
280+ height: 32px;
281+
282+ @media ${ MOBILE_MEDIA_QUERY } {
283+ width: 24px;
284+ height: 24px;
285+ }
286+ ` ;
287+
288+ const SubTitle = styled . p `
289+ ${ fonts . TITLE_18_SB } ;
290+
291+ color: ${ colors . gray200 } ;
292+
293+ @media ${ MOBILE_MEDIA_QUERY } {
294+ ${ fonts . BODY_13_M } ;
295+ }
296+ ` ;
246297export default WorkPreferenceMatchedMemberList ;
0 commit comments