{{define "dashboard"}} {{$d := .Data.Dashboard}}{{$u := $d.Snap.Uplink}}{{$sys := $d.Snap.System}}
{{range $d.Ranges}}{{.}}{{end}}
{{if $d.Snap.Time.IsZero}}

Internet

Collecting…

{{else}}

Internet

{{if and $u.Connected (or $u.Reachable (not $u.Checked))}}Connected {{else if $u.Connected}}Connected, but no answer from the internet {{else if not $u.Exists}}{{if eq $u.Type "pppoe"}}Not connected: no PPPoE session{{else}}Not connected: {{$u.Device}} is missing{{end}} {{else}}Not connected{{end}} {{if not $u.Since.IsZero}}for {{ago $u.Since}}{{end}}

Uplink
{{$u.Device}} ({{if eq $u.Type "pppoe"}}PPPoE{{else}}DHCP{{end}})
{{if $u.IPv4}}
IPv4
{{join $u.IPv4 ", "}}
{{end}} {{if $u.IPv6}}
IPv6
{{join $u.IPv6 ", "}}
{{end}} {{if $u.Gateway}}
Gateway
{{$u.Gateway}}
{{end}} {{range $d.Snap.Pings}}
Ping {{.Target}}
{{if .OK}}{{ms .RTT}}{{else if .Address}}no answer{{else}}no address{{end}}{{if and .Address (ne .Address .Target)}} {{.Address}}{{end}}
{{end}}
{{end}}

System

Uptime
{{age $sys.Uptime}}
{{if $sys.Kernel}}
Kernel
{{$sys.Kernel}}{{if $sys.KernelNext}} reboot to run {{$sys.KernelNext}} Reboot{{end}}
{{end}}
Load
{{$sys.Load}}
CPU
{{value $sys.CPU "%"}}
{{if $sys.MemTotal}}
Memory
{{bytes $sys.MemUsed}} of {{bytes $sys.MemTotal}}
{{end}} {{if not (isNaN $sys.Temperature)}}
Temperature
{{value $sys.Temperature "°C"}}
{{end}} {{if $sys.DiskTotal}}
Disk
{{bytes $sys.DiskUsed}} of {{bytes $sys.DiskTotal}}
{{end}}
{{if $d.Events}}

Connection log

{{end}}

DHCP clients

{{if $d.Leases}}
{{range $d.Leases}}{{end}}
NameAddressMACLANLease ends in
{{or .Hostname "–"}}{{.Address}}{{.MAC}}{{.LAN}}{{until .Expires}}
{{else}}

No active leases.

{{end}}
{{range $d.Charts}}
{{.Title}} {{range .Lines}}{{.Label}} {{.Now}}{{end}}
{{range .YTicks}}{{.Label}}{{end}} {{range .XTicks}}{{.Label}}{{end}} {{range .Lines}}{{end}} {{if .Empty}}no data yet{{end}} {{range .Cols}}{{.Tip}}{{end}}
{{end}}
{{end}}