diff --git a/src/vitals/web/app.py b/src/vitals/web/app.py index bd4bfff..7e136c5 100644 --- a/src/vitals/web/app.py +++ b/src/vitals/web/app.py @@ -3455,10 +3455,54 @@ def get_dashboard_html() -> str: .nav a.active { color: #667eea; } + /* 移动端适配 */ @media (max-width: 768px) { .nav { + display: none !important; + } + body { + padding-bottom: 80px; + } + .container { + padding: 12px; + } + header { + padding: 20px 16px; + margin-bottom: 16px; + } + header h1 { + font-size: 1.5rem; + } + .grid { + grid-template-columns: 1fr 1fr; + gap: 12px; + } + .card { + padding: 14px; + } + .card .value { + font-size: 1.5rem; + } + .chart-container { + padding: 14px; + height: auto; + } + .chart-container canvas { + max-height: 180px; + } + .meals-list li { flex-wrap: wrap; - gap: 10px; + gap: 4px; + } + .meal-desc { + width: 100%; + margin: 4px 0; + order: 3; + } + } + @media (max-width: 480px) { + .grid { + grid-template-columns: 1fr; } } .container { @@ -3806,6 +3850,86 @@ def get_dashboard_html() -> str: loadTodayData(); loadWeekData(); loadWeightData(); + + // 检查管理员状态并显示管理入口 + const user = JSON.parse(localStorage.getItem('user') || '{}'); + if (user.is_admin) { + const adminLink = document.getElementById('admin-link'); + if (adminLink) adminLink.style.display = 'block'; + } + + + + + + +