diff --git a/frontend/src/lib/components/sidebar/nav-main.svelte b/frontend/src/lib/components/sidebar/nav-main.svelte index 809ab499..e21cdf95 100644 --- a/frontend/src/lib/components/sidebar/nav-main.svelte +++ b/frontend/src/lib/components/sidebar/nav-main.svelte @@ -1,7 +1,9 @@ @@ -26,43 +81,118 @@ {#each items as item (item.title)} {#if item.items && item.items.length > 0} - - - {#snippet child({ props })} - - + {#if sidebar.state === "collapsed"} + + + onOpenChange(v, item.title)} + modal={false} + > + {#snippet child({ props })} - - {#if item.icon} - - {/if} - {item.title} - - +
handleTriggerEnter(item.title)} + onpointerleave={(e) => handleTriggerLeave(e, item.title)} + > + + {#if item.icon} + + {:else} +
+ {/if} + + {item.title} + +
{/snippet} - - - - {#each item.items as subItem (subItem.title)} - - - {#snippet child({ props })} - - {subItem.title} - - {/snippet} - - - {/each} - - - - {/snippet} - + + handleContentEnter(item.title)} + onpointerleave={(e) => handleContentLeave(e, item.title)} + > + +
+ {#if item.icon} + + {:else} +
+ {/if} +
+ + +
+ + +
+ {item.title} +
+ + + {#each item.items as subItem (subItem.title)} + + + {subItem.title} + + + {/each} + +
+ + + + {:else} + + + {#snippet child({ props })} + + + {#snippet child({ props })} + + {#if item.icon} + + {/if} + {item.title} + + + {/snippet} + + + + {#each item.items as subItem (subItem.title)} + + + {#snippet child({ props })} + + {subItem.title} + + {/snippet} + + + {/each} + + + + {/snippet} + + {/if} {:else} - + {#snippet child({ props })} @@ -79,3 +209,4 @@ {/each} + diff --git a/frontend/src/lib/components/ui/sidebar/sidebar.svelte b/frontend/src/lib/components/ui/sidebar/sidebar.svelte index 3e9eba99..ff6db698 100644 --- a/frontend/src/lib/components/ui/sidebar/sidebar.svelte +++ b/frontend/src/lib/components/ui/sidebar/sidebar.svelte @@ -80,7 +80,7 @@