A Gmail-watching Apps Script (documented in docs/deployment.adoc) posts the session ID from each LiveTrack email to a new webhook, which stores it in data/livetrack.json; a new sidebar panel lists what's been received.
60 lines
2.0 KiB
ERB
60 lines
2.0 KiB
ERB
<div id="app">
|
|
<header class="topbar">
|
|
<span class="topbar__brand">MapTool</span>
|
|
<div class="topbar__auth">
|
|
<% if logged_in %>
|
|
<span><%= user %></span>
|
|
<a href="/logout">Log out</a>
|
|
<% else %>
|
|
<a href="/login">Log in</a>
|
|
<% end %>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="app-body">
|
|
<nav id="sidebar" class="sidebar"></nav>
|
|
<div id="map"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="basemap-panel" class="basemap-panel" hidden>
|
|
<div class="basemap-panel__header">
|
|
<strong>Base map</strong>
|
|
<button type="button" class="basemap-panel__close" aria-label="Close">×</button>
|
|
</div>
|
|
<div class="basemap-panel__list">
|
|
<button type="button" class="basemap-panel__option" data-style="online">
|
|
<span>Online</span>
|
|
<span class="basemap-panel__check">✓</span>
|
|
</button>
|
|
<button type="button" class="basemap-panel__option" data-style="offline">
|
|
<span>Offline</span>
|
|
<span class="basemap-panel__check">✓</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="gpx-panel" class="gpx-panel" hidden>
|
|
<div class="gpx-panel__header">
|
|
<strong>GPX</strong>
|
|
<div class="gpx-panel__actions">
|
|
<button type="button" class="gpx-panel__action" data-action="new-folder" title="New folder" aria-label="New folder"></button>
|
|
<button type="button" class="gpx-panel__action" data-action="upload" title="Upload GPX file" aria-label="Upload GPX file"></button>
|
|
<button type="button" class="gpx-panel__close" aria-label="Close">×</button>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="file" class="gpx-file-input" accept=".gpx" multiple hidden>
|
|
<p class="gpx-upload__status" hidden></p>
|
|
|
|
<div class="gpx-tree"></div>
|
|
</div>
|
|
|
|
<div id="livetrack-panel" class="basemap-panel" hidden>
|
|
<div class="basemap-panel__header">
|
|
<strong>LiveTrack sessions</strong>
|
|
<button type="button" class="basemap-panel__close" aria-label="Close">×</button>
|
|
</div>
|
|
<ul class="livetrack-panel__list"></ul>
|
|
</div>
|