import { useEffect, useState } from 'react'
import { useParams, Link } from 'react-router-dom'
import { Dog, GitBranch, Edit, Trash2 } from 'lucide-react'
import axios from 'axios'
function DogDetail() {
const { id } = useParams()
const [dog, setDog] = useState(null)
const [loading, setLoading] = useState(true)
useEffect(() => {
fetchDog()
}, [id])
const fetchDog = async () => {
try {
const res = await axios.get(`/api/dogs/${id}`)
setDog(res.data)
setLoading(false)
} catch (error) {
console.error('Error fetching dog:', error)
setLoading(false)
}
}
if (loading) {
return
Loading...
}
if (!dog) {
return Dog not found
}
return (
{dog.name}
View Pedigree
Basic Information
Breed: {dog.breed}
Sex: {dog.sex === 'male' ? 'Male ♂' : 'Female ♀'}
{dog.birth_date && (
Birth Date: {new Date(dog.birth_date).toLocaleDateString()}
)}
{dog.color && (
Color: {dog.color}
)}
{dog.registration_number && (
Registration: {dog.registration_number}
)}
{dog.microchip && (
Microchip: {dog.microchip}
)}
Photos
{dog.photo_urls && dog.photo_urls.length > 0 ? (
{dog.photo_urls.map((url, index) => (

))}
) : (
)}
{dog.notes && (
)}
Parents
Sire (Father)
{dog.sire ? (
{dog.sire.name}
) : (
Unknown
)}
Dam (Mother)
{dog.dam ? (
{dog.dam.name}
) : (
Unknown
)}
{dog.offspring && dog.offspring.length > 0 && (
Offspring ({dog.offspring.length})
{dog.offspring.map(child => (
{child.name} - {child.sex === 'male' ? '♂' : '♀'}
))}
)}
)
}
export default DogDetail