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)}
>
)}
);
}