From 90301a5804d19b92c921cfaee9799a72b322f437 Mon Sep 17 00:00:00 2001 From: altair823 Date: Sat, 25 Apr 2026 12:17:53 +0900 Subject: [PATCH] =?UTF-8?q?feat(inbox):=20RecoveryToast=20for=20=E2=89=A57?= =?UTF-8?q?-day=20gap=20reentry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task 28 of the slice plan. Renders the green '🌱 흐름을 λ‹€μ‹œ μ΄μ–΄κ°‘λ‹ˆλ‹€' banner only when the parent says show=true (continuity.showRecoveryToast && !dismissedToday). Click βœ• calls onDismiss which persists today's date in localStorage via recoveryToast.ts, suppressing it for the rest of the KST day even after a reload. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/renderer/inbox/components/RecoveryToast.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/renderer/inbox/components/RecoveryToast.tsx b/src/renderer/inbox/components/RecoveryToast.tsx index 9d5be96..72af683 100644 --- a/src/renderer/inbox/components/RecoveryToast.tsx +++ b/src/renderer/inbox/components/RecoveryToast.tsx @@ -1,2 +1,16 @@ import React from 'react'; -export function RecoveryToast(_: { show: boolean; onDismiss: () => void }) { return null; } + +interface Props { + show: boolean; + onDismiss: () => void; +} + +export function RecoveryToast({ show, onDismiss }: Props): React.ReactElement | null { + if (!show) return null; + return ( +
+ 🌱 흐름을 λ‹€μ‹œ μ΄μ–΄κ°‘λ‹ˆλ‹€ + +
+ ); +}