diff --git a/frontend/src/lib/components/CreateTeamDialog.svelte b/frontend/src/lib/components/CreateTeamDialog.svelte
new file mode 100644
index 0000000..d9aaddf
--- /dev/null
+++ b/frontend/src/lib/components/CreateTeamDialog.svelte
@@ -0,0 +1,76 @@
+
+
+
+
+
+ Neues Team
+ Du wirst automatisch Owner.
+
+
+
+
+ e.key === 'Enter' && submit()} />
+
+ {#if error}
+
{error}
+ {/if}
+
+
+
+
+
+
+
diff --git a/frontend/src/lib/components/Logo.svelte b/frontend/src/lib/components/Logo.svelte
index b58ef14..1790b51 100644
--- a/frontend/src/lib/components/Logo.svelte
+++ b/frontend/src/lib/components/Logo.svelte
@@ -18,11 +18,11 @@
const url = $derived(team?.logo ? getFileURL(team, team.logo) : null)
-
+
diff --git a/frontend/src/lib/components/TeamMenu.svelte b/frontend/src/lib/components/TeamMenu.svelte
index ff4227b..4b5ee99 100644
--- a/frontend/src/lib/components/TeamMenu.svelte
+++ b/frontend/src/lib/components/TeamMenu.svelte
@@ -1,29 +1,110 @@
-
+
{#snippet child({ props })}
-
+
{/snippet}
-
- Teams wechseln
- {#each teams.records as t}
- {@const isMe = teams.isOwner(t) || teams.isAdmin(t)}
+
+
+ e.preventDefault()}
+ onmouseenter={enter}
+ onmouseleave={leave}
+ >
+ {#each teams.records as t (t.id)}
teams.setActive(t.id)}
+ onclick={() => switchTo(t.id)}
class={t.id === teams.activeId ? 'bg-accent' : ''}
>
{t.name}
@@ -33,11 +114,18 @@
Admin
{/if}
+ {:else}
+ Noch in keinem Team
{/each}
+
- goto('/dashboard/settings/team')}>
-
- Teams verwalten
+ (createDialog = true)}>
+
+ Team erstellen
+
+
+
diff --git a/frontend/src/routes/dashboard/+layout.svelte b/frontend/src/routes/dashboard/+layout.svelte
index a451e9d..805f2b0 100644
--- a/frontend/src/routes/dashboard/+layout.svelte
+++ b/frontend/src/routes/dashboard/+layout.svelte
@@ -1,8 +1,10 @@