Account pages
The account area belongs to the platform, but it should not look like a different website. A theme can wrap it in its own chrome.
AccountShell
Export an optional AccountShell and the platform renders its account pages inside it. Your header, your navigation, your footer, your type — the platform’s forms and data.
export function AccountShell({ children }: { children: React.ReactNode }) {
return (
<div className="account">
<SiteHeader />
<main className="account-main">{children}</main>
<SiteFooter />
</div>
);
}What stays platform-owned
Sign-in, order history, subscription management and addresses render inside your shell but are not yours to re-implement. They touch real orders and real money, so they behave identically on every theme — which is also what makes them safe to hand to a theme author at all.
Test signed-out too. A visitor hitting /account without a session sees the platform login form inside your shell. Check that your chrome looks right around a form you did not design.