Files
nebula/layouts/base.templ
Prad Nukala 30ed4e9ec7 refactor(components): extract breadcrumb into sub-components
fix(docs): document breadcrumb components

refactor(sdk): migrate to new navigation components
feat(sdk): create isolated sidebar component

breaking(components): deprecate old topbar component

feat(components): create new topbar components

feat(components): create user dropdown

feat(components): create breadcrumb

feat(components): create navigation items

docs(components): document new components

perf(components): improve performance of sidebar

test(components): add test for navigation components
2026-01-05 18:41:05 -05:00

48 lines
1.4 KiB
Plaintext

package layouts
// Base provides the HTML document structure for all pages
templ Base(title string) {
<!DOCTYPE html>
<html lang="en" class="wa-cloak">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="color-scheme" content="light dark"/>
<title>{ title } - Sonr Motr Wallet</title>
<script>
(function() {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (prefersDark) document.documentElement.classList.add('wa-theme-dark');
})();
</script>
<script src="https://kit.webawesome.com/47c7425b971f443c.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/htmx.org@4.0.0-alpha5/dist/htmx.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/htmx-ext-preload@2.1.1/preload.js"></script>
<script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
<style>
:root {
--wa-color-primary: #17c2ff;
--sidebar-width: 64px;
}
html, body {
min-height: 100%;
padding: 0;
margin: 0;
cursor: default;
}
wa-button, a, [onclick], [hx-get], [hx-post] {
cursor: pointer;
}
</style>
</head>
<body hx-ext="preload">
{ children... }
<script>
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
document.documentElement.classList.toggle('wa-theme-dark', e.matches);
});
</script>
</body>
</html>
}