123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title>staty | OSM Station Relationships</title>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="Description" content="Analyze public transport station in OpenStreetMap for correctness">
- <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css"/ async>
- <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" defer></script>
- <link href="https://fonts.googleapis.com/css?family=Nunito:600&display=swap" rel="stylesheet" async>
- <link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet" async>
- <link href="https://fonts.googleapis.com/css?family=Inconsolata&display=swap" rel="stylesheet" async>
- <link rel="preconnect" href="http://a.tile.stamen.com/toner-lite">
- <link rel="preconnect" href="http://b.tile.stamen.com/toner-lite">
- <link rel="preconnect" href="http://c.tile.stamen.com/toner-lite">
- <style>
- body{padding:0;margin:0;font-family:'Roboto',sans-serif}html,body{height:100%;width:100%}tt{font-family:Inconsolata,monospace}#attr-tbl tr{background-color:#c0f7c0}.stat-label{white-space:nowrap;background:transparent}#attr-tbl .err-10{background-color:red}#attr-tbl .err-9{background-color:#ff1010}#attr-tbl .err-8{background-color:#f92424}#attr-tbl .err-7{background-color:#f93838}#attr-tbl .err-6{background-color:#f56262}#attr-tbl .err-5{background-color:#f38484}.attr-err-info{margin-top:5px;font-size:13px;font-style:italic}.leaflet-popup-content-wrapper{border-radius:5px}#attr-tbl .err-wrap {max-height: 100px;display: block;overflow-y: auto;}#attr-tbl{margin-top:10px;width:100%}.sugtit,.oldmemberstit,.newmemberstit{font-style:normal;font-weight:700}#group-stations-new,#group-stations-old{margin-top:8px;padding-top:4px;border-top:solid 1px #AAA}#group-stations-new div{background-color:rgb(182, 182, 228);border-left:solid 4px #00f;padding:2px;margin:2px;padding-left:5px}#group-stations-old div{border-left:solid 4px #0f0;padding:2px;margin:2px;padding-left:5px}#sugg{margin-top:8px;padding-top:4px;border-top:solid 1px #AAA;color:#0000c3}#sugg ul{padding:5px;margin:5px;padding-top:0}#logo{text-decoration:none;font-weight:600;font-family:'Nunito',sans-serif;font-size:60px;position:absolute;z-index:1000;right:.3em;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;color:#fff;opacity:.7}.leaflet-control-zoom a{font-family:'Nunito',sans-serif!important;font-weight:700!important;font-size:38px!important}.leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:38px;overflow:hidden;display:block}.leaflet-control-zoom-out{margin-top:10px}.leaflet-container{font-family:'Roboto',sans-serif!important;font-size:14px}.leaflet-control-attribution a{font-family:'Roboto',sans-serif!important;color:#333!important;font-size:12px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{border-radius:25px!important;border:1px solid #000!important;opacity:.7;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;color:#fff!important}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:none;background:transparent}.leaflet-popup{left:-20px!important}.leaflet-popup-tip-container{left:20px}.leaflet-popup-tip{box-shadow:none!important}.leaflet-popup:before{content:"";position:absolute;border:13px solid transparent;border-bottom-color:#fff;bottom:0;margin-left:-13px}.attrval{font-weight:700}.grouplink{cursor:pointer;text-decoration:underline;z-index:1000}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#group-stations-old div.del-stat:before{content:"❌";position:relative;width:0;color:#800;margin-left:-1.15em;left:-.6em;padding-right:.5em}#group-stations-old div.del-stat{background-color:#F44336;border-left:solid 4px #800}#group-stations-old,#group-stations-new{max-height:200px;overflow-y:auto;}.editbut{display: block;float: right;margin-right: 10px;font-size: 18px;text-decoration: none;line-height: 18px;}
- #search {position: absolute;
- z-index: 9999;
- top: 1.3em;
- width: 30%;
- margin: 0;
- min-width: 300px;
- right: 35%;
- font-size: 16px;
- opacity: 0.8;
- padding: 7px;
- border: solid black 1px;
- border-radius: 5px;
- background: white;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- #search input {
- width: 100%;
- border: none;
- padding: 0;
- font-size: 20px;
- }
- #searchresults {
- max-height: 0;
- transition: max-height 0.15s ease-out;
- overflow: hidden;
- }
- #searchresults.res-open {
- max-height: 1000px;
- transition: max-height 0.3s ease-in;
- }
- #search .searchres:first-child {
- margin-top: 10px;
- }
- input:focus {
- outline:none;
- }
- #search .searchres {
- display: block;
- line-height: 2;
- padding-left: 0.5rem;
- border-top-right-radius: 5px;
- border-bottom-right-radius: 5px;
- border-left: solid 5px green;
- }
- #search .searchres .via {
- display:block;
- margin-left: 0.7rem;
- font-size: 14px;
- color: #333;
- }
- .selected-res {
- background: #eee;
- cursor: pointer;
- }
- #del {
- position: absolute;
- right: 0;
- top: 0;
- padding: 0;
- text-decoration: none;
- font-size: 20px;
- margin-top: 7px;
- margin-right: 7px;
- line-height: 1;
- opacity: 0;
- transition: opacity .3s;
- color: #303030;
- }
- #searchresults.res-open + #del {
- opacity: 1;
- }
- @media (max-width: 600px){#logo{font-size: 50px; right:.3em; bottom: 2rem;}.leaflet-control-container,.leaflet-top{height:100%;}.leaflet-control-zoom{position:absolute;bottom:2rem;}#search{width:80%; right: auto;left:10px;top:10px;}}
- .leaflet-popup-content-wrapper{opacity:0.9; border: solid 1px black;}.leaflet-popup-tip-container{margin-top:-1px;}.leaflet-popup-tip{opacity:1;background:#fcfcfc;border:solid 1px black;margin:-11px auto 0;}
- </style>
- </head>
- <body>
- <a id="logo" class="noselect"href="/">staty</a>
- <div id="map" style="width: 100%;height: 100%;"></div>
- <div id="search">
- <input id="searchinput" oninput="search(this.value)" onkeyup="keypress(event)" autocorrect="off" autocomplete="off" autocapitalize="off" placeholder="Search for a station…" type="text">
- <div id="searchresults">
- <span class="searchres">Freiburg Hauptbahnhof</span>
- <span class="searchres">Freiburg Murrgurr</span>
- </div>
- <a href="#" id="del">✖</a>
- </div>
- <script src="build.js" defer>
- </script>
- </body>
- </html>
|