# Network Dashboard + Router Detail Patterns ## Network Dashboard Page Summary cards row at top: - Total Routers (count) - Online (count + percentage badge) - Alerts (count + "Needs attention" badge) - Avg Heartbeat (ms) Wide router table with 9 columns: Status | Router | Customer | Model | Uptime | Tunnel | Installed | Latest | Last Seen Firmware columns use color badges: - Green badge = router is current - Amber badge = update available Status dots: green=Online, amber=Alert (missed heartbeat), red=Offline (no heartbeat >60m), gray=Pending (script sent, not yet installed) Right-rail panels: 1. Recent Alerts — color-coded rows with amber (warning) and red (critical) backgrounds, timestamp relative 2. Top Bandwidth — horizontal progress bars with Mbps labels 3. Quick Actions — Run command, Backup config, Reboot router, Update firmware, Onboard new (blue link) Header has filter buttons (All, Online, Offline, Alert) and search input. ## Router Detail Page Summary cards row: Uptime, CPU (with mini progress bar), RAM (with mini progress bar), Firmware (with update badge if outdated), Temperature. Six tabs across the top: | Tab | Default? | Content | |---|---|---| | DNS | ✅ Yes | Summary cards (total queries, unique domains, active clients, blocked). Two-column top-domains and top-clients panels. Searchable query log table: Time, Client IP, Domain, Type (A/AAAA badge), Response IP, Client Hostname. Time range filter. Client filter dropdown. "View all" link. | | Network | No | DHCP leases (hostname, IP, MAC, reserved/dynamic badge, active/offline/expired status, lease time, Edit/Release/Reserve action buttons). Interfaces table (name, IP, up/down status, TX, RX). Add Reservation form at bottom (hostname, IP, MAC, comment). | | Bandwidth | No | Time period selector (hour, 24h, 7d, 30d, 12mo). Chart placeholder. Four period summary cards (hourly, daily, monthly, yearly with up/down breakdown). | | Firewall | No | NAT rules, filter rules, port forwards | | Logs | No | Real-time log feed | | Config | No | Backup, restore, firmware management | DHCP table: Reserved = purple badge. Dynamic = blue badge. Status dots: green=active, gray=offline, gray=expired. ## Files - mockup: `/root/portal-mockup/network-dashboard.html` - mockup: `/root/portal-mockup/router-detail.html`