Stacked shell
Top-nav application shell with brand, primary links, user menu, and a mobile disclosure panel above page content.
Preview
Dashboard
Main content area
React preview
LiveView (HEEx)
alias DesignSystem.UI.StackedShell
<StackedShell.stacked_shell
id="app-shell"
brand_label="Goodbones"
page_title="Dashboard"
nav_links={[
%{label: "Dashboard", href: "/", active: true},
%{label: "Team", href: "/team", active: false}
]}
user_name={@current_user.name}
user_email={@current_user.email}
user_avatar={@current_user.avatar_url}
user_links={[
%{label: "Your profile", href: "/profile"},
%{label: "Sign out", href: "/sign_out"}
]}
>
Page content
</StackedShell.stacked_shell>
React (JSX)
import { StackedShell } from "../ui/index.mjs"
<StackedShell
brandLabel="Goodbones"
pageTitle="Dashboard"
navLinks={[
{ label: "Dashboard", href: "/", active: page === "dashboard" },
{ label: "Team", href: "/team" },
]}
userName={user.name}
userEmail={user.email}
userAvatar={user.avatarUrl}
userLinks={[
{ label: "Your profile", href: "/profile" },
{ label: "Sign out", href: "/sign_out" },
]}
>
{/* page content */}
</StackedShell>