webui: Improve responsive admin layout

- Add mobile drawer behavior for the admin sidebar
- Make admin forms adapt better on small screens
- Keep the login dialog width within the viewport while preserving desktop-style alignment

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-06-04 19:31:40 +08:00
parent b1049d804a
commit 2e2b6259b5
4 changed files with 202 additions and 21 deletions
+36 -1
View File
@@ -14,10 +14,45 @@
<dd {{ if eq .url "/admin/card" }} class="layui-this" {{ end }}><a href="/admin/card">卡片一览</a></dd>
<dd {{ if eq .url "/admin/upload" }} class="layui-this" {{ end }}><a href="/admin/upload">卡片导入</a>
</dd>
</dd>
</dl>
</li>
</ul>
</div>
</div>
<div class="admin-mobile-mask"></div>
<script>
(function () {
function closeAdminSide() {
document.body.classList.remove('admin-side-open');
}
function toggleAdminSide() {
document.body.classList.toggle('admin-side-open');
}
document.addEventListener('click', function (event) {
var menuTrigger = event.target.closest('[lay-header-event="menuLeft"]');
if (menuTrigger) {
event.preventDefault();
toggleAdminSide();
return;
}
if (event.target.closest('.admin-mobile-mask')) {
closeAdminSide();
return;
}
if (window.innerWidth <= 767.98 && event.target.closest('.layui-side .layui-nav-child a[href]')) {
closeAdminSide();
}
});
window.addEventListener('resize', function () {
if (window.innerWidth > 767.98) {
closeAdminSide();
}
});
})();
</script>
{{ end }}