feat(header): shadcn NavigationMenu replaces hand-rolled dropdowns
Install the shadcn-vue NavigationMenu component family at src/components/ui/navigation-menu (NavigationMenu / NavigationMenuList / NavigationMenuItem / NavigationMenuTrigger / NavigationMenuContent / NavigationMenuLink / NavigationMenuIndicator / NavigationMenuViewport + navigationMenuTriggerStyle cva). Files came in via the registry JSON (www.shadcn-vue.com/r/styles/default/navigation-menu.json) because the CLI's corepack pnpm shim conflicts with our nix-managed pnpm — handle that more cleanly later. Adds @vueuse/core as a runtime dependency (reactiveOmit / useForwardProps inside the navigation-menu primitives). Two upstream fixes applied: 1. NavigationMenuTrigger imports ChevronDown from "@lucide/vue", not the deprecated "lucide-vue-next" the registry ships by default. 2. NavigationMenuViewport's height/width CSS variable references use Tailwind v3 syntax — h-[--reka-navigation-menu-viewport-height] — which renders as a literal string under Tailwind v4, collapsing the viewport to 2px. Wrap them in var() so v4 resolves them correctly: h-[var(--reka-navigation-menu-viewport-height)]. SiteHeader desktop nav: drop the custom openGroup ref, the document-level click/keydown listeners and the v-show toggle in favour of NavigationMenuTrigger + NavigationMenuContent for the four group dropdowns (Concept / What's On / Collaborate / Reservations), plus a flat Marketplace link styled with navigationMenuTriggerStyle. Hover/focus/open states all use bg-muted + text-primary to preserve the green-bg/gold-text feel from the hand-rolled nav. Mobile menu stays hand-rolled for this commit; Sheet refactor lands in a follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d56664abf9
commit
262fb039a8
12 changed files with 272 additions and 62 deletions
3
pnpm-lock.yaml
generated
3
pnpm-lock.yaml
generated
|
|
@ -14,6 +14,9 @@ importers:
|
|||
'@vee-validate/zod':
|
||||
specifier: ^4.15.1
|
||||
version: 4.15.1(vue@3.5.34(typescript@6.0.3))(zod@3.25.76)
|
||||
'@vueuse/core':
|
||||
specifier: ^14.3.0
|
||||
version: 14.3.0(vue@3.5.34(typescript@6.0.3))
|
||||
class-variance-authority:
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue