'use client'; import { useState } from 'react'; import { Box, Typography, Paper, List, ListItem, ListItemAvatar, ListItemText, Avatar, Chip, IconButton, Tabs, Tab, Button, } from '@mui/material'; import { Restaurant, Hotel, BabyChangingStation, Delete, Edit, FilterList, } from '@mui/icons-material'; import { AppShell } from '@/components/layouts/AppShell/AppShell'; import { ProtectedRoute } from '@/components/common/ProtectedRoute'; import { motion } from 'framer-motion'; import { formatDistanceToNow } from 'date-fns'; // Mock data - will be replaced with API calls const mockActivities = [ { id: '1', type: 'feeding', timestamp: new Date(Date.now() - 2 * 60 * 60 * 1000), details: 'Breast feeding - Left, 15 minutes', icon: , color: '#FFB6C1', }, { id: '2', type: 'diaper', timestamp: new Date(Date.now() - 3 * 60 * 60 * 1000), details: 'Diaper change - Wet', icon: , color: '#FFE4B5', }, { id: '3', type: 'sleep', timestamp: new Date(Date.now() - 5 * 60 * 60 * 1000), details: 'Sleep - 2h 30m, Good quality', icon: , color: '#B6D7FF', }, { id: '4', type: 'feeding', timestamp: new Date(Date.now() - 6 * 60 * 60 * 1000), details: 'Bottle - 120ml', icon: , color: '#FFB6C1', }, { id: '5', type: 'diaper', timestamp: new Date(Date.now() - 7 * 60 * 60 * 1000), details: 'Diaper change - Both', icon: , color: '#FFE4B5', }, ]; export default function HistoryPage() { const [filter, setFilter] = useState('all'); const [activities, setActivities] = useState(mockActivities); const filteredActivities = filter === 'all' ? activities : activities.filter((activity) => activity.type === filter); const handleDelete = (id: string) => { // TODO: Call API to delete activity setActivities(activities.filter((activity) => activity.id !== id)); }; return ( Activity History {/* Filter Tabs */} setFilter(newValue)} variant="scrollable" scrollButtons="auto" > } iconPosition="start" /> } iconPosition="start" /> } iconPosition="start" /> {/* Activity Timeline */} {filteredActivities.length === 0 ? ( No activities found ) : ( filteredActivities.map((activity, index) => ( handleDelete(activity.id)} > } > {activity.icon} {formatDistanceToNow(activity.timestamp, { addSuffix: true })} } /> )) )} {/* Daily Summary */} Today's Summary } label={`${activities.filter((a) => a.type === 'feeding').length} Feedings`} sx={{ bgcolor: '#FFB6C1', color: 'white' }} /> } label={`${activities.filter((a) => a.type === 'sleep').length} Sleep Sessions`} sx={{ bgcolor: '#B6D7FF', color: 'white' }} /> } label={`${activities.filter((a) => a.type === 'diaper').length} Diaper Changes`} sx={{ bgcolor: '#FFE4B5', color: 'white' }} /> ); }