Skip to content

Conversation

@jjangminii
Copy link
Collaborator

@jjangminii jjangminii commented Oct 7, 2025

📌 Related Issues

관련된 Issue를 태그해주세요. (e.g. - close #25)

📄 Tasks

  • 랜딩페이지 url 변경

⭐ PR Point (To Reviewer)

📷 Screenshot

Summary by CodeRabbit

  • 신규 기능
    • 랜딩 페이지 헤더의 “다운로드” 버튼에 클릭 동작을 추가해 Chrome Web Store 확장 프로그램 페이지로 바로 이동합니다.
    • 최종 CTA 섹션의 기본 버튼 링크를 온보딩 페이지에서 Chrome Web Store 확장 프로그램 상세 페이지로 변경하여 즉시 설치/추가로 연결되도록 개선했습니다.

@jjangminii jjangminii linked an issue Oct 7, 2025 that may be closed by this pull request
@vercel
Copy link

vercel bot commented Oct 7, 2025

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

Project Deployment Preview Comments Updated (UTC)
pinback-client-client Ready Ready Preview Comment Oct 7, 2025 2:33pm
pinback-client-landing Ready Ready Preview Comment Oct 7, 2025 2:33pm

@github-actions github-actions bot added the feat 기능 개발하라 개발 달려라 달려 label Oct 7, 2025
@coderabbitai
Copy link

coderabbitai bot commented Oct 7, 2025

Walkthrough

Landing 페이지의 두 컴포넌트에서 버튼 클릭 시 이동 경로를 크롬 웹 스토어 확장 프로그램 상세 페이지로 변경했습니다. FinalCTASection의 기본 버튼과 Header의 “다운로드” 버튼에 onClick 핸들러를 추가/수정하여 window.location.href 기반 리다이렉트를 수행합니다.

Changes

Cohort / File(s) Summary
Landing 버튼 리다이렉트 업데이트
apps/landing/src/components/FinalCTASection.tsx, apps/landing/src/components/Header.tsx
- FinalCTASection: 기본 CTA 버튼 onClick 대상 URL을 온보딩에서 크롬 웹 스토어 페이지로 변경
- Header: “다운로드” 버튼에 onClick 추가하여 크롬 웹 스토어로 리다이렉트

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor U as User
  participant H as Header/FinalCTA Button
  participant B as Browser
  participant CWS as Chrome Web Store

  U->>H: Click "다운로드"/Primary CTA
  H->>B: window.location.href = CWS URL
  B->>CWS: Navigate (GET)
  CWS-->>U: Extension detail page
  note over H,B: 신규/수정된 리다이렉트 동작
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • constantly-dev
  • jllee000

Poem

토끼는 클릭! 하고 폴짝 뛰네, 링크 따라 쓩—
헤더도 CTA도 한마음 한방향으로 쭉.
크롬 상점 별빛 아래 확장 깃발 휘날리고,
(\/)

( •
•) 설치하러 가요!

/>🍃 바람 타고 바로 지금!

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Linked Issues Check ⚠️ Warning PR 변경사항은 랜딩 페이지 URL 수정만 포함되어 있는 반면 연결된 이슈 #25는 디자인 시스템의 Progress 컴포넌트 구현을 요구하므로 요구사항이 전혀 반영되지 않았습니다. 이 PR은 이슈 #25의 Progress 컴포넌트 구현을 포함하거나, 올바른 이슈(예: #190)로 링크를 수정하여 목적에 맞게 분리해야 합니다.
Out of Scope Changes Check ⚠️ Warning 이 PR에는 랜딩 페이지 URL 변경 외에 디자인 시스템 Progress 컴포넌트 구현과 무관한 변경만 존재하여 연결된 이슈의 범위를 벗어난 작업이 포함되었습니다. 랜딩 페이지 URL 변경은 이슈 #190에 맞춘 별도 PR로 분리하고 디자인 시스템 Progress 구현은 이슈 #25에 맞춘 PR에서 진행해야 합니다.
✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed PR 제목은 랜딩 페이지에서 URL을 변경하는 주요 작업을 간결하게 요약하고 있어 변경 내용과 정확히 일치합니다.
Description Check ✅ Passed PR 설명에는 템플릿의 필수 섹션인 관련 이슈(#190) 및 작업 요약(랜딩페이지 URL 변경)이 올바르게 작성되어 있으며 비핵심 섹션이 비어 있어도 필수 정보는 모두 포함되어 있습니다.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#190/landing-page-url-change

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.

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

✅ Storybook chromatic 배포 확인:
🐿️ storybook

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.

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 409d613 and b18b21f.

📒 Files selected for processing (2)
  • apps/landing/src/components/FinalCTASection.tsx (1 hunks)
  • apps/landing/src/components/Header.tsx (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: storybook

Comment on lines 24 to 27
onClick={() => {
window.location.href = 'https://www.pinback.today/onboarding';
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
}}
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

외부 링크는 새 탭에서 열도록 개선 필요

현재 window.location.href를 사용하면 랜딩 페이지를 완전히 떠나게 되어 사용자 경험이 저하됩니다. 크롬 웹 스토어 링크는 새 탭에서 열어 사용자가 랜딩 페이지를 유지할 수 있도록 하는 것이 표준적인 방법입니다.

또한 동일한 URL이 Header.tsx(Line 11-12)에도 하드코딩되어 있어 코드 중복이 발생합니다. URL을 상수로 추출하여 관리하는 것을 권장합니다.

제안하는 리팩토링:

  1. URL을 상수로 추출 (예: src/constants/urls.ts):
export const CHROME_STORE_URL = 'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
  1. 새 탭에서 링크 열기:
+import { CHROME_STORE_URL } from '../constants/urls';
+
 const FinalCTASection = () => {
   return (
     <section className="...">
       ...
         <Button
           variant="primary"
           onClick={() => {
-            window.location.href =
-              'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
+            window.open(CHROME_STORE_URL, '_blank', 'noopener,noreferrer');
           }}
         >
           지금 시작하기
🤖 Prompt for AI Agents
In apps/landing/src/components/FinalCTASection.tsx around lines 24-27, the
onClick currently assigns window.location.href which navigates away from the
landing page and duplicates a hardcoded Chrome Web Store URL also present in
Header.tsx (lines 11-12); extract the URL into a new constant file (e.g.,
src/constants/urls.ts exporting CHROME_STORE_URL), import that constant into
both FinalCTASection.tsx and Header.tsx, and change the click behavior to open
the URL in a new tab using window.open with appropriate rel flags
(noopener,noreferrer) or by rendering an <a> with target="_blank" rel="noopener
noreferrer" to preserve UX and security.

Comment on lines +9 to +16
<Button
onClick={() => {
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
}}
>
다운로드
</Button>
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

외부 링크는 새 탭에서 열도록 개선 필요

FinalCTASection.tsx와 동일한 이슈가 있습니다:

  • window.location.href 사용으로 랜딩 페이지를 완전히 떠나게 되어 UX 저하
  • URL이 하드코딩되어 있어 FinalCTASection.tsx(Line 25-26)와 코드 중복

제안하는 리팩토링:

URL 상수를 추출하고 새 탭에서 열기:

+import { CHROME_STORE_URL } from '../constants/urls';
+
 const Header = () => {
   return (
     <header className="...">
       <Icon name={'logo'} width={87} height={24} />
       <div>
         <Button
           onClick={() => {
-            window.location.href =
-              'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
+            window.open(CHROME_STORE_URL, '_blank', 'noopener,noreferrer');
           }}
         >
           다운로드

@jjangminii jjangminii merged commit cf97a29 into develop Oct 8, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 기능 개발하라 개발 달려라 달려

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 랜딩페이지 연결 도메인 변경

2 participants