feat(app): weekly review return handoff 연결

This commit is contained in:
2026-03-14 19:39:41 +09:00
parent fe908ec415
commit c8b00905cd
6 changed files with 99 additions and 9 deletions

View File

@@ -68,6 +68,8 @@ export interface WeeklyReviewSection {
note?: string;
}
export type ReviewCarryHint = 'smaller' | 'closure' | 'start' | 'steady';
export interface WeeklyReviewViewModel {
periodLabel: string;
snapshotTitle: string;
@@ -77,6 +79,7 @@ export interface WeeklyReviewViewModel {
recoveryQuality: WeeklyReviewSection;
completionQuality: WeeklyReviewSection;
carryForward: {
hintKey: ReviewCarryHint;
keepDoing: string;
tryNext: string;
ctaLabel: string;
@@ -151,21 +154,32 @@ const buildCarryForward = (summary: FocusStatsSummary): WeeklyReviewViewModel['c
? copy.stats.reviewCarryKeep(summary.last7Days.bestDayLabel)
: copy.stats.reviewCarryKeepGeneric;
let hintKey: ReviewCarryHint = 'steady';
let tryNext: string = copy.stats.reviewCarryTryDefault;
if (summary.last7Days.carriedOverCount >= 2) {
hintKey = 'smaller';
tryNext = copy.stats.reviewCarryTrySmaller;
} else if (completionRate < 0.45) {
hintKey = 'closure';
tryNext = copy.stats.reviewCarryTryClosure;
} else if (summary.last7Days.startedSessions <= 3) {
hintKey = 'start';
tryNext = copy.stats.reviewCarryTryStart;
}
const params = new URLSearchParams({
review: 'weekly',
carryHint: hintKey,
entryPreset: 'forest-50-10',
});
return {
hintKey,
keepDoing,
tryNext,
ctaLabel: copy.stats.reviewCarryCta,
ctaHref: '/app',
ctaHref: `/app?${params.toString()}`,
};
};