diff --git a/src/app/activity/page.tsx b/src/app/activity/page.tsx index 842e160..6523919 100644 --- a/src/app/activity/page.tsx +++ b/src/app/activity/page.tsx @@ -49,6 +49,7 @@ export default function ActivityPage() { const [deleteConfirm, setDeleteConfirm] = useState(false); const [smartDefault, setSmartDefault] = useState(null); const [pendingDeleteId, setPendingDeleteId] = useState<{ id: string; type: string } | null>(null); + const [daySheetDate, setDaySheetDate] = useState(null); const childId = providerChildId ?? ""; useEffect(() => { @@ -113,6 +114,7 @@ export default function ActivityPage() { const dateStr = d.toDateString(); const dayLogs = logs.filter(l => new Date(l.loggedAt).toDateString() === dateStr); return { + date: dateStr, label: i === 0 ? "Today" : i === 1 ? "Yest." : d.toLocaleDateString("en-IN", { weekday: "short" }), feed: dayLogs.filter(l => l.type === "feed").length, sleep: dayLogs.filter(l => l.type === "sleep").length, @@ -213,31 +215,7 @@ export default function ActivityPage() { {!loading && ( <> - {/* 4-day overview strip β€” oldest β†’ newest (left β†’ right) */} -
- {[...last4Days].reverse().map(d => { - const isToday = d.label === "Today"; - return ( -
-

- {d.label} -

-

πŸΌΓ—{d.feed}

-

πŸ˜΄Γ—{d.sleep}

-

πŸšΌΓ—{d.diaper}

-
- ); - })} -
- - {/* Collapsible guidelines card */} + {/* Collapsible guidelines card β€” above strip */} {child && guide && showSuggested && (
+ ); + })} +
)} @@ -441,6 +442,88 @@ export default function ActivityPage() { )} + {/* Day detail sheet β€” tap a day chip to view & edit that day's logs */} + {daySheetDate && (() => { + const sheetLogs = logs + .filter(l => new Date(l.loggedAt).toDateString() === daySheetDate) + .sort((a, b) => new Date(b.loggedAt).getTime() - new Date(a.loggedAt).getTime()); + const sheetLabel = formatDayLabel(daySheetDate); + return ( + <> +
setDaySheetDate(null)} + /> +
+ {/* Sheet header */} +
+
+

{sheetLabel}

+

+ {sheetLogs.length} log{sheetLogs.length !== 1 ? "s" : ""} Β· tap any entry to edit or delete +

+
+ +
+ + {/* Log list */} +
+ {sheetLogs.length === 0 ? ( +
+

πŸ“‹

+

No logs for {sheetLabel}

+

Use β‹― β†’ Generate sample history to pre-fill your schedule

+
+ ) : ( + sheetLogs.map(log => ( + + )) + )} +
+ + {/* Quick-add row */} +
+ {(["feed", "sleep", "diaper"] as ModalLogType[]).map(t => ( + + ))} +
+
+ + ); + })()} +