feat(appshell): add org-switcher card and bump sidebar width to w-72
Introduces SidebarHeader.vue — a PrimeVue-only org-switcher that replaces the centered Crewli wordmark at the top of the sidebar. The component mirrors the legacy Vuetify OrganisationSwitcher (avatar with org initials, organisation name, plan-tier placeholder, dropdown chevron, PrimeVue Menu of available orgs) but cannot reuse it directly per the R-10 layout-shell-isolation invariant. Plan-tier shows a hardcoded "Pro" placeholder until the backend Organisation resource exposes a plan field — tracked separately, not in F3.5 scope. When the user has no active organisation (portal users, fresh super_admin), the component degrades to the original title block so PortalLayout continues to read "Crewli Portal". Desktop sidebar width bumped w-64 → w-72 (256 → 288 px) to give the org-switcher card breathing room and accommodate the user-info card arriving in B3. Mobile Drawer width bumped 16rem → 18rem to match. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -94,10 +94,8 @@ function toggleUserMenu(event: Event) {
|
||||
<template>
|
||||
<div class="crewli-app-shell flex min-h-screen">
|
||||
<!-- Desktop sidebar (lg+) -->
|
||||
<aside class="hidden lg:flex w-64 flex-col border-r border-surface-200 bg-surface-0">
|
||||
<div class="flex h-16 items-center justify-center border-b border-surface-200">
|
||||
<span class="text-xl font-semibold text-primary-500">{{ title }}</span>
|
||||
</div>
|
||||
<aside class="hidden lg:flex w-72 flex-col border-r border-surface-200 bg-surface-0">
|
||||
<SidebarHeader :title="title" />
|
||||
<nav class="flex-1 overflow-y-auto p-3">
|
||||
<template
|
||||
v-for="(item, idx) in navItems"
|
||||
@@ -130,12 +128,12 @@ function toggleUserMenu(event: Event) {
|
||||
v-model:visible="mobileNavOpen"
|
||||
position="left"
|
||||
class="lg:hidden"
|
||||
:pt="{ root: { style: { width: '16rem' } } }"
|
||||
:pt="{ root: { style: { width: '18rem' } }, header: { class: 'p-0' } }"
|
||||
>
|
||||
<template #header>
|
||||
<span class="text-lg font-semibold text-primary-500">{{ title }}</span>
|
||||
<SidebarHeader :title="title" />
|
||||
</template>
|
||||
<nav class="flex flex-col">
|
||||
<nav class="flex flex-col p-3">
|
||||
<template
|
||||
v-for="(item, idx) in navItems"
|
||||
:key="idx"
|
||||
|
||||
Reference in New Issue
Block a user