/images offers the models that make pictures, and the chat no longer offers them. Like the chat, the browser holds a session and never a key; the page's request is rebuilt from its own fields and sent down the path every /v1/images/generations request takes. Size, how many, seed, steps and a negative prompt; each picture shown with its seed, a download link and a way to make it again. Nothing is kept but the usage. The menu offers the page while some model makes pictures. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
41 lines
2.2 KiB
HTML
41 lines
2.2 KiB
HTML
{{/* The one menu every signed-in page draws. The order never changes and the
|
|
page you are on is marked, not offered, so moving between pages reads as
|
|
moving within one program. */}}
|
|
{{define "nav"}}<nav class="menu" aria-label="{{t "nav.aria"}}">
|
|
{{- if and .Org (not .Admin)}}
|
|
<a href="/org"{{if eq .Current "org"}} aria-current="page"{{end}}>{{t "nav.org"}}</a>
|
|
<span class="menu-gap" aria-hidden="true"></span>
|
|
{{- end}}
|
|
{{- if and .Admin (eq .Role "billing")}}
|
|
<a href="/admin/usage"{{if eq .Current "usage"}} aria-current="page"{{end}}>{{t "nav.usage"}}</a>
|
|
<a href="/admin/quotas"{{if eq .Current "quotas"}} aria-current="page"{{end}}>{{t "nav.quotas"}}</a>
|
|
<span class="menu-gap" aria-hidden="true"></span>
|
|
{{- else if .Admin}}
|
|
<a href="/admin"{{if eq .Current "cluster"}} aria-current="page"{{end}}>{{t "nav.cluster"}}</a>
|
|
{{- /* Limits and usage are tabs of the people page, not pages of their own. */}}
|
|
<a href="/admin/users"{{if eq .Current "people"}} aria-current="page"{{end}}>{{t "nav.people"}}</a>
|
|
{{- if .Mirror}}
|
|
<a href="/admin/mirror"{{if eq .Current "mirror"}} aria-current="page"{{end}}>{{t "nav.mirror"}}</a>
|
|
{{- end}}
|
|
{{- if .Guard}}
|
|
<a href="/admin/guard"{{if eq .Current "guard"}} aria-current="page"{{end}}>{{t "nav.guard"}}</a>
|
|
{{- end}}
|
|
{{- if .Settings}}
|
|
<a href="/admin/settings"{{if eq .Current "settings"}} aria-current="page"{{end}}>{{t "nav.settings"}}</a>
|
|
{{- end}}
|
|
{{- /* An organization is a panel of the people page for an administrator;
|
|
/org is the managers' view, and leads an administrator there. */}}
|
|
<span class="menu-gap" aria-hidden="true"></span>
|
|
{{- end}}
|
|
<a href="/chat"{{if eq .Current "chat"}} aria-current="page"{{end}}>{{t "nav.chat"}}</a>
|
|
{{- if .Images}}
|
|
<a href="/images"{{if eq .Current "images"}} aria-current="page"{{end}}>{{t "nav.images"}}</a>
|
|
{{- end}}
|
|
<a href="/profile"{{if eq .Current "keys"}} aria-current="page"{{end}}>{{t "nav.account"}}</a>
|
|
<a href="/docs"{{if eq .Current "docs"}} aria-current="page"{{end}}>{{t "nav.docs"}}</a>
|
|
<form method="post" action="/logout" class="inline">
|
|
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
|
<button type="submit" class="link">{{t "nav.sign_out"}}</button>
|
|
</form>
|
|
</nav>{{end}}
|