diff --git a/src/app/(app)/home/page.tsx b/src/app/(app)/home/page.tsx index f6965b1..0bfd17a 100644 --- a/src/app/(app)/home/page.tsx +++ b/src/app/(app)/home/page.tsx @@ -99,6 +99,7 @@ export default function HomePage() { const [recentLogs, setRecentLogs] = useState([]); const [logsLoading, setLogsLoading] = useState(true); const [vaccineReminders, setVaccineReminders] = useState([]); + const [showPhoneNudge, setShowPhoneNudge] = useState(false); const [aiChips, setAiChips] = useState([]); const [uploadingPhoto, setUploadingPhoto] = useState(false); const [photoError, setPhotoError] = useState(false); @@ -134,6 +135,24 @@ export default function HomePage() { return () => window.removeEventListener("online", handleOnline); }, [childId]); + // One-time nudge for existing users who have no phone number on file. + // Dismissable; remembered in localStorage so it never nags repeatedly. + useEffect(() => { + if (!childId) return; + if (localStorage.getItem("tia_phone_nudge_dismissed") === "1") return; + fetch("/api/auth/profile") + .then(r => r.json()) + .then(data => { + if (data.user && !data.user.phone) setShowPhoneNudge(true); + }) + .catch(() => {}); + }, [childId]); + + const dismissPhoneNudge = () => { + setShowPhoneNudge(false); + localStorage.setItem("tia_phone_nudge_dismissed", "1"); + }; + const fetchRecentLogs = async () => { if (!childId) return; try { @@ -413,6 +432,29 @@ export default function HomePage() { )} + {showPhoneNudge && ( +
+ 📱 +
+
Add your phone number
+
Get important reminders & updates about your baby
+
+ + Add + + +
+ )} + {stage && (() => {