From 6068a95dbe1e54cf96ec8401231a42c3051e0aa7 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:28:52 +0900 Subject: [PATCH 01/27] =?UTF-8?q?feat:=20=EC=97=90=EC=85=8B=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/patchNote/0001.png | Bin 0 -> 129860 bytes src/components/UpdateModal/MegaphoneAsset.tsx | 376 ++++++++++++++++++ src/components/UpdateModal/NoticeAsset.tsx | 21 + 3 files changed, 397 insertions(+) create mode 100644 src/assets/patchNote/0001.png create mode 100644 src/components/UpdateModal/MegaphoneAsset.tsx create mode 100644 src/components/UpdateModal/NoticeAsset.tsx diff --git a/src/assets/patchNote/0001.png b/src/assets/patchNote/0001.png new file mode 100644 index 0000000000000000000000000000000000000000..aa007b833a6174605488a7c1bb66630269f649ab GIT binary patch literal 129860 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

;M$X2YQ@40|RmZHbiAXWY-F^WLip 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 U1)H%U7UuaRtNfu#+Bo?C0Mu5ZZvX%Q literal 0 HcmV?d00001 diff --git a/src/components/UpdateModal/MegaphoneAsset.tsx b/src/components/UpdateModal/MegaphoneAsset.tsx new file mode 100644 index 00000000..6d2d6cf2 --- /dev/null +++ b/src/components/UpdateModal/MegaphoneAsset.tsx @@ -0,0 +1,376 @@ +interface MegaphoneProps { + className?: string; +} + +export default function MegaphoneAsset({ className = '' }: MegaphoneProps) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/src/components/UpdateModal/NoticeAsset.tsx b/src/components/UpdateModal/NoticeAsset.tsx new file mode 100644 index 00000000..f9ff24a3 --- /dev/null +++ b/src/components/UpdateModal/NoticeAsset.tsx @@ -0,0 +1,21 @@ +interface NoticeAssetProps { + className?: string; +} + +export default function NoticeAsset({ className = '' }: NoticeAssetProps) { + return ( + + + + ); +} From dfe4e79ff92a9263b6c5acb384165f4d169253c5 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:29:07 +0900 Subject: [PATCH 02/27] =?UTF-8?q?feat:=20=ED=8C=A8=EC=B9=98=EB=85=B8?= =?UTF-8?q?=ED=8A=B8=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/patch_note.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/constants/patch_note.ts diff --git a/src/constants/patch_note.ts b/src/constants/patch_note.ts new file mode 100644 index 00000000..23796b09 --- /dev/null +++ b/src/constants/patch_note.ts @@ -0,0 +1,20 @@ +// 이미지 임포트는 아래와 같이 +import PatchNoteImage from '../assets/patchNote/0001.png'; + +export interface PatchNoteData { + version: string; // 로컬 스토리지 키 관리를 위한 버전 (이 버전을 바꾸면 사용자의 '다시 보지 않기'가 초기화됨) + title: string; // 패치 노트 제목 + description: string; // 패치 노트 설명 + image?: string; // 이미지는 선택 사항 + link?: string; // 외부 공지 링크 (Notion 등) +} + +// 현재 활성화된 업데이트 데이터 (이 부분만 수정해서 배포하면 됨) +export const LATEST_PATCH_NOTE: PatchNoteData = { + version: '0001', + title: '피드백 & 투표', + description: + '토론 종료 후 피드백 & 투표 기능으로 다양한 서비스를 이용하세요!', + image: PatchNoteImage, + link: 'https://notion.so', +}; From 3bfe9bd182ed53c9ca731f1e17f4868ca1aa65cc Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:29:19 +0900 Subject: [PATCH 03/27] =?UTF-8?q?feat:=20=ED=8C=A8=EC=B9=98=EB=85=B8?= =?UTF-8?q?=ED=8A=B8=20UI=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UpdateModal/UpdateModal.stories.tsx | 20 +++++ src/components/UpdateModal/UpdateModal.tsx | 73 ++++++++++++++++++ .../UpdateModal/UpdateModalWrapper.tsx | 77 +++++++++++++++++++ 3 files changed, 170 insertions(+) create mode 100644 src/components/UpdateModal/UpdateModal.stories.tsx create mode 100644 src/components/UpdateModal/UpdateModal.tsx create mode 100644 src/components/UpdateModal/UpdateModalWrapper.tsx diff --git a/src/components/UpdateModal/UpdateModal.stories.tsx b/src/components/UpdateModal/UpdateModal.stories.tsx new file mode 100644 index 00000000..67b1d06b --- /dev/null +++ b/src/components/UpdateModal/UpdateModal.stories.tsx @@ -0,0 +1,20 @@ +import { Meta, StoryObj } from '@storybook/react'; +import UpdateModal from './UpdateModal'; + +const meta: Meta = { + title: 'components/UpdateModal', + component: UpdateModal, + tags: ['autodocs'], +}; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = { + args: { + title: '피드백 & 투표', + description: + '토론 종료 후 피드백 & 투표 기능으로\n다양한 서비스를 이용하세요!', + }, +}; diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx new file mode 100644 index 00000000..0a0652c1 --- /dev/null +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -0,0 +1,73 @@ +import MegaphoneAsset from './MegaphoneAsset'; +import NoticeAsset from './NoticeAsset'; +import { PatchNoteData } from '../../constants/patch_note'; + +interface UpdateModalProps { + data: PatchNoteData; + isChecked: boolean; + onChecked: (value: boolean) => void; + onClickDetailButton: () => void; +} + +export default function UpdateModal({ + data, + isChecked, + onChecked, + onClickDetailButton, +}: UpdateModalProps) { + return ( +

+ {/* 메인 컨텐츠 */} +
+
+ +
+

+ 디베이트 타이머에 새로운 기능이 생겼어요! +

+ +
+
+ +
+ {data.image && ( + 업데이트 이미지 + )} +
+
+ + {/* 텍스트 컨텐츠 */} +
+ {/* 타이틀 및 내용 */} +
+

{data.title}

+
+

{data.description}

+
+ + {/* '일주일 간 보지 않기' 체크박스 */} +
+ onChecked(!isChecked)} + /> +

일주일 간 보지 않기

+
+
+ + {/* 버튼 영역 */} + +
+ ); +} diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx new file mode 100644 index 00000000..705f9f34 --- /dev/null +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -0,0 +1,77 @@ +import { useEffect, useState } from 'react'; +import { useModal } from '../../hooks/useModal'; +import UpdateModal from './UpdateModal'; +import { LATEST_PATCH_NOTE } from '../../constants/patch_note'; + +const DISMISS_DATE_KEY = 'dismissDate'; + +// 로컬 스토리지에서 날짜를 안전하게 가져오는 헬퍼 함수 +// 유효한 날짜면 Date 객체를, 없거나 유효하지 않으면 null 반환 +const getSafeDateFromStorage = (): Date | null => { + const rawDate = localStorage.getItem(DISMISS_DATE_KEY); + if (!rawDate) return null; + + const date = new Date(rawDate); + // date.getTime()이 NaN이면 유효하지 않은 날짜임 + return isNaN(date.getTime()) ? null : date; +}; + +export default function UpdateModalWrapper() { + // 상태 관리, 환경 변수 및 기타 변수 선언 + const [isChecked, setIsChecked] = useState(false); + const newContentUrl = import.meta.env.VITE_UPDATE_CONTENT_URL; + + // 모달 훅 사용 + const { openModal, closeModal, ModalWrapper } = useModal({ + onClose: () => { + // 모달 닫을 때 '일주일 간 보지 않기'가 체크되어 있으면, 현재 시간을 로컬 저장소에 기록 + if (isChecked) { + localStorage.setItem(DISMISS_DATE_KEY, new Date().toISOString()); + } + }, + }); + + // '자세히 보기' 버튼 클릭 시 동작 + const handleClickDetailButton = () => { + // 모달 닫고 Notion 업데이트 소개 페이지로 이동 + closeModal(); + window.open(newContentUrl, '_blank', 'noopener,noreferrer'); + }; + + // 모달이 열리는 조건 확인 + useEffect(() => { + // 로컬 저장소에 저장된 날짜가 있다면, 검증을 거쳐 안전히 불러오기 + const lastDismissedDate = getSafeDateFromStorage(); + + // 일(day) 차이 계산 + if (lastDismissedDate) { + const now = new Date(); + const timeDiff = now.getTime() - lastDismissedDate.getTime(); + const daysDiff = timeDiff / (1000 * 60 * 60 * 24); + + if (daysDiff < 7) { + console.log('모달 열지 않기'); + return; + } + } + + // 차이가 7일 초과할 시 모달 열기 + openModal(); + console.log('모달 열기'); + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); // 페이지 열릴 때 최초 1회만 실행되도록 의존성 배열을 비웠음 + + return ( + <> + + handleClickDetailButton()} + /> + + + ); +} From bfb188c6564d622978d4d909b3d7d65e0f7e1611 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:29:26 +0900 Subject: [PATCH 04/27] =?UTF-8?q?feat:=20=EB=9D=BC=EC=9A=B0=ED=84=B0?= =?UTF-8?q?=EC=97=90=20=ED=8C=A8=EC=B9=98=EB=85=B8=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/routes.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/routes/routes.tsx b/src/routes/routes.tsx index e19ae4ee..c8e6d17a 100644 --- a/src/routes/routes.tsx +++ b/src/routes/routes.tsx @@ -18,6 +18,7 @@ import VoteParticipationPage from '../page/VoteParticipationPage/VoteParticipati import VoteCompletePage from '../page/VoteCompletePage/VoteCompletePage'; import DebateVoteResultPage from '../page/DebateVoteResultPage/DebateVoteResultPage'; import LanguageWrapper from './LanguageWrapper'; +import UpdateModalWrapper from '../components/UpdateModal/UpdateModalWrapper'; const appRoutes = [ { @@ -108,6 +109,7 @@ const router = createBrowserRouter([ <> + ), children: [ From 0e787b1b7ca6733244cc038e01fee9e484eb15a9 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:33:58 +0900 Subject: [PATCH 05/27] =?UTF-8?q?refactor:=20=EC=9E=90=EC=84=B8=ED=9E=88?= =?UTF-8?q?=20=EB=B3=B4=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20=EB=A1=9C=EC=A7=81?= =?UTF-8?q?=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 11 ++++++++--- src/components/UpdateModal/UpdateModalWrapper.tsx | 11 +---------- src/constants/patch_note.ts | 2 +- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index 0a0652c1..fdc4aaf1 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -6,15 +6,20 @@ interface UpdateModalProps { data: PatchNoteData; isChecked: boolean; onChecked: (value: boolean) => void; - onClickDetailButton: () => void; } export default function UpdateModal({ data, isChecked, onChecked, - onClickDetailButton, }: UpdateModalProps) { + // '자세히 보기' 버튼 클릭 시 동작 + const handleDetailButtonClick = () => { + if (data.link) { + window.open(data.link, '_blank', 'noopener,noreferrer'); + } + }; + return (
{/* 메인 컨텐츠 */} @@ -64,7 +69,7 @@ export default function UpdateModal({ {/* 버튼 영역 */} diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index 705f9f34..ff1c277a 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -19,10 +19,9 @@ const getSafeDateFromStorage = (): Date | null => { export default function UpdateModalWrapper() { // 상태 관리, 환경 변수 및 기타 변수 선언 const [isChecked, setIsChecked] = useState(false); - const newContentUrl = import.meta.env.VITE_UPDATE_CONTENT_URL; // 모달 훅 사용 - const { openModal, closeModal, ModalWrapper } = useModal({ + const { openModal, ModalWrapper } = useModal({ onClose: () => { // 모달 닫을 때 '일주일 간 보지 않기'가 체크되어 있으면, 현재 시간을 로컬 저장소에 기록 if (isChecked) { @@ -31,13 +30,6 @@ export default function UpdateModalWrapper() { }, }); - // '자세히 보기' 버튼 클릭 시 동작 - const handleClickDetailButton = () => { - // 모달 닫고 Notion 업데이트 소개 페이지로 이동 - closeModal(); - window.open(newContentUrl, '_blank', 'noopener,noreferrer'); - }; - // 모달이 열리는 조건 확인 useEffect(() => { // 로컬 저장소에 저장된 날짜가 있다면, 검증을 거쳐 안전히 불러오기 @@ -69,7 +61,6 @@ export default function UpdateModalWrapper() { data={LATEST_PATCH_NOTE} isChecked={isChecked} onChecked={setIsChecked} - onClickDetailButton={() => handleClickDetailButton()} /> diff --git a/src/constants/patch_note.ts b/src/constants/patch_note.ts index 23796b09..e524dc76 100644 --- a/src/constants/patch_note.ts +++ b/src/constants/patch_note.ts @@ -16,5 +16,5 @@ export const LATEST_PATCH_NOTE: PatchNoteData = { description: '토론 종료 후 피드백 & 투표 기능으로 다양한 서비스를 이용하세요!', image: PatchNoteImage, - link: 'https://notion.so', + link: 'https://bustling-bathtub-b3a.notion.site/2f41550c60cf80f69227e3145f6e19cc?pvs=143', }; From 301a2463de768639cedec6b7349a3db7791913fc Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 02:53:37 +0900 Subject: [PATCH 06/27] =?UTF-8?q?refactor:=20PatchNoteData=20=EC=9D=B8?= =?UTF-8?q?=ED=84=B0=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EB=B3=80=EC=88=98=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/patch_note.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants/patch_note.ts b/src/constants/patch_note.ts index e524dc76..567d6416 100644 --- a/src/constants/patch_note.ts +++ b/src/constants/patch_note.ts @@ -5,8 +5,8 @@ export interface PatchNoteData { version: string; // 로컬 스토리지 키 관리를 위한 버전 (이 버전을 바꾸면 사용자의 '다시 보지 않기'가 초기화됨) title: string; // 패치 노트 제목 description: string; // 패치 노트 설명 - image?: string; // 이미지는 선택 사항 - link?: string; // 외부 공지 링크 (Notion 등) + image: string; // 이미지는 선택 사항 + link: string; // 외부 공지 링크 (Notion 등) } // 현재 활성화된 업데이트 데이터 (이 부분만 수정해서 배포하면 됨) From d6ba4e8332edd972382f0da776cab0ea1575d765 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:05:10 +0900 Subject: [PATCH 07/27] =?UTF-8?q?chore:=20=EC=9E=90=EB=8F=99=20PR=20?= =?UTF-8?q?=EC=84=B8=ED=8C=85=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=B9=98=EC=BD=94=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Auto_PR_Setting.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Auto_PR_Setting.yml b/.github/workflows/Auto_PR_Setting.yml index f2382397..11e60a7f 100644 --- a/.github/workflows/Auto_PR_Setting.yml +++ b/.github/workflows/Auto_PR_Setting.yml @@ -46,7 +46,7 @@ jobs: # 팀 멤버 목록을 정의하고, 할당되지 않은 멤버를 리뷰어로 추가. # 단, 현재 활동하지 않는 멤버는 제외. (현재 비활성 멤버 = 엘, 케이티) - TEAM_MEMBERS=("jaeml06" "i-meant-to-be" "useon") + TEAM_MEMBERS=("i-meant-to-be" "useon") IFS=', ' read -r -a ASSIGNEE_ARRAY <<< "${ASSIGNEES}" REVIEWERS=() for MEMBER in "${TEAM_MEMBERS[@]}"; do From 1560e7e3506cc8da95995f80186b602b39d57461 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:10:12 +0900 Subject: [PATCH 08/27] =?UTF-8?q?chore:=20=EC=9E=90=EB=8F=99=20PR=20?= =?UTF-8?q?=EC=84=B8=ED=8C=85=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/Auto_PR_Setting.yml | 60 --------------------------- 1 file changed, 60 deletions(-) delete mode 100644 .github/workflows/Auto_PR_Setting.yml diff --git a/.github/workflows/Auto_PR_Setting.yml b/.github/workflows/Auto_PR_Setting.yml deleted file mode 100644 index 11e60a7f..00000000 --- a/.github/workflows/Auto_PR_Setting.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Auto PR Setting - -on: - pull_request: - types: [opened] - -jobs: - assign-issue: - # Works only if target branch name is not 'main' - if: github.base_ref != 'main' - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Set Auth Token - run: echo "GH_TOKEN=${{ secrets.PERSONAL_ACCESS_TOKEN }}" >> $GITHUB_ENV - # Personal Access Token을 환경 변수에 설정하여 gh CLI에서 인증에 사용. - - - name: Get Issue Number - id: get_issue - run: | - # PR 정보를 가져와 브랜치 이름 확인. - PR_DATA=$(gh pr view ${{ github.event.pull_request.number }} --json headRefName) - echo "PR_DATA=${PR_DATA}" >> $GITHUB_ENV - # 브랜치 이름에서 이슈 번호 추출. - BRANCH_NAME=$(echo "${PR_DATA}" | jq -r '.headRefName') - echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_ENV - ISSUE_NUMBER=$(echo "${BRANCH_NAME}" | awk -F'#' '{print $2}' | grep -Eo '^[0-9]+') - echo "ISSUE_NUMBER=${ISSUE_NUMBER}" >> $GITHUB_ENV - - - name: Get Issue Details - id: get_issue_details - run: | - # 이슈 정보를 가져와 할당된 사람, 레이블, 프로젝트 항목 정보를 추출. - ISSUE_DATA=$(gh issue view "${ISSUE_NUMBER}" --json assignees,labels,projectItems --jq '{assignees: [.assignees[].login], labels: [.labels[].name], projects: [.projectItems[].title]}') - echo "ISSUE_DATA=${ISSUE_DATA}" >> $GITHUB_ENV - - - name: Setting PR - id: setting_pr - run: | - # 이슈 데이터에서 할당된 사람, 레이블, 프로젝트 정보를 환경 변수로 설정. - ASSIGNEES=$(echo "${ISSUE_DATA}" | jq -r '.assignees | join(",")') - LABELS=$(echo "${ISSUE_DATA}" | jq -r '.labels | join(",")') - - # 팀 멤버 목록을 정의하고, 할당되지 않은 멤버를 리뷰어로 추가. - # 단, 현재 활동하지 않는 멤버는 제외. (현재 비활성 멤버 = 엘, 케이티) - TEAM_MEMBERS=("i-meant-to-be" "useon") - IFS=', ' read -r -a ASSIGNEE_ARRAY <<< "${ASSIGNEES}" - REVIEWERS=() - for MEMBER in "${TEAM_MEMBERS[@]}"; do - if [[ ! " ${ASSIGNEE_ARRAY[@]} " =~ " ${MEMBER} " ]]; then - REVIEWERS+=("${MEMBER}") - fi - done - REVIEWER_LIST=$(IFS=', '; echo "${REVIEWERS[*]}") - - # PR에 할당된 사람, 레이블, 리뷰어, 프로젝트를 추가. - gh pr edit ${{ github.event.pull_request.number }} --add-assignee "${ASSIGNEES}" --add-label "${LABELS}" --add-reviewer "${REVIEWER_LIST}" From d2216591c5fc9c419764d533b0379a147de1ba82 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:15:31 +0900 Subject: [PATCH 09/27] =?UTF-8?q?chore:=20=EC=A3=BC=EC=84=9D=EC=97=90=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=EA=B0=80=20=ED=95=84=EC=88=98?= =?UTF-8?q?=EC=9E=84=EC=9D=84=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/patch_note.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants/patch_note.ts b/src/constants/patch_note.ts index 567d6416..f4d3aae7 100644 --- a/src/constants/patch_note.ts +++ b/src/constants/patch_note.ts @@ -5,7 +5,7 @@ export interface PatchNoteData { version: string; // 로컬 스토리지 키 관리를 위한 버전 (이 버전을 바꾸면 사용자의 '다시 보지 않기'가 초기화됨) title: string; // 패치 노트 제목 description: string; // 패치 노트 설명 - image: string; // 이미지는 선택 사항 + image: string; // 이미지 link: string; // 외부 공지 링크 (Notion 등) } From 74d71d651c10600cf2e655874d956b0938fdd43b Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:15:46 +0900 Subject: [PATCH 10/27] =?UTF-8?q?test:=20Story=20=EB=B3=80=EC=88=98=20?= =?UTF-8?q?=EA=B0=92=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UpdateModal/UpdateModal.stories.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.stories.tsx b/src/components/UpdateModal/UpdateModal.stories.tsx index 67b1d06b..92638e00 100644 --- a/src/components/UpdateModal/UpdateModal.stories.tsx +++ b/src/components/UpdateModal/UpdateModal.stories.tsx @@ -1,5 +1,6 @@ import { Meta, StoryObj } from '@storybook/react'; -import UpdateModal from './UpdateModal'; +import UpdateModal from './UpdateModal'; // 이미지 임포트는 아래와 같이 +import PatchNoteImage from '../assets/patchNote/0001.png'; const meta: Meta = { title: 'components/UpdateModal', @@ -13,8 +14,15 @@ type Story = StoryObj; export const Default: Story = { args: { - title: '피드백 & 투표', - description: - '토론 종료 후 피드백 & 투표 기능으로\n다양한 서비스를 이용하세요!', + data: { + version: '0000', + title: '피드백 & 투표', + description: + '토론 종료 후 피드백 & 투표 기능으로\n다양한 서비스를 이용하세요!', + link: 'https://notion.so/', + image: PatchNoteImage, + }, + isChecked: false, + onChecked: () => {}, }, }; From da16b9d373d4cd8b2074f12a5d347793d254a34a Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:16:43 +0900 Subject: [PATCH 11/27] =?UTF-8?q?refactor:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=ED=99=94=EC=82=B4=ED=91=9C=20=ED=95=A8=EC=88=98=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index fdc4aaf1..e6d48eeb 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -69,7 +69,7 @@ export default function UpdateModal({ {/* 버튼 영역 */} From b0c8cbd349d870a1ef99f917438aaaba36acfb14 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:17:02 +0900 Subject: [PATCH 12/27] =?UTF-8?q?refactor:=20=EB=A1=9C=EA=B9=85=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModalWrapper.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index ff1c277a..4a53a8f3 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -42,14 +42,12 @@ export default function UpdateModalWrapper() { const daysDiff = timeDiff / (1000 * 60 * 60 * 24); if (daysDiff < 7) { - console.log('모달 열지 않기'); return; } } // 차이가 7일 초과할 시 모달 열기 openModal(); - console.log('모달 열기'); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); // 페이지 열릴 때 최초 1회만 실행되도록 의존성 배열을 비웠음 From b7ab7465fc5b8a4c04020f72f6daa30c867e1ebc Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:31:19 +0900 Subject: [PATCH 13/27] =?UTF-8?q?feat:=20=EB=AA=A8=EB=8B=AC=20=ED=91=9C?= =?UTF-8?q?=EC=8B=9C=20=EC=97=AC=EB=B6=80=EB=A5=BC=20=EB=94=B0=EC=A7=88=20?= =?UTF-8?q?=EB=95=8C=20=EB=B2=84=EC=A0=84=EB=8F=84=20=ED=95=A8=EA=BB=98=20?= =?UTF-8?q?=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UpdateModal/UpdateModalWrapper.tsx | 67 +++++++++++++------ 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index 4a53a8f3..51841fc7 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -3,18 +3,13 @@ import { useModal } from '../../hooks/useModal'; import UpdateModal from './UpdateModal'; import { LATEST_PATCH_NOTE } from '../../constants/patch_note'; -const DISMISS_DATE_KEY = 'dismissDate'; +const STORAGE_KEY = 'update_notification_status'; -// 로컬 스토리지에서 날짜를 안전하게 가져오는 헬퍼 함수 -// 유효한 날짜면 Date 객체를, 없거나 유효하지 않으면 null 반환 -const getSafeDateFromStorage = (): Date | null => { - const rawDate = localStorage.getItem(DISMISS_DATE_KEY); - if (!rawDate) return null; - - const date = new Date(rawDate); - // date.getTime()이 NaN이면 유효하지 않은 날짜임 - return isNaN(date.getTime()) ? null : date; -}; +// 로컬 스토리지에 저장될 패치 노트의 데이터 타입 정의 +interface StoredStatus { + version: string; // 패치 노트 버전 + dismissedAt: string; // 일주일 간 무시하기 체크 시 기록되는 시간 +} export default function UpdateModalWrapper() { // 상태 관리, 환경 변수 및 기타 변수 선언 @@ -23,9 +18,13 @@ export default function UpdateModalWrapper() { // 모달 훅 사용 const { openModal, ModalWrapper } = useModal({ onClose: () => { - // 모달 닫을 때 '일주일 간 보지 않기'가 체크되어 있으면, 현재 시간을 로컬 저장소에 기록 + // 모달 닫을 때 '일주일 간 보지 않기'가 체크되어 있으면, 현재 시간과 패치 노트 버전을 로컬 저장소에 기록 if (isChecked) { - localStorage.setItem(DISMISS_DATE_KEY, new Date().toISOString()); + const status: StoredStatus = { + version: LATEST_PATCH_NOTE.version, + dismissedAt: new Date().toISOString(), + }; + localStorage.setItem(STORAGE_KEY, JSON.stringify(status)); } }, }); @@ -33,22 +32,46 @@ export default function UpdateModalWrapper() { // 모달이 열리는 조건 확인 useEffect(() => { // 로컬 저장소에 저장된 날짜가 있다면, 검증을 거쳐 안전히 불러오기 - const lastDismissedDate = getSafeDateFromStorage(); + const rawData = localStorage.getItem(STORAGE_KEY); + + // 데이터가 없는 경우(= 처음 접속한 경우), 모달 표시 + if (!rawData) { + openModal(); + return; + } + + try { + // 값 불러오기 + const status: StoredStatus = JSON.parse(rawData); + const dismissDate = new Date(status.dismissedAt); + + // 값 검증 실패 시, 모달 표시 + if (!status.version || isNaN(dismissDate.getTime())) { + openModal(); + return; + } + + // 패치 노트 버전이 다를 시, 모달 표시 + if (status.version !== LATEST_PATCH_NOTE.version) { + openModal(); + return; + } - // 일(day) 차이 계산 - if (lastDismissedDate) { + // 버전이 동일하다면, 7일이 지났는지 확인 const now = new Date(); - const timeDiff = now.getTime() - lastDismissedDate.getTime(); - const daysDiff = timeDiff / (1000 * 60 * 60 * 24); + const timeDiff = now.getTime() - dismissDate.getTime(); + const daysDiff = Math.floor(timeDiff / (1000 * 3600 * 24)); - if (daysDiff < 7) { + if (daysDiff >= 7) { + openModal(); return; } + } catch { + // 기타 오류나 예외 발생 시, 모달 표시 + openModal(); + return; } - // 차이가 7일 초과할 시 모달 열기 - openModal(); - // eslint-disable-next-line react-hooks/exhaustive-deps }, []); // 페이지 열릴 때 최초 1회만 실행되도록 의존성 배열을 비웠음 From b229071b2c1a1ff0d5ebcb79d270055fc79d9016 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 03:39:57 +0900 Subject: [PATCH 14/27] =?UTF-8?q?fix:=20isChecked=EA=B0=80=20=EC=B5=9C?= =?UTF-8?q?=EC=8B=A0=20=EA=B0=92=EC=9C=BC=EB=A1=9C=20=EC=9C=A0=EC=A7=80?= =?UTF-8?q?=EB=90=98=EC=A7=80=20=EB=AA=BB=ED=95=98=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModalWrapper.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index 51841fc7..9bc3752e 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useModal } from '../../hooks/useModal'; import UpdateModal from './UpdateModal'; import { LATEST_PATCH_NOTE } from '../../constants/patch_note'; @@ -14,12 +14,13 @@ interface StoredStatus { export default function UpdateModalWrapper() { // 상태 관리, 환경 변수 및 기타 변수 선언 const [isChecked, setIsChecked] = useState(false); + const isCheckedRef = useRef(isChecked); // 모달 훅 사용 const { openModal, ModalWrapper } = useModal({ onClose: () => { // 모달 닫을 때 '일주일 간 보지 않기'가 체크되어 있으면, 현재 시간과 패치 노트 버전을 로컬 저장소에 기록 - if (isChecked) { + if (isCheckedRef.current) { const status: StoredStatus = { version: LATEST_PATCH_NOTE.version, dismissedAt: new Date().toISOString(), @@ -29,6 +30,10 @@ export default function UpdateModalWrapper() { }, }); + useEffect(() => { + isCheckedRef.current = isChecked; + }, [isChecked]); + // 모달이 열리는 조건 확인 useEffect(() => { // 로컬 저장소에 저장된 날짜가 있다면, 검증을 거쳐 안전히 불러오기 From 3708fa799eba4fa20a6c8985b9a0dd3b00a000b1 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 27 Jan 2026 17:05:19 +0900 Subject: [PATCH 15/27] =?UTF-8?q?design:=20=EC=8D=A8=EB=8B=88=20=ED=94=BC?= =?UTF-8?q?=EB=93=9C=EB=B0=B1=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index e6d48eeb..93a2a292 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -23,9 +23,9 @@ export default function UpdateModal({ return (
{/* 메인 컨텐츠 */} -
-
- +
+
+

디베이트 타이머에 새로운 기능이 생겼어요! From 235067a2e98aabfae1885780d5f6228d40af4434 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Wed, 28 Jan 2026 01:23:59 +0900 Subject: [PATCH 16/27] =?UTF-8?q?feat:=20=EB=8B=A8=EC=9D=BC=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=EB=A7=8C=20=ED=91=9C=EC=8B=9C=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=ED=8C=A8=EC=B9=98=20=EB=85=B8=ED=8A=B8=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/patch_note.ts | 41 ++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/src/constants/patch_note.ts b/src/constants/patch_note.ts index f4d3aae7..ce3d49f0 100644 --- a/src/constants/patch_note.ts +++ b/src/constants/patch_note.ts @@ -1,16 +1,37 @@ // 이미지 임포트는 아래와 같이 import PatchNoteImage from '../assets/patchNote/0001.png'; +// 기본적인 패치 노트 인터페이스 export interface PatchNoteData { version: string; // 로컬 스토리지 키 관리를 위한 버전 (이 버전을 바꾸면 사용자의 '다시 보지 않기'가 초기화됨) - title: string; // 패치 노트 제목 - description: string; // 패치 노트 설명 - image: string; // 이미지 - link: string; // 외부 공지 링크 (Notion 등) + link: string; + image: string; + mode: 'predefined' | 'image-only'; +} + +// 사전 정의된 패치 노트 인터페이스 +export interface PredefinedPatchNoteData extends PatchNoteData { + mode: 'predefined'; + title: string; + description: string; +} + +// 이미지만 존재하는 패치 노트 인터페이스 +export interface ImageOnlyPatchNoteData extends PatchNoteData { + mode: 'image-only'; +} + +// PatchNoteData 타입이 PredefinedPatchNoteData인지 ImagePatchNoteData인지 구별하는 함수 +export function isPredefinedPatchNote( + data: PatchNoteData, +): data is PredefinedPatchNoteData { + // 'title' 속성이 data 객체 안에 있는지 확인 + return data.mode === 'predefined'; } // 현재 활성화된 업데이트 데이터 (이 부분만 수정해서 배포하면 됨) -export const LATEST_PATCH_NOTE: PatchNoteData = { +export const LATEST_PATCH_NOTE: PredefinedPatchNoteData = { + mode: 'predefined', version: '0001', title: '피드백 & 투표', description: @@ -18,3 +39,13 @@ export const LATEST_PATCH_NOTE: PatchNoteData = { image: PatchNoteImage, link: 'https://bustling-bathtub-b3a.notion.site/2f41550c60cf80f69227e3145f6e19cc?pvs=143', }; + +// ImageOnlyPatchNoteData의 예시 +/* +export const TEST_PATCH_NOTE: ImageOnlyPatchNoteData = { + mode: 'image-only', + version: '0001', + image: PatchNoteImage, + link: 'https://bustling-bathtub-b3a.notion.site/2f41550c60cf80f69227e3145f6e19cc?pvs=143', +}; +*/ From 37bf3ebee0b6f55499a2a2d8b96b80edc26b6315 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Wed, 28 Jan 2026 01:24:17 +0900 Subject: [PATCH 17/27] =?UTF-8?q?feat:=20UI=EC=97=90=20ImageOnlyPatchNoteD?= =?UTF-8?q?ata=20=EB=B3=80=EA=B2=BD=20=EC=82=AC=ED=95=AD=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 105 ++++++++++++++------- 1 file changed, 70 insertions(+), 35 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index 93a2a292..5300ff1f 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -1,6 +1,11 @@ import MegaphoneAsset from './MegaphoneAsset'; import NoticeAsset from './NoticeAsset'; -import { PatchNoteData } from '../../constants/patch_note'; +import { + ImageOnlyPatchNoteData, + isPredefinedPatchNote, + PatchNoteData, + PredefinedPatchNoteData, +} from '../../constants/patch_note'; interface UpdateModalProps { data: PatchNoteData; @@ -22,49 +27,79 @@ export default function UpdateModal({ return (

- {/* 메인 컨텐츠 */} -
-
- -
-

- 디베이트 타이머에 새로운 기능이 생겼어요! -

- + {isPredefinedPatchNote(data) ? ( + <> + {/* 메인 컨텐츠 */} +
+
+ +
+

+ 디베이트 타이머에 새로운 기능이 생겼어요! +

+ +
+
+ +
+ {data.image && ( + 업데이트 이미지 + )} +
-
-
- {data.image && ( + {/* 텍스트 컨텐츠 */} +
+ {/* 타이틀 및 내용 */} +
+

+ {(data as PredefinedPatchNoteData).title} +

+
+

+ {(data as PredefinedPatchNoteData).description} +

+
+ + {/* '일주일 간 보지 않기' 체크박스 */} +
+ onChecked(!isChecked)} + /> +

일주일 간 보지 않기

+
+
+ + ) : ( +
+ {/* 이미지 컨텐츠 */} + {(data as ImageOnlyPatchNoteData).image && ( 업데이트 이미지 )} -
-
- {/* 텍스트 컨텐츠 */} -
- {/* 타이틀 및 내용 */} -
-

{data.title}

-
-

{data.description}

-
- - {/* '일주일 간 보지 않기' 체크박스 */} -
- onChecked(!isChecked)} - /> -

일주일 간 보지 않기

+ {/* '일주일 간 보지 않기' 체크박스 */} +
+ onChecked(!isChecked)} + /> +

일주일 간 보지 않기

+
-
+ )} {/* 버튼 영역 */}
{/* '일주일 간 보지 않기' 체크박스 */} -
+
+
) : ( @@ -90,16 +93,19 @@ export default function UpdateModal({ )} {/* '일주일 간 보지 않기' 체크박스 */} -
+
+
)} From b9bce9277f7ef4fd8e9f367b9b17b8c0aef7f58a Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Fri, 30 Jan 2026 22:45:18 +0900 Subject: [PATCH 23/27] =?UTF-8?q?refactor:=20=EC=B2=B4=ED=81=AC=EB=B0=95?= =?UTF-8?q?=EC=8A=A4=20=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=ED=95=A8=EC=88=98?= =?UTF-8?q?=20=EB=B3=84=EB=8F=84=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModalWrapper.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index 9bc3752e..9f631b11 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -30,9 +30,10 @@ export default function UpdateModalWrapper() { }, }); - useEffect(() => { - isCheckedRef.current = isChecked; - }, [isChecked]); + const handleCheckedChange = (checked: boolean) => { + setIsChecked(checked); + isCheckedRef.current = checked; + }; // 모달이 열리는 조건 확인 useEffect(() => { @@ -86,7 +87,7 @@ export default function UpdateModalWrapper() { From 34e2158aa9004412a0cb743c09df4cf04ae626a0 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Fri, 30 Jan 2026 22:45:24 +0900 Subject: [PATCH 24/27] =?UTF-8?q?refactor:=20=EB=A7=A4=EC=A7=81=20?= =?UTF-8?q?=EB=84=98=EB=B2=84=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModalWrapper.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/UpdateModal/UpdateModalWrapper.tsx b/src/components/UpdateModal/UpdateModalWrapper.tsx index 9f631b11..c661f67d 100644 --- a/src/components/UpdateModal/UpdateModalWrapper.tsx +++ b/src/components/UpdateModal/UpdateModalWrapper.tsx @@ -4,6 +4,8 @@ import UpdateModal from './UpdateModal'; import { LATEST_PATCH_NOTE } from '../../constants/patch_note'; const STORAGE_KEY = 'update_notification_status'; +const DISMISS_DURATION_DAYS = 7; +const MILLIS_IN_A_DAY = 1000 * 3600 * 24; // 로컬 스토리지에 저장될 패치 노트의 데이터 타입 정의 interface StoredStatus { @@ -66,9 +68,9 @@ export default function UpdateModalWrapper() { // 버전이 동일하다면, 7일이 지났는지 확인 const now = new Date(); const timeDiff = now.getTime() - dismissDate.getTime(); - const daysDiff = Math.floor(timeDiff / (1000 * 3600 * 24)); + const daysDiff = Math.floor(timeDiff / MILLIS_IN_A_DAY); - if (daysDiff >= 7) { + if (daysDiff >= DISMISS_DURATION_DAYS) { openModal(); return; } From 4c19696f123f8824429ca83c1b79f32ec16e981c Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Mon, 2 Feb 2026 20:20:13 +0900 Subject: [PATCH 25/27] =?UTF-8?q?feat:=20=EB=94=94=EC=8A=A4=ED=94=8C?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=20=ED=81=AC=EA=B8=B0=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=9D=BC=20UI=20=ED=81=AC=EA=B8=B0=EB=8F=84=20=EB=B0=94?= =?UTF-8?q?=EB=80=8C=EB=8F=84=EB=A1=9D=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 52 +++++++++++++--------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index c4053492..2e2a6041 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -26,41 +26,47 @@ export default function UpdateModal({ }; return ( -
+
{isPredefinedPatchNote(data) ? ( <> {/* 메인 컨텐츠 */} -
-
- -
-

+

+
+
+ +
+ +
+

디베이트 타이머에 새로운 기능이 생겼어요!

- + +
+ +
-
+
{data.image && ( 업데이트 이미지 )}
{/* 텍스트 컨텐츠 */} -
+
{/* 타이틀 및 내용 */}
-

+

{(data as PredefinedPatchNoteData).title}

-
-

+

+

{(data as PredefinedPatchNoteData).description}

@@ -68,16 +74,16 @@ export default function UpdateModal({ {/* '일주일 간 보지 않기' 체크박스 */}
@@ -88,33 +94,35 @@ export default function UpdateModal({ 업데이트 이미지 )} {/* '일주일 간 보지 않기' 체크박스 */}
)} {/* 버튼 영역 */}
); From 161bc043c9ab0033b326c96354a173d4259f5aa0 Mon Sep 17 00:00:00 2001 From: Shawn Kang Date: Tue, 3 Feb 2026 20:55:42 +0900 Subject: [PATCH 26/27] =?UTF-8?q?feat:=20'=EC=9E=90=EC=84=B8=ED=9E=88=20?= =?UTF-8?q?=EB=B3=B4=EA=B8=B0'=20=EB=B2=84=ED=8A=BC=20=ED=81=B4=EB=A6=AD?= =?UTF-8?q?=20=EC=8B=9C=20=EB=AA=A8=EB=8B=AC=20=EB=8B=AB=ED=9E=88=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UpdateModal/UpdateModal.tsx | 11 +++-------- src/components/UpdateModal/UpdateModalWrapper.tsx | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/components/UpdateModal/UpdateModal.tsx b/src/components/UpdateModal/UpdateModal.tsx index 2e2a6041..ec50d9d0 100644 --- a/src/components/UpdateModal/UpdateModal.tsx +++ b/src/components/UpdateModal/UpdateModal.tsx @@ -11,20 +11,15 @@ interface UpdateModalProps { data: PatchNoteData; isChecked: boolean; onChecked: (value: boolean) => void; + onClickDetailButton: () => void; } export default function UpdateModal({ data, isChecked, onChecked, + onClickDetailButton, }: UpdateModalProps) { - // '자세히 보기' 버튼 클릭 시 동작 - const handleDetailButtonClick = () => { - if (data.link) { - window.open(data.link, '_blank', 'noopener,noreferrer'); - } - }; - return (
{isPredefinedPatchNote(data) ? ( @@ -118,7 +113,7 @@ export default function UpdateModal({ {/* 버튼 영역 */}