<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no"> <title>Neue und verschwundene Knoten</title> <style type="text/css"> body { margin: 0; padding: 0; font-family: 'Roboto Slab', serif; font-size: 11pt; } table.attributes { width: auto !important; } table.attributes th { text-align: left; font-weight: bold; vertical-align: top; padding-right: 1em; white-space: nowrap; } table.attributes td { text-align: left !important; } #nodeinfo .clients { font-family: "ionicons"; color: #1566A9; word-spacing: -0.2em; } #nodeinfo { position: relative; box-shadow: 0px 0.5px 3px rgba(0, 0, 0, 0.16), 0px 0.5px 2px rgba(0, 0, 0, 0.24); background: rgba(0, 0, 0, 0.02); padding: 0.25em 0; } #nodeinfo.hidden { display: none; } button { -webkit-tap-highlight-color: transparent; font-family: "ionicons"; box-shadow: 0px 0.5px 3px rgba(0, 0, 0, 0.16), 0px 0.5px 2px rgba(0, 0, 0, 0.24); border-radius: 0.9em; background: rgba(255, 255, 255, 0.7); border: none; cursor: pointer; height: 1.8em; width: 1.8em; font-size: 20pt; transition: box-shadow 0.5s, color 0.5s; outline: none; } button:hover { background: white; color: #dc0067; box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.19), 0px 3px 6px rgba(0, 0, 0, 0.23); } button:active { box-shadow: inset 0px 5px 20px rgba(0, 0, 0, 0.19), inset 0px 3px 6px rgba(0, 0, 0, 0.23); } button.close { position: absolute; right: 0.7em; top: 0.7em; } button.close:after { content: "\f12a"; } #sidebar h2, #sidebar h3 { padding: 0 10pt; } #sidebar p, #sidebar table, #sidebar pre, #sidebar ul { padding: 0 10pt 1em; } #sidebarhandle { position: absolute; right: -2.5em; top: 0.7em; z-index: 10; transition: right 0.5s, box-shadow 0.5s, color 0.5s, transform 0.5s; } #sidebarhandle:after { padding-right: 0.125em; content: "\f124"; } #sidebar.hidden #sidebarhandle { transform: scale(-1, 1); } .hostname { } .online { color: #558020 !important; } .offline { color: #D43E2A !important; } #sidebar { z-index: 5; width: 50em; box-sizing: border-box; position: absolute; top: 0; left: 0; background: white; box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.19), 0px 3px 6px rgba(0, 0, 0, 0.23); transition: left 0.5s; } #sidebar.hidden { left: -50em; } #sidebardata { overflow: auto; box-sizing: border-box; } #sidebardata .icon { padding: 0 0.25em; } #sidebardata, #map { height: 100vh; } #sidebardata table { width: 100%; } #sidebardata td:not(:first-child) { text-align: right; } #sidebardata a { color: #1566A9; } .bar { display: inline-block; width: 100%; height: 1.4em; background: rgba(85, 128, 32, 0.5); position: relative; } .bar span { display: inline-block; height: 1.4em; background: rgba(85, 128, 32, 0.8); } .bar label { font-weight: bold; white-space: nowrap; color: white; position: absolute; right: 0.5em; } @media screen and (max-width: 80em) { #sidebar { font-size: 0.8em; } } @media screen and (max-width: 60em) { #sidebardata { overflow: visible; height: auto; } #sidebarhandle { display: none; } #map { height: 60vh; } #sidebar { position: static; margin-left: 0em !important; width: auto; height: auto; } #sidebar.hidden { width: auto; } #sidebar.hidden #sidebardata { display: block; } } </style> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Slab:700,400"> <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/1.5.2/css/ionicons.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.27.1/es6-shim.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/0.6.3/chroma.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.min.js"></script> <script src="history.js"></script> </head> <body> <div id="container"> <div id="map"> </div> <div id="sidebar"> <button id="sidebarhandle"> </button> <div id="sidebardata"> <div id="nodeinfo" class="hidden"> </div> <p> Zeigt Knoten an, die in den letzten 14 Tagen dazu gekommen oder verschwunden sind. Funktioniert nur in wirklich modernen Browsern. </p> <h2>Meshdaten</h2> <p id="meshstats"> </p> <h2>Neue Knoten</h2> <table> <tbody id="newnodes"> </tbody> </table> <h2>Verschwundene Knoten</h2> <table> <tbody id="lostnodes"> </tbody> </table> <h2>Längste Verbindungen</h2> <table> <tbody id="longlinks"> </tbody> </table> </div> </div> </div> </body> </html>