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}
+ {/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}