Make dashboard usable on mobile

Move inline styles into assets/style.css with wrapping KPI and chart rows,
a horizontally scrolling tab bar, and phone breakpoints. Shared components
put chart titles in HTML headings, legends above plots, and disable
drag-to-zoom so swiping scrolls the page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X9jG4CUFcH6n4vFvgtwndY
This commit is contained in:
emfurst 2026-10-17 11:10:56 -04:00
commit eb489a782d
9 changed files with 319 additions and 196 deletions

View file

@ -18,7 +18,7 @@ def create_app() -> dash.Dash:
[
html.H1(
"University of Delaware — Administrative Analytics",
style={"textAlign": "center", "padding": "20px", "color": "#00539F"},
className="app-title",
),
dcc.Tabs(
id="tabs",
@ -32,11 +32,12 @@ def create_app() -> dash.Dash:
dcc.Tab(label="Current Headcount", value="headcount"),
dcc.Tab(label="About", value="about"),
],
style={"marginBottom": "20px"},
className="tabs-bar",
mobile_breakpoint=0,
),
html.Div(id="tab-content", style={"padding": "0 20px 20px 20px"}),
html.Div(id="tab-content", className="tab-content"),
],
style={"fontFamily": "system-ui, -apple-system, sans-serif", "maxWidth": "1400px", "margin": "0 auto"},
className="app",
)
@app.callback(Output("tab-content", "children"), Input("tabs", "value"))