m = Map("dawn", "Network Overview", translate("Network Overview"))
m.pageaction = false

s = m:section(NamedSection, "__networkoverview__")

function s.render(self, sid)
	local tpl = require "luci.template"
	local json = require "luci.json"
	local utl = require "luci.util"
	tpl.render_string([[
		<%
	    local status = require "luci.tools.ieee80211"
		local utl = require "luci.util"
		local sys = require "luci.sys"
		local hosts = sys.net.host_hints()
		local stat = utl.ubus("dawn", "get_network", { })
		local name, macs
		for name, macs in pairs(stat) do
		%>

			<div class="cbi-section-node">
	        <h3>SSID: <%= name %></h3>
			<div class="table" id=network_overview_main">
				<div class="tr table-titles">
					<div class="th">AP</div>
					<div class="th">Clients</div>
				</div>
			<%
			local mac, data
			for mac, data in pairs(macs) do
			%>
				<div class="tr">
					<div class="td" style="vertical-align: top;">
						<div class="table" id="ap-<%= mac %>">
							<div class="tr table-titles">
								<div class="th">Hostname</div>
								<div class="th">Interface</div>
								<div class="th">MAC</div>
								<div class="th">Utilization</div>
								<div class="th">Frequency</div>
								<div class="th">Stations</div>
								<div class="th">HT Sup</div>
								<div class="th">VHT Sup</div>
							</div>
							<div class="tr">
								<div class="td"><%= data.hostname %></div>
								<div class="td"><%= data.iface %></div>
								<div class="td"><%= mac %></div>
								<div class="td"><%= "%.2f" %(data.channel_utilization / 2.55) %> %</div>
								<div class="td"><%= "%.3f" %( data.freq / 1000 ) %> GHz (Channel: <%= "%d" %( status.frequency_to_channel(data.freq) ) %>)</div>
								<div class="td"><%= "%d" %data.num_sta %></div>
								<div class="td"><%= (data.ht_support == true) and "available" or "not available" %></div>
								<div class="td"><%= (data.vht_support == true) and "available" or "not available" %></div>
							</div>
							</div>
						</div>
					<div class="td" style="vertical-align: top;">
						<div class="table" id="clients-<%= mac %>">
							<div class="tr table-titles">
								<div class="th">MAC</div>
								<div class="th">HT</div>
								<div class="th">VHT</div>
								<div class="th">Signal</div>
							</div>
							<%
							local mac2, data2
							for clientmac, clientvals in pairs(data) do
								if (type(clientvals) == "table") then
							%>
								<div class="tr">
									<div class="td"><%= clientmac %></div>
									<div class="td"><%= (clientvals.ht == true) and "available" or "not available" %></div>
									<div class="td"><%= (clientvals.vht == true) and "available" or "not available" %></div>
									<div class="td"><%= "%d" %clientvals.signal %></div>
								</div>
								<%
								end
								%>
							<%
							end
							%>
							</div>
						</div>
					</div>
			<%
			end
			%>
			</div>
			</div>
		<%
		end
		%>
	]])
end

return m