- {/* Pulse logo */}
-
-

-
-
-
-
- {/* Home */}
-
-
-
-
-
- Your Sites
-
-
-
- {/* Site favicons */}
-
- {sites.map((site) => {
- const isActive = currentSiteId === site.id
- const siteSection = pathname.replace(/^\/sites\/[^/]+/, '')
- return (
-
-
-

-
-
- {site.name}
-
-
- )
- })}
-
- {/* Add new site */}
-
-
-
-
-
- Add new site
-
-
-
-
-
-
- {/* Bottom: Notifications + Profile */}
-
-
-
-
- Notifications
-
-
-
- router.push('/onboarding')}
- allowPersonalOrganization={false}
- onOpenSettings={openSettings}
- onOpenOrgSettings={openOrgSettings}
- compact
- anchor="right"
- />
-
- {user?.display_name?.trim() || 'Profile'}
-
-
-
-
+
-
- {children}
-
+
+
+
+
+
+
+
+ {collapsed && (
+
+ {label}
+
+ )}
)
}
-function SidebarPanel({
- collapsed, siteId, sites, canEdit, pendingHref, onNavigate, onMobileClose, isMobile,
+// ─── Home Site Link (favicon + name) ───────────────────────
+
+function HomeSiteLink({
+ site, collapsed, onClick,
}: {
- collapsed: boolean; siteId: string | null; sites: Site[]; canEdit: boolean
- pendingHref: string | null; onNavigate: (href: string) => void
- onMobileClose?: () => void; isMobile?: boolean
+ site: Site; collapsed: boolean; onClick?: () => void
}) {
- const c = isMobile ? false : collapsed
- const mobileClick = isMobile ? onMobileClose : undefined
+ const pathname = usePathname()
+ const href = `/sites/${site.id}`
+ const active = pathname.startsWith(href)
return (
-
-
- {/* Panel nav content */}
-