90 lines
5.0 KiB
HTML
90 lines
5.0 KiB
HTML
<!doctype html>
|
|
<html lang="it">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Title}}</title>
|
|
<link rel="stylesheet" href="/static/css/app.css?v={{.BuildHash}}">
|
|
<script src="/static/vendor/htmx.min.js"></script>
|
|
<script src="/static/vendor/flowbite.js"></script>
|
|
</head>
|
|
<body class="bg-gray-50 text-gray-900 antialiased">
|
|
<nav class="border-b border-gray-200 bg-white">
|
|
<div class="mx-auto flex max-w-7xl flex-wrap items-center justify-between p-4">
|
|
<a href="/" class="flex items-center space-x-3 rtl:space-x-reverse">
|
|
<span class="self-center whitespace-nowrap text-xl font-semibold">Trustcontact</span>
|
|
</a>
|
|
|
|
<button data-collapse-toggle="navbar-main" type="button" class="inline-flex h-10 w-10 items-center justify-center rounded-lg p-2 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 md:hidden" aria-controls="navbar-main" aria-expanded="false">
|
|
<span class="sr-only">Apri menu principale</span>
|
|
<svg class="h-5 w-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 17 14">
|
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 1h15M1 7h15M1 13h15" />
|
|
</svg>
|
|
</button>
|
|
|
|
<div class="hidden w-full items-center justify-between md:order-1 md:flex md:w-auto" id="navbar-main">
|
|
<ul class="mt-4 flex flex-col gap-2 rounded-lg border border-gray-100 bg-gray-50 p-4 text-sm font-medium md:mt-0 md:flex-row md:items-center md:gap-1 md:border-0 md:bg-transparent md:p-0">
|
|
{{if .CurrentUser}}
|
|
<li>
|
|
<a href="/welcome" class="block rounded-lg px-3 py-2 {{if eq .NavSection "private"}}bg-blue-100 text-blue-700{{else}}text-gray-700 hover:bg-gray-100{{end}}">Dashboard</a>
|
|
</li>
|
|
<li>
|
|
<a href="/admin/users" class="block rounded-lg px-3 py-2 {{if eq .NavSection "users"}}bg-blue-100 text-blue-700{{else}}text-gray-700 hover:bg-gray-100{{end}}">Users</a>
|
|
</li>
|
|
{{if eq .CurrentUser.Role "admin"}}
|
|
<li>
|
|
<a href="/admin" class="block rounded-lg px-3 py-2 {{if eq .NavSection "admin"}}bg-blue-100 text-blue-700{{else}}text-gray-700 hover:bg-gray-100{{end}}">Admin</a>
|
|
</li>
|
|
{{end}}
|
|
{{else}}
|
|
<li>
|
|
<a href="/login" class="block rounded-lg px-3 py-2 {{if eq .NavSection "login"}}bg-blue-100 text-blue-700{{else}}text-gray-700 hover:bg-gray-100{{end}}">Login</a>
|
|
</li>
|
|
<li>
|
|
<a href="/signup" class="block rounded-lg px-3 py-2 {{if eq .NavSection "signup"}}bg-blue-100 text-blue-700{{else}}text-gray-700 hover:bg-gray-100{{end}}">Signup</a>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
|
|
{{if .CurrentUser}}
|
|
<div class="relative mt-4 md:mt-0 md:ms-4">
|
|
<button type="button" class="flex items-center rounded-full bg-gray-800 text-sm focus:ring-4 focus:ring-gray-300 md:me-0" id="user-menu-button" aria-expanded="false" data-dropdown-toggle="user-dropdown" data-dropdown-placement="bottom">
|
|
<span class="sr-only">Apri menu utente</span>
|
|
<span class="inline-flex h-9 w-9 items-center justify-center rounded-full bg-blue-600 font-semibold text-white">
|
|
{{if .CurrentUser.Name}}{{printf "%.1s" .CurrentUser.Name}}{{else}}{{printf "%.1s" .CurrentUser.Email}}{{end}}
|
|
</span>
|
|
</button>
|
|
<div class="z-50 my-4 hidden w-56 list-none divide-y divide-gray-100 rounded-lg bg-white text-base shadow-sm" id="user-dropdown">
|
|
<div class="px-4 py-3">
|
|
<span class="block truncate text-sm text-gray-900">{{if .CurrentUser.Name}}{{.CurrentUser.Name}}{{else}}Utente{{end}}</span>
|
|
<span class="block truncate text-sm text-gray-500">{{.CurrentUser.Email}}</span>
|
|
</div>
|
|
<ul class="py-2" aria-labelledby="user-menu-button">
|
|
<li><a href="/welcome" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Dashboard</a></li>
|
|
<li><a href="/admin/users" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Users</a></li>
|
|
</ul>
|
|
<div class="py-2">
|
|
<form action="/logout" method="post" class="px-2">
|
|
<button type="submit" class="block w-full rounded-lg px-2 py-2 text-left text-sm text-red-700 hover:bg-red-50">Logout</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="mx-auto max-w-7xl p-6">
|
|
{{template "_flash.html" .}}
|
|
{{template "content" .}}
|
|
</main>
|
|
|
|
<footer class="border-t border-gray-200 bg-white">
|
|
<div class="mx-auto max-w-7xl px-6 py-4 text-sm text-gray-500">
|
|
Trustcontact
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|