- 新增 ?back= 贯穿链路:列表页(地点库 / 时间线 / 统计 / 专题地图 / 主页)生成详情链接时 带上当前完整地址,详情页的「返回」「编辑」与编辑页的返回按钮据此回到原来那份筛选结果。 只放行站内路径(挡 //host、伪协议、控制字符),参数编码走 template.URL 避免二次转义。 - 修 EditData.PageLink 把 & 手工写成 & 又被模板转义一次的 bug(&)—— 参数名会变成 amp;vpage,表现为「带筛选时翻页没反应、筛选还丢了」(既有问题)。 - 编辑页三个筛选表单与三个「重置」带上 back(重置改走 EditData.EditLink,各清各的, 顺带修掉搜索词含 & 或空格时重置链接被拆坏)。 - 详情页「在地图中查看」的地点名改走 QueryEscape(名字含 & / # 会拆坏地址)。 - 窄屏修正:把被基础规则压掉的 .chip / .btn / .check 覆盖挪到最后; checkbox 20px、select 44px、file/color 字号 16px(iOS 聚焦不再自放大整页)、 .tag 12px、导航 logo 触摸区 44×44。 - 新增回归 internal/web/pagelink_test.go(翻页链接、返回文案、地图链接)。
61 lines
2.2 KiB
HTML
61 lines
2.2 KiB
HTML
{{define "content"}}
|
||
<div class="wrap">
|
||
<div class="page-head">
|
||
<div>
|
||
<h1>时间线</h1>
|
||
<div class="sub">共 {{num .Total}} 条到访记录 · {{.RangeLabel}}</div>
|
||
</div>
|
||
</div>
|
||
|
||
{{if not .HasData}}
|
||
{{template "emptystate" .}}
|
||
{{else}}
|
||
{{template "filters" .}}
|
||
|
||
{{if .Days}}
|
||
<div class="card">
|
||
<div class="row" style="margin-bottom:6px">
|
||
<a class="btn sm {{if eq .Sort ""}}primary{{end}}" href="{{.Link .FilterBase "sort" ""}}">最新在前</a>
|
||
<a class="btn sm {{if eq .Sort "asc"}}primary{{end}}" href="{{.Link .FilterBase "sort" "asc"}}">最早在前</a>
|
||
</div>
|
||
</div>
|
||
|
||
{{range .Days}}
|
||
<div class="timeline-day">
|
||
<div class="dh">
|
||
<span>{{.Label}}</span>
|
||
<span class="muted">{{num (len .Items)}} 条 · 停留 {{dur .Dwell}}</span>
|
||
</div>
|
||
{{range .Items}}
|
||
<div class="tl-item">
|
||
<div class="tm">{{hm .Arrival}}</div>
|
||
<div class="ln"><i style="background:{{colorof .Color}}"></i></div>
|
||
<div class="bd">
|
||
<div>
|
||
{{if .PlaceID}}<a href="{{$.PlaceLink .PlaceID}}">{{if .PlaceName}}{{.PlaceName}}{{else}}未命名地点{{end}}</a>{{else}}未命名地点{{end}}
|
||
{{if .ActivityName}}<span class="chip" style="padding:1px 8px;font-size:11.5px"><span class="dot" style="background:{{colorof .Color}}"></span>{{.ActivityName}}</span>{{end}}
|
||
{{range .Tags}}<span class="tag">{{.}}</span>{{end}}
|
||
</div>
|
||
<div class="meta">
|
||
{{if .Departure}}{{hm .Arrival}} – {{hm .Departure}} · {{end}}停留 {{dur .DurationMin}}
|
||
{{if .City}} · {{.City}}{{end}}
|
||
{{if .Remark}} · {{.Remark}}{{end}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{{end}}
|
||
</div>
|
||
{{end}}
|
||
|
||
{{template "pager" .}}
|
||
{{else}}
|
||
<div class="card"><div class="empty">
|
||
<div class="big">📭</div>
|
||
<div>没有符合条件的到访记录。</div>
|
||
<div style="margin-top:12px"><a class="btn" href="{{.FilterBase}}">清空筛选条件</a></div>
|
||
</div></div>
|
||
{{end}}
|
||
{{end}}
|
||
</div>
|
||
{{end}}
|