← Files WixARCHIVED FILE

skills/wix-headless-templates/members/app-astro/layouts/SiteLayout.astro

1.56 KB · Oct 8, 2026 · 12:02 UTC

↓ Download file

See the change to this file →

---
// The site chrome for every members page — THIS file (header/footer/nav) plus the @theme
// token block in src/styles/global.css are what you brand. Keep the <slot name="seo-tags" />
// in <head>, the global.css import, and one <MemberMenu client:only="react"> in the header
// (it reads browser session state and must not server-render). (If another vertical is also
// deployed, its SiteLayout won — mount MemberMenu in that header instead.)
import MemberMenu from "../components/members/MemberMenu";
import "../styles/global.css";

interface Props {
  title: string;
  description?: string;
}
const { title, description } = Astro.props;
---

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>{title}</title>
    {description && <meta name="description" content={description} />}
    <slot name="seo-tags" />
  </head>
  <body>
    <header class="sticky top-0 z-40 border-b border-border bg-background/80 backdrop-blur">
      <div class="mx-auto flex h-16 max-w-6xl items-center justify-between px-6">
        <a href="/" class="text-base font-bold tracking-tight text-foreground no-underline">Brand Name</a>
        <nav class="flex items-center gap-6 text-sm">
          <MemberMenu client:only="react" />
        </nav>
      </div>
    </header>
    <main class="mx-auto max-w-6xl px-6 pb-24 pt-10">
      <slot />
    </main>
    <footer class="border-t border-border px-6 py-10 text-center text-sm text-muted-foreground">
      © Brand Name
    </footer>
  </body>
</html>

SHA-256: 048c3019dffd620abf223ad438bb1fb1d9555a47e0dbc04c1f0f4c587c828a75