fix: keep mobile recording filters readable
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
# v0.1.39 — 手机录像筛选布局
|
||||||
|
|
||||||
|
在 v0.1.38 录像修复基础上调整小屏幕回放表单:镜头、录像来源、日期和查询按钮纵向排列,控件保持完整宽度,避免三个选择框挤在一行。
|
||||||
|
|
||||||
|
本版仅调整前端;保留 v0.1.38 的 30 天默认留存、容量保护、录像状态与时间精度修复。设备数据及录像配置不迁移。生产更新仅重启网页服务,持续录像的 MediaMTX 进程保留。
|
||||||
|
|
||||||
|
验证:141 项 JavaScript 回归测试与 Vue / Bootstrap 生产构建通过;后端沿用已通过 173 项回归的 v0.1.38 实现。
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "zhao-steward-ui",
|
"name": "zhao-steward-ui",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.38",
|
"version": "0.1.39",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
|
|||||||
Vendored
+5
@@ -219,6 +219,11 @@ html[data-density="compact"] .card-body { padding: 18px; }
|
|||||||
.home-card-actions { gap: 8px; flex-wrap: wrap; }
|
.home-card-actions { gap: 8px; flex-wrap: wrap; }
|
||||||
.btn { min-height: 44px; }
|
.btn { min-height: 44px; }
|
||||||
.form-control, .form-select { min-height: 44px; font-size: 16px; }
|
.form-control, .form-select { min-height: 44px; font-size: 16px; }
|
||||||
|
#page-playback .playback-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
|
||||||
|
#page-playback .playback-controls label { width: 100%; min-width: 0; }
|
||||||
|
#page-playback .playback-controls input, #page-playback .playback-controls select { width: 100%; }
|
||||||
|
#page-playback .playback-controls button { width: 100%; }
|
||||||
|
#play-info { overflow-wrap: anywhere; }
|
||||||
.device-view-controls { padding: 16px; }
|
.device-view-controls { padding: 16px; }
|
||||||
.network-map { padding: 14px; }
|
.network-map { padding: 14px; }
|
||||||
.network-platform { padding: 16px; }
|
.network-platform { padding: 16px; }
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ export function enhance(root){
|
|||||||
export async function loadControllers(){
|
export async function loadControllers(){
|
||||||
enhance(document.getElementById('app'))
|
enhance(document.getElementById('app'))
|
||||||
new MutationObserver(records=>{for(const record of records)for(const node of record.addedNodes)enhance(node)}).observe(document.getElementById('app'),{childList:true,subtree:true})
|
new MutationObserver(records=>{for(const record of records)for(const node of record.addedNodes)enhance(node)}).observe(document.getElementById('app'),{childList:true,subtree:true})
|
||||||
for(const path of [...scripts,'/vue-bridge.js'])await new Promise((resolve,reject)=>{const script=document.createElement('script');script.src=path+'?ui=0.1.38';script.onload=resolve;script.onerror=()=>reject(new Error('Could not load '+path));document.head.append(script)})
|
for(const path of [...scripts,'/vue-bridge.js'])await new Promise((resolve,reject)=>{const script=document.createElement('script');script.src=path+'?ui=0.1.39';script.onload=resolve;script.onerror=()=>reject(new Error('Could not load '+path));document.head.append(script)})
|
||||||
await window.ZhaoVue.boot()
|
await window.ZhaoVue.boot()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,3 +74,9 @@ test('recording timeline paints with theme tokens and keeps range geometry', ()
|
|||||||
]);
|
]);
|
||||||
assert.equal(ctx.strokeStyle, '#d3ccbc');
|
assert.equal(ctx.strokeStyle, '#d3ccbc');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('mobile playback filters keep full-width readable controls',()=>{
|
||||||
|
const css=fs.readFileSync('frontend/src/bootstrap-polish.css','utf8');
|
||||||
|
assert.match(css,/#page-playback \.playback-controls \{ display: grid; grid-template-columns: minmax\(0, 1fr\)/);
|
||||||
|
assert.match(css,/#page-playback \.playback-controls input, #page-playback \.playback-controls select \{ width: 100%/);
|
||||||
|
});
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2
-2
@@ -1,3 +1,3 @@
|
|||||||
<!doctype html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="theme-color" content="#244d43"><link rel="icon" href="/zhao-icon.png"><link rel="apple-touch-icon" href="/zhao-icon.png"><title>赵府 · 智能数字管家</title> <script type="module" crossorigin src="/ui/assets/index-DKr_acag.js"></script>
|
<!doctype html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="theme-color" content="#244d43"><link rel="icon" href="/zhao-icon.png"><link rel="apple-touch-icon" href="/zhao-icon.png"><title>赵府 · 智能数字管家</title> <script type="module" crossorigin src="/ui/assets/index-CWMAn71z.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/ui/assets/index-XTjkr4dE.css">
|
<link rel="stylesheet" crossorigin href="/ui/assets/index-B5ZdIQcb.css">
|
||||||
</head><body><div id="app"></div></body></html>
|
</head><body><div id="app"></div></body></html>
|
||||||
|
|||||||
Reference in New Issue
Block a user