diff --git a/frontend/src/lib/family_tree/AddFamilyMember.svelte b/frontend/src/lib/family_tree/AddFamilyMember.svelte index 36c40ef..fb0aa34 100644 --- a/frontend/src/lib/family_tree/AddFamilyMember.svelte +++ b/frontend/src/lib/family_tree/AddFamilyMember.svelte @@ -1,7 +1,7 @@ - + + + + + ✕ + + Create your profile + + Create your profile to start building your family tree. You can add more information later. + + + First Name: + + + Middle Name: + + + Last Name: + + + Born: + + + Birthplace: + + + Mother's First Name: + + + Mother's Last Name: + + + Residence: + + + Titles: + + + Add + + + diff --git a/frontend/src/lib/family_tree/setFamilyTreeNodes.ts b/frontend/src/lib/family_tree/setFamilyTreeNodes.ts index adb768a..110aa64 100644 --- a/frontend/src/lib/family_tree/setFamilyTreeNodes.ts +++ b/frontend/src/lib/family_tree/setFamilyTreeNodes.ts @@ -7,8 +7,12 @@ import { useEdges, useNodes } from '@xyflow/svelte'; const nodes = useNodes(); const edges = useEdges(); -export function setFamilyTreeNodes() { +export function setFamilyTreeNodes(): boolean { console.log('fetching nodes'); + let layoutedElements: { + nodes: Node[]; + edges: Edge[]; + } = { nodes: [], edges: [] }; fetch_family_tree().then((data) => { let nodes_data: Node[] = []; function pushNodeToData(node: Node) { @@ -31,10 +35,11 @@ export function setFamilyTreeNodes() { AddToEdgesData(data, 5, pushEdgeToData); AddToEdgesData(data, 7, pushEdgeToData); - const layoutedElements = getLayoutedElements(nodes_data, edges_data, 'TB'); - + layoutedElements = getLayoutedElements(nodes_data, edges_data, 'TB'); nodes.set(layoutedElements.nodes); edges.set(layoutedElements.edges); + console.log('nodes fetched and set'); }); - console.log('nodes fetched and set'); + + return layoutedElements.nodes.length > 0; } diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index 060813a..0720846 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -18,7 +18,9 @@ login(); } else { console.log('user is authenticated'); - setFamilyTreeNodes(); + if (!setFamilyTreeNodes()){ + + }; } }); @@ -33,11 +35,8 @@ let height: number; function handleContextMenu({ detail: { event, node } }) { - // Prevent native context menu from showing event.preventDefault(); - - // Calculate position of the context menu. We want to make sure it - // doesn't get positioned off-screen. + menu = { id: node.data.ID, top: event.clientY < height - 200 ? event.clientY : undefined,
+ Create your profile to start building your family tree. You can add more information later. +