diff --git a/frontend/src/lib/components/StammbaumSidePanel.svelte b/frontend/src/lib/components/StammbaumSidePanel.svelte index 56d758fb..fda9d48b 100644 --- a/frontend/src/lib/components/StammbaumSidePanel.svelte +++ b/frontend/src/lib/components/StammbaumSidePanel.svelte @@ -1,28 +1,55 @@
@@ -124,6 +203,92 @@ const topDerived = $derived(derivedRels.slice(0, 5)); {/each} {/if} + + {#if canWrite} + {#if !addFormOpen} + + {:else} +
+ + +
+ + +
+ {#if yearError} + + {/if} + {#if saveError} + + {/if} +
+ + +
+ + {/if} + {/if} {#if topDerived.length > 0} diff --git a/frontend/src/routes/stammbaum/+page.svelte b/frontend/src/routes/stammbaum/+page.svelte index bb6d076c..b7c1cacb 100644 --- a/frontend/src/routes/stammbaum/+page.svelte +++ b/frontend/src/routes/stammbaum/+page.svelte @@ -15,6 +15,7 @@ interface Props { let { data }: Props = $props(); const focusId = $derived(page.url.searchParams.get('focus')); +const canWrite = $derived(page.data.canWrite ?? false); let selectedId = $state(null); $effect(() => { @@ -34,7 +35,10 @@ function zoomOut() { } -
+ +
@@ -102,7 +106,11 @@ function zoomOut() {
{#if selectedNode} {/if}