diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 39c395c..e817cef 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -13,6 +13,7 @@ let { children, data }: { children: Snippet; data: { user: any; tenant: any; theme?: string } } = $props(); let mobileMenuOpen = $state(false); + let profileMenuOpen = $state(false); const theme = $derived(getTheme()); onMount(() => { @@ -22,8 +23,16 @@ return () => disconnectSocket(); } }); + + function handleProfileClickOutside(e: MouseEvent) { + if (profileMenuOpen && !(e.target as HTMLElement).closest('.profile-menu')) { + profileMenuOpen = false; + } + } + +
- {#if mobileMenuOpen} + {#if mobileMenuOpen && data.user}
- {#if data.user} -
- -
-
- (mobileMenuOpen = false)}> - - {data.user.name} +
+ +
+
+ (mobileMenuOpen = false)}> + My Work + + (mobileMenuOpen = false)}> + Boards + + (mobileMenuOpen = false)}> + Profile + + {#if data.user.tenantRole === 'ADMIN' || data.user.globalRole === 'SITE_ADMIN'} + (mobileMenuOpen = false)}> + Admin - {#if data.user.globalRole === 'SITE_ADMIN'} - (mobileMenuOpen = false)} - > - Site Admin - - {/if} - {#if data.user.tenantRole === 'ADMIN' || data.user.globalRole === 'SITE_ADMIN'} - (mobileMenuOpen = false)} - > - Admin - - {/if} - (mobileMenuOpen = false)} - > - My Work + {/if} + {#if data.user.globalRole === 'SITE_ADMIN'} + (mobileMenuOpen = false)}> + Site Admin - (mobileMenuOpen = false)} - > - Boards - - -
- {:else} - - {/if} + {/if} + +
{/if}