build / build-and-test (push) Successful in 3m28s
1) 触摸小键盘 - 改为 3 列 × 4 行,底行 ⌫ / 0 / ✓(数字 1-9 按 123/456/789 排列) - 自定义按键样式:52px 高、圆角、按下位移反馈,确认键为主题绿,不再使用原生按钮外观 2) 日历格子 - 「待完成 / 总数」改为 34px 粗体、主题绿、靠左、垂直居中;左侧打手色竖条保留 - 仍不显示排单缩略信息 3) 抽屉时钟 - 修复不显示:根因是浏览器缓存了旧的 app.js(静态资源 max-age=300) - 所有 CSS/JS 链接改为 /static/app.css?v=<版本号>,升级后自动取新文件 - 字号放大到 30px、水平垂直居中、24 小时制精确到秒,日期小字放在下方 4) 已完成排单折叠 - 当日清单里已完成/已跳过的单子折叠成一行:尾号 + 姓名 + 套餐 + 状态 - 点这一行展开,显示剩余、打手、撤销打卡与⋯菜单(加急/追加);未完成的行不变 - 折叠箭头改为 CSS 三角,展开/收起有过渡动画 5) 背景 - 管理端背景横线彻底移除(已用浏览器截图确认),大屏网格背景保留 验证: - 无头 Chrome 实拍暗色/亮色两套日历页(shots/v16-dark.png、shots/v16-light.png) - 界面断言 14 项全部通过;原有 119 项验收回归全绿;go vet / go test ./... 通过 - 版本号 1.6.0
50 lines
2.8 KiB
HTML
50 lines
2.8 KiB
HTML
{{define "layout"}}<!doctype html>
|
|
<html lang="zh-CN"{{if .Theme}} data-theme="{{.Theme}}"{{end}}>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Title}} · 代打台</title>
|
|
<link rel="icon" href="/static/favicon.svg" type="image/svg+xml">
|
|
<link rel="stylesheet" href="/static/app.css?v={{.Version}}">
|
|
</head>
|
|
<body>
|
|
{{if .User}}
|
|
<header class="topbar">
|
|
<a class="brand" href="/calendar"><span class="brand-mark">代</span><span class="brand-name">代打台</span></a>
|
|
<form class="search" action="/customers" method="get" role="search">
|
|
<input type="search" name="q" value="{{.Query}}" placeholder="手机尾号 / 姓名 / 游戏名" aria-label="搜索客户" autocomplete="off" data-search>
|
|
<kbd>/</kbd>
|
|
</form>
|
|
<nav class="nav">
|
|
<a href="/calendar" class="{{if eq .Nav "calendar"}}on{{end}}">日历</a>
|
|
<a href="/customers" class="{{if eq .Nav "customers"}}on{{end}}">客户</a>
|
|
<a href="/subscriptions" class="{{if eq .Nav "subscriptions"}}on{{end}}">订阅</a>
|
|
<a href="/packages" class="{{if eq .Nav "packages"}}on{{end}}">套餐</a>
|
|
<a href="/screen" target="_blank" rel="noopener" class="nav-screen">大屏 ↗</a>
|
|
</nav>
|
|
<div class="topbar-right">
|
|
<a class="pill pill-due" href="/subscriptions?state=due_today" title="今天到期的订阅">今日到期 <b>{{.DueToday}}</b></a>
|
|
<a class="pill pill-warn" href="/subscriptions?state=due3" title="3 天内到期">3 天内 <b>{{.Due3}}</b></a>
|
|
<a class="pill" href="/subscriptions?state=due7" title="7 天内到期">7 天内 <b>{{.Due7}}</b></a>
|
|
<button class="theme-toggle" type="button" data-theme-toggle aria-label="切换亮色/暗色" title="切换亮色/暗色">
|
|
<span class="ic-moon" aria-hidden="true">☾</span><span class="ic-sun" aria-hidden="true">☀</span>
|
|
</button>
|
|
<div class="me">
|
|
<a href="/settings">{{if .User.DisplayName}}{{.User.DisplayName}}{{else}}{{.User.Username}}{{end}}</a>
|
|
<form method="post" action="/logout"><button type="submit" class="link-btn">退出</button></form>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
{{else}}
|
|
<button class="theme-toggle auth-theme" type="button" data-theme-toggle aria-label="切换亮色/暗色" title="切换亮色/暗色">
|
|
<span class="ic-moon" aria-hidden="true">☾</span><span class="ic-sun" aria-hidden="true">☀</span>
|
|
</button>
|
|
{{end}}
|
|
{{if .Flash}}<div class="flash" data-flash>{{.Flash}}</div>{{end}}
|
|
{{if .Error}}<div class="flash flash-error">{{.Error}}</div>{{end}}
|
|
<main{{if .User}} class="with-top"{{end}}>{{template "content" .}}</main>
|
|
{{if .User}}<footer class="foot">代打台 v{{.Version}} · <a href="/logs">操作日志</a> · <a href="/settings">设置</a> · <a href="/screen" target="_blank" rel="noopener">大屏</a></footer>{{end}}
|
|
<script src="/static/app.js?v={{.Version}}" defer></script>
|
|
</body>
|
|
</html>{{end}}
|