← back to Norma

components/TopThemeBar.tsx

22 lines

'use client';

// Client wrapper for the two top-of-page controls. Lives in app/layout.tsx so
// they render on EVERY page — including /login, /signup, /pulse, and the
// authenticated AppShell. Previously they only rendered after auth, which
// contradicted the "set theme and age at the start" intent.
//
// Both controls write to <body data-…>, so the CSS skins + age bands take
// effect immediately on hydration (no layout shift).

import InboxThemeBanner from './InboxThemeBanner';
import AgeThemeSlider from './AgeThemeSlider';

export default function TopThemeBar() {
  return (
    <>
      <InboxThemeBanner />
      <AgeThemeSlider />
    </>
  );
}