From 46a2546af91c0acf7e4d92c2e76bda3847cd9e8d Mon Sep 17 00:00:00 2001 From: jjangminii Date: Thu, 26 Feb 2026 20:54:14 +0900 Subject: [PATCH 1/5] =?UTF-8?q?Feat(client):=20=EB=A9=94=EB=AA=A8=20?= =?UTF-8?q?=ED=8C=9D=EC=97=85=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B0=8F=20=EC=A7=81=EB=AC=B4=20=ED=95=80?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=95=84=ED=8B=B0=ED=81=B4=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/pages/jobPins/JobPins.tsx | 22 ++++++-- .../pages/jobPins/components/MemoPopup.tsx | 51 +++++++++++++++++++ 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 apps/client/src/pages/jobPins/components/MemoPopup.tsx diff --git a/apps/client/src/pages/jobPins/JobPins.tsx b/apps/client/src/pages/jobPins/JobPins.tsx index 4bb7e49..a06d52a 100644 --- a/apps/client/src/pages/jobPins/JobPins.tsx +++ b/apps/client/src/pages/jobPins/JobPins.tsx @@ -1,8 +1,9 @@ import { useGetJobPinsArticles } from '@pages/jobPins/apis/queries'; +import MemoPopup from '@pages/jobPins/components/memoPopup'; import Footer from '@pages/myBookmark/components/footer/Footer'; import { Card } from '@pinback/design-system/ui'; import { useInfiniteScroll } from '@shared/hooks/useInfiniteScroll'; -import { useRef } from 'react'; +import { useRef, useState } from 'react'; const JobPins = () => { const scrollContainerRef = useRef(null); @@ -16,6 +17,8 @@ const JobPins = () => { root: scrollContainerRef, }); + const [selectedArticle, setSelectedArticle] = useState(null); + const articlesToDisplay = data?.pages.flatMap((page) => page.articles ?? []) ?? []; @@ -31,6 +34,7 @@ const JobPins = () => {

관심 직무 핀

{job &&

{job}

} +

같은 직무의 사람들이 저장한 아티클을 살펴봐요. 선택한 직무를 기준으로 최신 핀이 업데이트 돼요! @@ -56,20 +60,32 @@ const JobPins = () => { category={article.category.categoryName} categoryColor={article.category.categoryColor} nickname={article.ownerName} - onClick={() => window.open(article.url, '_blank')} + onClick={() => setSelectedArticle(article)} /> ))}

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

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

)}