<%# This is free software, licensed under the Apache License, Version 2.0 -%> <%- local util = require "luci.util" local json = require "luci.jsonc" local ifaces = {} local data = util.exec("vnstat --json f 1 2>/dev/null") local content = json.parse(data) if type(content) == "table" then for _, iface in pairs(content["interfaces"]) do table.insert(ifaces, iface["name"]) end end local function render_section(style, title) %>
<% for _, iface in ipairs(ifaces) do %>

?iface=<%=iface%>&style=<%=style%>" alt="" style="max-width:100%" />

<% end %>
<% end -%> <%+header%>

<%:vnStat Graphs%>

<% if #ifaces == 0 then %>

<%:No monitored interfaces have been found. Go to the configuration to enable monitoring for one or more interfaces.%>

<% else render_section("s", translate("Summary")) render_section("t", translate("Top")) render_section("5", translate("5 Minute")) render_section("h", translate("Hourly")) render_section("d", translate("Daily")) render_section("m", translate("Monthly")) render_section("y", translate("Yearly")) end %>
<%+footer%>