Skip to content

fix(web): 만족도 조사 문구 교체 및 KST 기준 노출 기간 적용#478

Merged
manNomi merged 4 commits intomainfrom
codex/update-satisfaction-survey-kst
Mar 14, 2026
Merged

fix(web): 만족도 조사 문구 교체 및 KST 기준 노출 기간 적용#478
manNomi merged 4 commits intomainfrom
codex/update-satisfaction-survey-kst

Conversation

@manNomi
Copy link
Contributor

@manNomi manNomi commented Mar 14, 2026

변경 사항

  • 만족도 조사 모달 문구를 요청하신 최신 안내문으로 전체 교체했습니다.
  • 설문 링크를 신규 URL로 변경했습니다.
    • https://forms.gle/BtdziNrV7gRPLpDt5
  • 팝업 차단/오류 토스트 문구의 링크도 동일하게 갱신했습니다.
  • 모달 노출 기간 로직을 한국시간(KST, +09:00) 기준으로 변경했습니다.
    • 노출 기간: 2026-03-14 00:00:00 KST ~ 2026-03-31 23:59:59 KST

수정 파일

  • apps/web/src/components/modal/SurveyModal.tsx
  • apps/web/src/lib/zustand/useSurveyModalStore.ts

검증

  • pnpm --filter @solid-connect/web run lint:check
  • pnpm --filter @solid-connect/web run typecheck:ci
  • pre-push hook: ci:check + next build 통과

@vercel
Copy link

vercel bot commented Mar 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
solid-connection-web Ready Ready Preview, Comment Mar 14, 2026 11:47am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
solid-connect-web-admin Skipped Skipped Mar 14, 2026 11:47am

@github-actions github-actions bot added the web label Mar 14, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 14, 2026

Walkthrough

이 변경 사항은 설문 모달 컴포넌트의 시각적 재구성과 설정 로직 개선으로 이루어져 있습니다. 첫째, SurveyModal.tsx에서는 기존의 구조화된 마크업을 이미지 기반의 커스텀 UI로 교체했으며, Next.js Image 컴포넌트를 활용하여 배경 벡터, 로고, 체크박스 시각 요소를 추가했습니다. 둘째, useSurveyModalStore.ts에서는 한국 표준시(KST) 기반의 설문 기간 상수(SURVEY\_START\_AT\_KST, SURVEY\_END\_AT\_KST)를 도입하여 모달 표시 시간 범위를 관리하도록 변경했습니다. 기존의 닫기 로직과 component 인터페이스는 유지되었습니다.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

상세 변경 사항

1. SurveyModal 컴포넌트 UI 재구성

  • 이전의 모달 header/body/footer 구조를 자체 포함된 스타일 카드로 교체했습니다.
  • Next.js Image 컴포넌트를 활용한 배경, 로고, 체크박스 시각 요소를 추가했습니다.
  • 그래디언트 텍스트와 CTA 버튼을 새로운 레이아웃에 포함시켰습니다.

2. 설문 URL 상수화

  • surveyUrl 상수를 도입하여 하드코딩된 URL을 일원화했습니다.
  • handleSurveyClick 함수에서 새 창으로 설문 링크를 열도록 수정했습니다.

3. 설문 기간 관리 로직 도입

  • SURVEY\_START\_AT\_KST와 SURVEY\_END\_AT\_KST 상수를 추가하여 명시적인 설문 기간을 정의했습니다.
  • 현재 시간이 설정된 기간 범위 내에 있을 때만 모달이 표시되도록 변경했습니다.

4. 기존 동작 보존

  • "일주일간 보지 않기" 옵션의 체크 여부에 따라 onCloseForWeek 또는 onClose 콜백을 호출하는 로직은 유지되었습니다.
  • Component의 공개 인터페이스와 prop 타입은 변경되지 않았습니다.
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive PR 설명은 변경 사항, 수정 파일, 검증 정보를 포함하고 있으나, 제공된 템플릿의 필수 구조(관련 이슈, 작업 내용, 특이 사항, 리뷰 요구사항)에 완전히 맞지 않습니다. 템플릿의 필수 섹션 형식(## 관련 이슈, ## 작업 내용, ## 특이 사항, ## 리뷰 요구사항)에 맞게 PR 설명을 재구성해 주세요.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 만족도 조사 문구 교체와 KST 기준 노출 기간 적용이라는 주요 변경사항을 명확하고 간결하게 요약하고 있습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/update-satisfaction-survey-kst
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
apps/web/src/components/modal/SurveyModal.tsx (1)

103-103: 3) 노출 기간 문구는 기간 상수와 단일 소스로 묶는 것을 권장합니다.

Line 103의 하드코딩 문구와 apps/web/src/lib/zustand/useSurveyModalStore.ts의 기간 상수가 분리되어 있어, 다음 수정 시 한쪽만 변경되면 실제 노출 조건과 안내 문구가 어긋날 수 있습니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/web/src/components/modal/SurveyModal.tsx` at line 103, The hardcoded
display period string in SurveyModal.tsx should be replaced with the single
source of truth from the survey store: import the period constant exported by
apps/web/src/lib/zustand/useSurveyModalStore (e.g. the exported display
period/DATE_RANGE constant) and use it in the JSX instead of the literal "2026년
3월 14일~ 3월 31일"; ensure the imported constant is formatted the same way the UI
expects (apply any existing formatter or locale function used elsewhere) so the
label stays consistent with the actual exposure logic in useSurveyModalStore.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@apps/web/src/components/modal/SurveyModal.tsx`:
- Line 103: The hardcoded display period string in SurveyModal.tsx should be
replaced with the single source of truth from the survey store: import the
period constant exported by apps/web/src/lib/zustand/useSurveyModalStore (e.g.
the exported display period/DATE_RANGE constant) and use it in the JSX instead
of the literal "2026년 3월 14일~ 3월 31일"; ensure the imported constant is formatted
the same way the UI expects (apply any existing formatter or locale function
used elsewhere) so the label stays consistent with the actual exposure logic in
useSurveyModalStore.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 89cd0c1d-d7ba-412f-a619-aca5b49cf719

📥 Commits

Reviewing files that changed from the base of the PR and between 170a432 and d3a6af6.

⛔ Files ignored due to path filters (4)
  • apps/web/public/images/survey-modal/arrow-right.svg is excluded by !**/*.svg
  • apps/web/public/images/survey-modal/bg-vector.svg is excluded by !**/*.svg
  • apps/web/public/images/survey-modal/checkbox-circle.svg is excluded by !**/*.svg
  • apps/web/public/images/survey-modal/top-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • apps/web/src/components/modal/SurveyModal.tsx
  • apps/web/src/lib/zustand/useSurveyModalStore.ts

@manNomi manNomi merged commit 14c40c7 into main Mar 14, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant