import { mdiBabyCarriage, mdiCross } from "@mdi/js"; import Icon from "@mdi/react"; import ChevronRightIcon from "@mui/icons-material/ChevronRight"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import { TreeItem, SimpleTreeView } from "@mui/x-tree-view"; import React from "react"; import { useNavigate } from "react-router-dom"; import { Couple } from "../api/genealogy/CoupleApi"; import { Member, fmtDate } from "../api/genealogy/MemberApi"; import { FamilyTreeNode } from "../utils/family_tree"; import { useFamily } from "./BaseFamilyRoute"; import { MemberPhoto } from "./MemberPhoto"; export function BasicFamilyTree(p: { tree: FamilyTreeNode; depth: number; }): React.ReactElement { return ( ); } function FamilyTreeItem(p: { depth: number; n: FamilyTreeNode; }): React.ReactElement { let children = p.n.down ?? []; if (p.n.couples) { for (const c of p.n.couples) { children = children.concat(c.down); } } return ( {p.n.couples?.map((c, n) => ( ))} } > {p.depth >= 2 && children.map((c) => ( ))} ); } function BasicFamilyMemberItem(p: { member: Member; primary?: boolean; couple?: Couple; }): React.ReactElement { const family = useFamily(); const n = useNavigate(); return (
n(family.family.memberURL(p.member))} >
{p.member.fullName} {p.couple?.state && `(${p.couple.stateFr}) `} {p.member?.dead && } {/* secondary information */} {p.member.dateOfBirth && ( <> {" "} {fmtDate(p.member.dateOfBirth)} )} {p.member.dateOfDeath && ( <> {fmtDate(p.member.dateOfDeath)} )}
); }