<script setup lang="ts">
/**
 * OrganizerLayoutV2 — v2 shell layout selected by
 * definePage({ meta: { layout: 'OrganizerLayoutV2' } }) on pages-v2/**
 * (RFC-WS-GUI-REDESIGN AD-G2).
 *
 * Plan 2 Task 7 — composition only: fills AppShellV2's named slots with
 * the ported PrimeVue shell pieces (AppSidebar / AppTopbar / RightDrawer)
 * and renders routed pages via <RouterView/> in the default slot.
 *
 * Nav data is sourced HERE: the layouts zone may import @/navigation,
 * whereas components-v2 may NOT (import-boundary matrix). orgNavItems is
 * folded into V2NavGroup[] by useV2Nav() and passed to AppSidebar :groups.
 *
 * No provide/inject: each shell piece reads its own state from
 * useShellUiStore / useAuthStore (RFC AD-G4). This layout wires
 * composition + nav data only; it owns no shell state.
 */
import { orgNavItems } from '@/navigation/vertical'
import { useV2Nav } from '@/composables/useV2Nav'
import AppShellV2 from '@/layouts/components/AppShellV2.vue'
import AppSidebar from '@/components-v2/layout/AppSidebar.vue'
import AppTopbar from '@/components-v2/layout/AppTopbar.vue'
import RightDrawer from '@/components-v2/layout/RightDrawer.vue'

const { groups } = useV2Nav(orgNavItems)
</script>

<template>
  <AppShellV2>
    <template #sidebar>
      <AppSidebar :groups="groups" />
    </template>

    <template #topbar>
      <AppTopbar />
    </template>

    <RouterView />

    <template #drawer>
      <RightDrawer />
    </template>
  </AppShellV2>
</template>
