some major improvements

- filter by station type
- sort by distance (WIP)
- detect old data structure and clear localStorage if not compatible
- add substitue coordinates for stations without valid osm node
- improve responsive styles
This commit is contained in:
kritzl 2024-06-06 11:27:16 +02:00
parent af50e0f04d
commit 14a514e3e4
5 changed files with 726 additions and 128 deletions

View file

@ -37,10 +37,17 @@
<div class="hidden" id="filters">
<input placeholder="Station suchen" id="searchStation">
<button id="stationsNearMe">
<button id="stationsNearMe" aria-pressed="false">
<span data-icon="location-searching" class="size-m"></span>
Nach Entfernung sortieren
<span data-icon="load" class="size-m spinner hidden"></span>
</button>
<div id="typeFilter">
<button class="typeChip" data-type="U" aria-pressed="true">U</button>
<button class="typeChip" data-type="S" aria-pressed="true">S</button>
<button class="typeChip" data-type="A" aria-pressed="true">A</button>
<button class="typeChip" data-type="R" aria-pressed="true">R</button>
</div>
</div>
<button id="initialLoad">
@ -48,12 +55,38 @@
<span data-icon="load" class="size-m spinner hidden"></span>
</button>
<div class="hidden" id="errorMessage">
Leider ist ein Fehler beim Abrufen der Daten aufgetreten.
</div>
<ul id="stationList">
</ul>
</main>
<footer>
Website by <a href="https://kritzl.dev/">kritzl</a> &bull; <a href="https://mafiasi.de/base/imprint" target="_blank">Impressum</a>
<p>
hvvstuhl v0.4 &bull;
Entwickelt von <a href="https://kritzl.dev/">kritzl</a> & <a href="https://traumweh.dev/">traumweh</a> &bull;
Betrieben von <a href="https://mafiasi.de/">mafiasi</a> &bull;
<a href="https://mafiasi.de/base/imprint">Impressum</a>
</p>
</footer>
<div id="dialog_layer" class="dialogs">
<div role="dialog" id="dialog_osm" aria-labelledby="dialog_osm_label" aria-modal="true" class="">
<h2 id="dialog_osm_label" class="dialog_label">IPv4 RDAP Info</h2>
<button onclick="closeDialog('#dialog_osm')" class="close-modal">x</button>
<hr>
<p>
Um die Stationen nach Entfernung sortieren zu können müssen zusätzliche Daten von OpenStreetMap geladen
werden.
</p>
<button id="loadOsm">
Zusätzliche Daten von OpenStreetMap abrufen
<span data-icon="load" class="size-m spinner hidden"></span>
</button>
</div>
</div>
<script type="text/javascript" src="elevators.js"></script>
</body>
</html>