diff --git a/apps/client/src/pages/jobPins/JobPins.tsx b/apps/client/src/pages/jobPins/JobPins.tsx index 46b31f3..2357180 100644 --- a/apps/client/src/pages/jobPins/JobPins.tsx +++ b/apps/client/src/pages/jobPins/JobPins.tsx @@ -1,5 +1,9 @@ -import { useGetJobPinsArticles } from '@pages/jobPins/apis/queries'; +import { + useGetJobPinsArticleDetail, + useGetJobPinsArticles, +} from '@pages/jobPins/apis/queries'; import JobPinsBottomNotice from '@pages/jobPins/components/JobPinsBottomNotice'; +import MemoPopup from '@pages/jobPins/components/MemoPopup'; import { useJobPinsBottomNotice } from '@pages/jobPins/hooks/useJobPinsBottomNotice'; import Footer from '@pages/myBookmark/components/footer/Footer'; import { Card } from '@pinback/design-system/ui'; @@ -11,6 +15,11 @@ const JobPins = () => { const { data, isPending, fetchNextPage, hasNextPage } = useGetJobPinsArticles(); + const { + mutate: getJobPinDetail, + data: jobPinDetail, + reset: resetJobPinDetail, + } = useGetJobPinsArticleDetail(); const observerRef = useInfiniteScroll({ fetchNextPage, @@ -33,6 +42,7 @@ const JobPins = () => {

관심 직무 핀

{job &&

{job}

} +

같은 직무의 사람들이 저장한 아티클을 살펴봐요. 선택한 직무를 기준으로 최신 핀이 업데이트 돼요! @@ -48,32 +58,49 @@ const JobPins = () => { onWheel={handleBottomWheel} className="scrollbar-hide mt-[2.6rem] flex h-screen flex-wrap content-start gap-[1.6rem] overflow-y-auto scroll-smooth" > - {articlesToDisplay.map((article) => ( - window.open(article.url, '_blank')} - /> - ))} + {articlesToDisplay.map((article) => { + const displayTitle = article.title?.trim() + ? article.title + : '제목 없음'; + + const displayImageUrl = article.thumbnailUrl || undefined; + + return ( + getJobPinDetail(article.articleId)} + /> + ); + })}

) : ( - // TODO: 아티클 없는경우 UI 수정

아직 공유된 아티클이 없어요.

)}