Files
backend_v2/internal/handler/templates/partials.html
toom1996 c3a6baa419 update
2026-09-22 21:40:04 +08:00

38 lines
2.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{/*
共享片段:所有后台页面通用的顶部导航与翻页器。
由 templates.go 在启动时与 layout.html 一起解析进「基模板」,各页面模板只需
{{template "bar" .}} / {{template "pager" .Pager}} 引用,改一处即全局生效
—— 这也是把导航从 14 份复制粘贴里提出来、补全模块入口的原因。
页面需要提供的数据:
.NavKey 由 renderPage 自动注入(= 当前页面名),用于导航高亮
.PendingReviews 由 backstageNavStats 中间件注入(待审总数,导航角标)
barLabel/barRight 两个 define 由各页面模板自己提供(见 pages/*.html)
*/}}
{{define "bar"}}
<div class="bar">
<span class="bar-title">{{template "barLabel" .}}</span>
<nav class="bar-nav">
<a href="/admin/" class="{{if eq .NavKey "dashboard"}}on{{end}}">首页</a>
<a href="/admin/reviews" class="{{if or (eq .NavKey "review-list") (eq .NavKey "review-detail")}}on{{end}}">审核{{if gt .PendingReviews 0}}<span class="bar-badge">{{.PendingReviews}}</span>{{end}}</a>
<a href="/admin/runways" class="{{if or (eq .NavKey "runways") (eq .NavKey "runway-detail") (eq .NavKey "runway-edit")}}on{{end}}">走秀</a>
<a href="/admin/street-snaps" class="{{if or (eq .NavKey "street-snaps") (eq .NavKey "street-snap-detail") (eq .NavKey "snap-edit")}}on{{end}}">街拍</a>
<a href="/admin/brands" class="{{if or (eq .NavKey "brands") (eq .NavKey "brand-form")}}on{{end}}">品牌</a>
<a href="/admin/ingest-jobs" class="{{if eq .NavKey "ingest-jobs"}}on{{end}}">入库任务</a>
<a href="/admin/users" class="{{if eq .NavKey "users"}}on{{end}}">用户</a>
<span class="sep"></span>
{{template "barRight" .}}
</nav>
</div>
{{end}}
{{define "pager"}}
<div class="pager">
{{if .HasPrev}}<a href="{{.PrevURL}}">上一页</a>{{else}}<a class="off">上一页</a>{{end}}
{{if .Label}}<span class="muted">{{.Label}}</span>{{end}}
{{if .HasNext}}<a href="{{.NextURL}}">下一页</a>{{else}}<a class="off">下一页</a>{{end}}
</div>
{{end}}