Files
2026-07-12 15:55:18 +05:30

28 lines
1012 B
Plaintext

// Public site layout: top nav + footer. Pages opt in with `layout = "public"`.
// A layout is a `component` with a <slot> where the page body is injected.
component PublicLayout {
view {
<div data-component="container">
<header class="site-header">
<strong class="site-brand">WrNexus</strong>
<nav class="site-nav">
<a href="/">{t:nav.home}</a>
<a href="/ui">{t:nav.ui}</a>
<a href="/chat">{t:nav.chat}</a>
<a href="/dashboard">{t:nav.dashboard}</a>
<a href="/about">{t:nav.about}</a>
<div data-component="theme-toggle" label="Theme"></div>
<button class="wire-btn wire-btn--ghost wire-btn--sm" data-wire-lang-set="en">EN</button>
<button class="wire-btn wire-btn--ghost wire-btn--sm" data-wire-lang-set="es">ES</button>
</nav>
</header>
<main>
<slot></slot>
</main>
<footer class="site-footer">Built with WrNexus · Wire UI + theming</footer>
</div>
}
}