54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
package templates
|
|
|
|
templ baseLayout(pc PageContext) {
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"/>
|
|
<link rel="stylesheet" href="/static/styles.css"/>
|
|
<script src="/static/js/htmx.min.js"></script>
|
|
<title>{ pc.Title }</title>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<h1 class="mt-3 mb-3 text-center">
|
|
Fiber + sessions + templ + htmx demo
|
|
</h1>
|
|
<ul class="nav nav-pills mb-5">
|
|
<li class="nav-item">
|
|
<a class={ "nav-link", templ.KV("active", pc.ActivePage == "home") } href="/">
|
|
Home
|
|
</a>
|
|
</li>
|
|
if pc.RequestSession.UserAuthenticated() {
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/logout">
|
|
Logout
|
|
</a>
|
|
</li>
|
|
} else {
|
|
<li class="nav-item">
|
|
<a class={ "nav-link", templ.KV("active", pc.ActivePage == "login") } href="/login">
|
|
Login
|
|
</a>
|
|
</li>
|
|
}
|
|
<li class="nav-item">
|
|
<a class={ "nav-link", templ.KV("active", pc.ActivePage == "interactive") } href="/interactive">
|
|
Interactive
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
if pc.RequestSession.UserAuthenticated() {
|
|
<p class="alert alert-warning">
|
|
Hello, { pc.RequestSession.User.FirstName }
|
|
</p>
|
|
}
|
|
{ children... }
|
|
</div>
|
|
</body>
|
|
</html>
|
|
}
|