diff --git a/frontend/app/trees/[id]/tree/page.tsx b/frontend/app/trees/[id]/tree/page.tsx index ce33b7c..af2547b 100644 --- a/frontend/app/trees/[id]/tree/page.tsx +++ b/frontend/app/trees/[id]/tree/page.tsx @@ -42,6 +42,8 @@ export default function TreePage() { const [events, setEvents] = useState([]); const [status, setStatus] = useState<"loading" | "empty" | "ready" | "error">("loading"); const [focusId, setFocusId] = useState(null); + // The tree's default/home person — lets us offer a "recenter on default" jump. + const [homeId, setHomeId] = useState(null); const [mode, setMode] = useState("landscape"); const [renderNote, setRenderNote] = useState(null); @@ -67,6 +69,7 @@ export default function TreePage() { setPeople(ppl); setRels(r.data ?? []); setEvents(e.data ?? []); + setHomeId(homeId); // Honor an explicit ?focus first (came from a person page / a shared // link), then the tree's default/home person, then the first person. const fromUrl = initialFocus.current && ppl.some((x) => x.id === initialFocus.current) @@ -288,6 +291,16 @@ export default function TreePage() { )} + {homeId && focusId !== homeId && ( + + )}