numerus/web/template/app.gohtml

109 lines
4.8 KiB
Plaintext

<!doctype html>
<html lang="{{ currentLocale }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ template "title" . }} — Numerus</title>
<link rel="stylesheet" type="text/css" media="screen" href="/static/numerus.css?v={{ numerusVersion }}">
<script src="/static/htmx@1.9.2.min.js"></script>
<script type="module" src="/static/custom-elements@1.3.0.min.js"></script>
<script type="module" src="/static/numerus.js?v={{ numerusVersion }}"></script>
<script defer src="/static/alpinejs@3.12.0.min.js"></script>
</head>
<body class="filters-visible">
<header>
<h1><img src="/static/numerus.svg" alt="Numerus" width="168" height="21"></h1>
<nav aria-label="{{( pgettext "Main" "title" )}}" data-hx-target="main" data-hx-boost="true">
<ul>
<li><a{{if requestURIMatches (companyURI "/") }} aria-current="page"{{ end }} href="{{ companyURI "/" }}">{{( pgettext "Dashboard" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/quotes") }} aria-current="page"{{ end }} href="{{ companyURI "/quotes" }}">{{( pgettext "Quotations" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/invoices") }} aria-current="page"{{ end }} href="{{ companyURI "/invoices" }}">{{( pgettext "Invoices" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/expenses") }} aria-current="page"{{ end }} href="{{ companyURI "/expenses" }}">{{( pgettext "Expenses" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/payments") }} aria-current="page"{{ end }} href="{{ companyURI "/payments" }}">{{( pgettext "Payments" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/products") }} aria-current="page"{{ end }} href="{{ companyURI "/products" }}">{{( pgettext "Products" "nav" )}}</a></li>
<li><a{{if requestURIHasPrefix (companyURI "/contacts") }} aria-current="page"{{ end }} href="{{ companyURI "/contacts" }}">{{( pgettext "Contacts" "nav" )}}</a></li>
</ul>
</nav>
<details id="profile-menu" class="menu">
<summary aria-label="{{( gettext "Profile menu" )}}">
<i class="ri-user-6-line ri-2x"></i>
</summary>
<ul role="menu" class="action-menu" data-hx-push-url="false" data-hx-swap="beforeend">
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/profile" }}" data-hx-boost="true">
<i class="ri-user-6-line"></i>
{{( pgettext "Account" "menu" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/tax-details" }}">
<i class="ri-vip-diamond-line"></i>
{{( pgettext "Tax Details" "menu" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/invoicing"}}">
<i class="ri-file-paper-2-line"></i>
{{( pgettext "Invoicing and Quoting" "title" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/taxes"}}">
<i class="ri-government-line"></i>
{{( pgettext "Taxes" "title" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/payment-methods"}}">
<i class="ri-money-euro-circle-line"></i>
{{( pgettext "Payment Methods" "title" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/payment-accounts"}}">
<i class="ri-bank-card-2-line"></i>
{{( pgettext "Payment Accounts" "title" )}}
</a>
</li>
<li role="presentation">
<a role="menuitem" href="{{ companyURI "/switch-company" }}" data-hx-boost="true">
<i class="ri-briefcase-line"></i>
{{( pgettext "Switch Company" "menu" )}}
</a>
</li>
<li role="presentation">
<form method="POST" action="/logout">
{{ csrfToken }}
<button type="submit" role="menuitem">
<i class="ri-logout-circle-line"></i>
{{( pgettext "Logout" "action" )}}
</button>
</form>
</li>
</ul>
</details>
</header>
<main>
{{- template "breadcrumbs" . }}
{{- template "content" . }}
</main>
<footer>
<p><small>{{printf ( gettext "<a href=\"https://numerus.cat/\">Numerus</a> Version: %s") numerusVersion | unsafe}}</small></p>
</footer>
</body>
<div x-data="snackbar">
<div x-show="show"
@click="dismiss"
x-cloak
x-transition:enter="enter"
x-transition:enter-start="start"
x-transition:enter-end="end"
x-transition:leave="leave"
x-transition:leave-start="start"
x-transition:leave-end="end"
role="alert">
<p x-text="toast"></p>
</div>
</div>
</html>