diff --git a/src/app/activity/page.tsx b/src/app/activity/page.tsx index 6523919..8aeb685 100644 --- a/src/app/activity/page.tsx +++ b/src/app/activity/page.tsx @@ -49,7 +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 [daySheetDate, setDaySheetDate] = useState<{ date: string; type: LogType } | null>(null); const childId = providerChildId ?? ""; useEffect(() => { @@ -258,25 +258,50 @@ export default function ActivityPage() { )} - {/* 4-day overview strip β€” oldest β†’ newest, each chip tappable */} + {/* 4-day overview strip β€” oldest β†’ newest, each row independently tappable */}
{[...last4Days].reverse().map(d => { const isToday = d.label === "Today"; + const rows: { type: LogType; icon: string; count: number }[] = [ + { type: "feed", icon: "🍼", count: d.feed }, + { type: "sleep", icon: "😴", count: d.sleep }, + { type: "diaper", icon: "🚼", count: d.diaper }, + ]; return ( - +
+ + {/* Each row is its own tap target */} + {rows.map((row, idx) => ( + + ))} + ); })} @@ -442,12 +467,18 @@ export default function ActivityPage() { )} - {/* Day detail sheet β€” tap a day chip to view & edit that day's logs */} + {/* Day-type detail sheet β€” tap a specific row (feed/sleep/diaper) on a day chip */} {daySheetDate && (() => { + const { date: sheetDateStr, type: sheetType } = daySheetDate; const sheetLogs = logs - .filter(l => new Date(l.loggedAt).toDateString() === daySheetDate) + .filter(l => + new Date(l.loggedAt).toDateString() === sheetDateStr && + l.type === sheetType + ) .sort((a, b) => new Date(b.loggedAt).getTime() - new Date(a.loggedAt).getTime()); - const sheetLabel = formatDayLabel(daySheetDate); + const sheetDayLabel = formatDayLabel(sheetDateStr); + const sheetTypeIcon = getIcon(sheetType); + const sheetTypeLabel = sheetType.charAt(0).toUpperCase() + sheetType.slice(1); return ( <>
{/* Sheet header */}
-
-

{sheetLabel}

-

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

+
+ {sheetTypeIcon} +
+

+ {sheetTypeLabel} Β· {sheetDayLabel} +

+

+ {sheetLogs.length === 0 + ? "Nothing logged β€” tap + to add" + : `${sheetLogs.length} entr${sheetLogs.length === 1 ? "y" : "ies"} Β· tap to edit or delete`} +

+
- ))} + {/* Single add button for this specific type */} +
+