feat(stats): pro personalized handoff 추가

This commit is contained in:
2026-03-14 19:45:55 +09:00
parent c8b00905cd
commit 5d3a5ac8ac
8 changed files with 47 additions and 9 deletions

View File

@@ -42,6 +42,9 @@ const entryCopy = {
reviewTitle: '이번 주 review를 잠깐 보고 갈까요?',
reviewCta: '주간 review 보기',
reviewHelper: '다음 세션 전에 가볍게 보고 갈 수 있어요.',
reviewTitlePro: '나에게 잘 맞았던 흐름을 다시 보고 갈까요?',
reviewCtaPro: '나에게 맞는 흐름 보기',
reviewHelperPro: '가장 잘 맞았던 ritual과 carry-forward를 보고 돌아올 수 있어요.',
reviewReturnEyebrow: '방금 본 review 기준',
reviewReturnTitleSteady: '이번 주에 잘 맞았던 흐름을 그대로 가져가 보세요.',
reviewReturnTitleSmaller: '이번엔 목표를 더 작게 잡아보세요.',
@@ -148,7 +151,11 @@ export const FocusDashboardWidget = () => {
const reviewReturnCopy =
normalizedReviewCarryHint !== null ? reviewCarryCopyByHint[normalizedReviewCarryHint] : null;
const reviewReturnRitualLabel =
reviewEntryPreset === 'forest-50-10' ? entryCopy.reviewReturnRitualLabel : null;
isPro && reviewEntryPreset === 'forest-50-10' ? entryCopy.reviewReturnRitualLabel : null;
const reviewTeaserTitle = isPro ? entryCopy.reviewTitlePro : entryCopy.reviewTitle;
const reviewTeaserSummary = isPro ? review.carryForward.keepDoing : review.snapshotSummary;
const reviewTeaserHelper = isPro ? entryCopy.reviewHelperPro : entryCopy.reviewHelper;
const reviewTeaserCta = isPro ? entryCopy.reviewCtaPro : entryCopy.reviewCta;
useEffect(() => {
let cancelled = false;
@@ -417,15 +424,15 @@ export const FocusDashboardWidget = () => {
{entryCopy.reviewEyebrow}
</p>
<p className="mt-2 text-[1rem] font-medium tracking-[-0.02em] text-white/88">
{entryCopy.reviewTitle}
{reviewTeaserTitle}
</p>
<p className="mt-2 max-w-[34rem] text-[13px] leading-[1.6] text-white/62">
{review.snapshotSummary}
{reviewTeaserSummary}
</p>
<p className="mt-2 text-[12px] text-white/44">{entryCopy.reviewHelper}</p>
<p className="mt-2 text-[12px] text-white/44">{reviewTeaserHelper}</p>
</div>
<span className="inline-flex shrink-0 items-center text-[12px] font-medium tracking-[0.04em] text-white/74">
{entryCopy.reviewCta}
{reviewTeaserCta}
</span>
</div>
</Link>