/* ===== Dashboard / History (saved load plans) ===== */ const DashboardScreen = ({ onNavigate }) => { return (
Dashboard

Operations overview · this week

42 plans built across 3 facilities · 18 carriers · 388 t shipped.
{[ ['Plans built', '42', '+8 vs last', 'ok'], ['Avg. utilisation','83%', '+2.1pp', 'ok'], ['Total weight', '388 t', '40t over', 'ok'], ['Violations', '3', '-7 vs last', 'ok'], ['Empty miles', '6.4%', '-1.2pp', 'ok'], ].map(([l,v,d,t]) => (
{l}
{v}
{d}
))}
{/* utilisation timeline */}
Utilisation by day
last 14 days
{/* by module breakdown */}
By module
Recent plans all facilities
{window.Mojro.RECENT_SESSIONS.concat(window.Mojro.RECENT_SESSIONS).map((r,i) => ( ))}
NameModuleUtilisationWeightStatusUpdated
{r.name}
{r.module}
85?'var(--ok)':r.util>70?'var(--warn)':'var(--bad)' }}/>
{r.util}%
{r.weight} {r.status==='ok' && OK} {r.status==='warn' && {r.violations} warn} {r.status==='bad' && {r.violations} blocking} {r.date}
); }; const ChartBars = () => { const data = [72,84,79,88,76,83,91, 85,80,77,84,86,82,88]; return (
{data.map((v,i) => (
))}
Apr 4Apr 11Apr 17
); }; const ModBar = ({ label, pct, color }) => (
{label} {pct}%
); window.DashboardScreen = DashboardScreen;