From 7d5fe23fbe6c1f53902982ad866f60847118748d Mon Sep 17 00:00:00 2001 From: soyeong Date: Sun, 2 Nov 2025 15:14:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(SCRUM-419):=20=EB=8B=A4=EC=9D=B4?= =?UTF-8?q?=EC=96=BC=EB=A1=9C=EA=B7=B8=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/RegionUpdateDialog.tsx | 109 +++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/components/common/RegionUpdateDialog.tsx diff --git a/src/components/common/RegionUpdateDialog.tsx b/src/components/common/RegionUpdateDialog.tsx new file mode 100644 index 0000000..e984df2 --- /dev/null +++ b/src/components/common/RegionUpdateDialog.tsx @@ -0,0 +1,109 @@ +import React from 'react'; +import CongG from '@/assets/svgs/logo/card-congG.svg'; +import GradientBg from '@/assets/svgs/common/region-update-gradient-bg.svg'; + +interface Props { + open: boolean; + onGoHome: () => void; + onDontShowAgain: () => void; +} + +// 서울 지역 추가 안내 다이얼로그 +const RegionUpdateDialog: React.FC = ({ + open, + onGoHome, + onDontShowAgain, +}) => { + if (!open) return null; + + return ( +
+
+ {/* 상단 배경 */} +
+ {/* 그라데이션 원 배경 (SVG) */} + + + {/* 텍스트 영역 */} +
+
+ 많은 분들이 요청해주신 +
+ +
+
+ 서울 지역 가맹점이 + 업데이트 되었어요! +
+
+ + +
+ + {/* 콩쥐 이미지 */} +
+ 카드를 든 콩쥐 +
+ + {/* 블러 영역 */} +
+
+ + {/* 버튼 영역 */} +
+ +
+ +
+
+
+ ); +}; + +export default RegionUpdateDialog; From 2922aa3fbddfa4b160fbf7fd34f5bb554a6e758b Mon Sep 17 00:00:00 2001 From: soyeong Date: Sun, 2 Nov 2025 15:14:59 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat(SCRUM-420):=20=EB=8B=A4=EC=9D=B4?= =?UTF-8?q?=EC=96=BC=EB=A1=9C=EA=B7=B8=20=EB=B2=84=ED=8A=BC=20=EA=B8=B0?= =?UTF-8?q?=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 --- .../svgs/common/region-update-gradient-bg.svg | 10 ++++++++++ src/assets/svgs/logo/card-congG.svg | 9 +++++++++ src/pages/home/HomePage.tsx | 19 +++++++++++++++++-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/assets/svgs/common/region-update-gradient-bg.svg create mode 100644 src/assets/svgs/logo/card-congG.svg diff --git a/src/assets/svgs/common/region-update-gradient-bg.svg b/src/assets/svgs/common/region-update-gradient-bg.svg new file mode 100644 index 0000000..30e6ac3 --- /dev/null +++ b/src/assets/svgs/common/region-update-gradient-bg.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/svgs/logo/card-congG.svg b/src/assets/svgs/logo/card-congG.svg new file mode 100644 index 0000000..4e6cadf --- /dev/null +++ b/src/assets/svgs/logo/card-congG.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/pages/home/HomePage.tsx b/src/pages/home/HomePage.tsx index a02ae55..ec713a7 100644 --- a/src/pages/home/HomePage.tsx +++ b/src/pages/home/HomePage.tsx @@ -1,12 +1,19 @@ - - import HeaderToCarouselSection from '@/components/home/HeaderToCarouselSection'; import CategorySection from '@/components/home/CategorySection'; import Top8StoreSection from '@/components/home/Top8StoreSection'; import ConvenienceStoreSection from '@/components/home/ConvenienceStoreSection'; import CommunitySection from '@/components/home/CommunitySection'; +import { useEffect, useState } from 'react'; +import RegionUpdateDialog from '@/components/common/RegionUpdateDialog'; function HomePage() { + const [openDialog, setOpenDialog] = useState(false); + + useEffect(() => { + const hidden = localStorage.getItem('hideRegionUpdateDialog'); + if (hidden !== 'true') setOpenDialog(true); + }, []); + return ( <>
@@ -19,6 +26,14 @@ function HomePage() {
+ setOpenDialog(false)} + onDontShowAgain={() => { + localStorage.setItem('hideRegionUpdateDialog', 'true'); + setOpenDialog(false); + }} + /> ); }