diff --git a/client/src/pages/LitterList.jsx b/client/src/pages/LitterList.jsx new file mode 100644 index 0000000..a3720d4 --- /dev/null +++ b/client/src/pages/LitterList.jsx @@ -0,0 +1,62 @@ +import { useEffect, useState } from 'react' +import { Activity } from 'lucide-react' +import axios from 'axios' + +function LitterList() { + const [litters, setLitters] = useState([]) + const [loading, setLoading] = useState(true) + + useEffect(() => { + fetchLitters() + }, []) + + const fetchLitters = async () => { + try { + const res = await axios.get('/api/litters') + setLitters(res.data) + setLoading(false) + } catch (error) { + console.error('Error fetching litters:', error) + setLoading(false) + } + } + + if (loading) { + return
Loading litters...
+ } + + return ( +
+

Litters

+ + {litters.length === 0 ? ( +
+ +

No litters recorded yet

+

Start tracking breeding records

+
+ ) : ( +
+ {litters.map(litter => ( +
+

{litter.sire_name} × {litter.dam_name}

+

+ Breeding Date: {new Date(litter.breeding_date).toLocaleDateString()} +

+ {litter.whelping_date && ( +

+ Whelping Date: {new Date(litter.whelping_date).toLocaleDateString()} +

+ )} +

+ Puppies: {litter.puppy_count || litter.puppies?.length || 0} +

+
+ ))} +
+ )} +
+ ) +} + +export default LitterList \ No newline at end of file