Shrink menu item text and drop the border on the account dropdown

MenuItem used text-sm (14px) for its label, which read as oversized
for a dropdown; drop to text-xs (12px). This is a shared component
(AccountMenu, ContextMenu, MobileHeader's menu), so all of them get
the more compact sizing.

Add a border prop to GlassMenu (default true, unchanged for
ContextMenu) and set it false specifically on AccountMenu's dropdown,
per feedback that its border didn't fit.
This commit is contained in:
2026-09-22 20:19:58 +02:00
parent 94a1981a4c
commit 2138a4a890
3 changed files with 11 additions and 4 deletions
@@ -44,7 +44,10 @@
{@render trigger({ toggle, open })} {@render trigger({ toggle, open })}
{#if open} {#if open}
<GlassMenu class="absolute top-full right-0 z-(--z-menu) mt-2 overflow-hidden {WIDTH[width]}"> <GlassMenu
border={false}
class="absolute top-full right-0 z-(--z-menu) mt-2 overflow-hidden {WIDTH[width]}"
>
<MenuItem icon={User} label="Ver perfil" href="/user/{user.sub}" onclick={close} /> <MenuItem icon={User} label="Ver perfil" href="/user/{user.sub}" onclick={close} />
{@render extraItems?.({ close })} {@render extraItems?.({ close })}
{#if accountUrl} {#if accountUrl}
@@ -4,12 +4,16 @@
interface Props { interface Props {
class?: string; class?: string;
style?: string; style?: string;
border?: boolean;
children: Snippet; children: Snippet;
} }
let { class: klass = '', style = '', children }: Props = $props(); let { class: klass = '', style = '', border = true, children }: Props = $props();
</script> </script>
<div class="glass-panel animate-pop rounded-panel border border-hairline p-1.5 {klass}" {style}> <div
class="glass-panel animate-pop rounded-panel p-1.5 {border ? 'border border-hairline' : ''} {klass}"
{style}
>
{@render children()} {@render children()}
</div> </div>
@@ -24,7 +24,7 @@
}: Props = $props(); }: Props = $props();
const classes = $derived( const classes = $derived(
`flex w-full items-center gap-3 rounded-control px-2 py-2.5 text-left text-sm font-medium text-fg-2 transition hover:bg-hover ${klass}` `flex w-full items-center gap-3 rounded-control px-2 py-2.5 text-left text-xs font-medium text-fg-2 transition hover:bg-hover ${klass}`
); );
</script> </script>