+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ - You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
<!DOCTYPE html>
<html manifest="manifest.appcache">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Lantea</title>
- <!-- script src="js/lantea.js"></script -->
- <!-- link rel="stylesheet" href="style/lantea.css" -->
+ <!-- try to force a 1:1 scaling and disable pinch-zoom on mobile, see
+ https://developer.mozilla.org/en/Mobile/Viewport_meta_tag -->
+ <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=no">
+ <title>Lantea Maps</title>
+ <script src="js/map.js" type="application/javascript;version=1.8"></script>
+ <script src="js/ui.js" type="application/javascript;version=1.8"></script>
+ <script src="js/library.js" type="application/javascript;version=1.8"></script>
+ <script src="js/piwik.js" async="" defer=""></script>
+ <link rel="stylesheet" href="style/lantea.css">
+ <link rel="manifest" href="/pwa.manifest">
+ <link rel="shortcut icon" href="style/lanteaIcon16.png" type="image/png">
</head>
-<body>
-<h1>Lantea</h1>
+<body id="body">
+<noscript><p><img src="https://piwik.kairo.at/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
+<h1>Lantea Map</h1>
+
+<div id="trackArea" class="menuDrawer secondaryUI hidden">
+<h2 onclick="toggleTrackArea();">
+<image src="style/track.svg" alt=""> Track
+</h2>
+<p id="trackData"><span id="trackLength"><span id="trackLengthNum">0</span> km</span>,
+<span id="trackDuration"><span id="trackDurationH"><span id="trackDurationHNum">0</span> h</span>
+<span id="trackDurationM"><span id="trackDurationMNum">0</span> min</span></span>
+</p>
+<p>
+<input type="button" id="saveTrackButton" value="Save"
+ onclick="saveTrack();">
+<input type="button" id="dumpTrackButton" value="Dump"
+ onclick="saveTrackDump();" class="debugHide">
+<input type="button" id="uploadTrackButton" value="Upload" disabled="true"
+ onclick="showUploadDialog();">
+<input type="button" id="clearTrackButton" value="Clear"
+ onclick="clearTrack();">
+</p>
+<p id="libraryShowLine" class="hidden">
+<input type="button" id="libraryShowButton" value="View uploaded tracks"
+ onclick="showLibrary();">
+</p>
+<div id="trackDialogArea" class="hidden">
+<div id="uploadDialog">
+<p class="subTitle">Upload Track to Lantea Maps Server:</p>
+<label for="uploadPublic">Visibility:</label>
+<select id="uploadPublic">
+<option value="true">Public Domain</option>
+<option value="false">Private</option>
+</select>
+<p class="dialogHelp">Public Domain tracks can be forwarded by the server
+operator to any other services, e.g. OpenStreetMap.</p>
+<p>
+<label for="uploadDesc">Comment:</label>
+<input type="text" id="uploadDesc" maxlength="255" size="25"
+ value="Lantea Maps">
+</p>
+<p>
+<input type="button" id="uploadDialogUploadButton" value="Upload Track"
+ onclick="uploadTrack();">
+<input type="button" id="uploadDialogCancelButton" value="Cancel"
+ onclick="cancelTrackDialog();">
+</p>
+</div>
+<div id="uploadStatus">
+<p class="subTitle">Track Upload to Lantea Maps Server</p>
+<p id="uploadInProgress"><img id="actionimg" src="style/loading_action.png">
+ Upload in progress…</p>
+<p id="uploadSuccess" style="display:none;">Track upload successful!</p>
+<p id="uploadFailed" style="display:none;">Track upload failed.</p>
+<p id="uploadError" style="display:none;">Error:<br>
+ <span id="uploadErrorMsg"></span></p>
+<input type="button" id="uploadStatusCloseButton" value="Close"
+ onclick="cancelTrackDialog();" disabled="true">
+</div>
+</div>
+<p class="loginbox">
+<button type="button" id="loginbtn" class="hidden">Sign in</button>
+<span id="logindesc" class="hidden">to enable uploads</span>
+<span id="username" class="hidden"></span>
+<button type="button" id="logoutbtn" class="hidden">Log out</button>
+</p>
+<p>
+<input type="checkbox" id="trackCheckbox"
+ onchange="setTracking(this);">
+<label for="trackCheckbox">Enable tracking</label><br/>
+</p>
+<p>
+<input type="checkbox" id="centerCheckbox"
+ onchange="setCentering(this);">
+<label for="centerCheckbox">Center Map</label><br/>
+</p>
+</div>
+
+<div id="settingsArea" class="menuDrawer secondaryUI hidden">
+<h2 onclick="toggleSettings();">
+<image src="style/settings.svg" alt=""> Settings
+</h2>
+<p>
+<label for="mapSelector">Map style:</label>
+<select id="mapSelector" onchange="setMapStyle();">
+<!-- option value="osm_mapnik">OpenStreetMap (Mapnik)</option -->
+</select>
+</p>
+<p>
+<input type="button" id="clearCacheButton" value="Clear Cached Maps"
+ onclick="gTileService.clearDB();">
+</p>
+<div id="uploadSettingsArea">
+<p class="subTitle">Track Upload:</p>
+<p>
+<label for="uploadDevName">Device name:</label>
+<input type="text" id="uploadDevName" maxlength="255" placeholder="My Device"
+ onchange="setUploadField(this);">
+</p>
+<p class="dialogHelp">The device name enables you to tell apart tracks you may
+upload from multiple devices.</p>
+</div>
+</div>
+
+<div id="menuArea" class="autoFade overlayArea">
+<image src="style/track.svg" class="controlButton" id="trackButton" value="Track"
+ onclick="toggleTrackArea();"><br/>
+<image src="style/settings.svg" class="controlButton" id="settingsButton" alt="Settings"
+ onclick="toggleSettings();"><br/>
+</div>
+
+<div id="zoomArea" class="autoFade overlayArea">
+<input type="button" id="zoomInButton" value="+"
+ onclick="zoomIn();">
+<p id="zoomLevel">Z</p>
+<input type="button" id="zoomOutButton" value="−"
+ onclick="zoomOut();">
+</div>
+
+<div id="fullscreenArea" class="autoFade overlayArea">
+<!-- other possible characters: ◰ -->
+<input type="button" id="fullscreenButton" value="▣"
+ onclick="toggleFullscreen();">
+</div>
+
+<div id="dialogArea" class="overlayArea hidden">
+<div id="noGLwarning">
+ Unable to initialize WebGL. You need a browser that supports it.
+</div>
+<div id="firstRunIntro">
+<p class="dialogTitle">Welcome to Lantea Maps!</p>
+<p>This web app lets you record GPS tracks of your journeys, which you can
+ upload to our backend servers and download as GPX files.</p>
+<p>You can find track details, upload, etc. in the "track" drawer that you can
+ access via the <image src="style/track.svg"> icon at the left top of the
+ window.</p>
+<p>Right underneath that icon, you find <image src="style/settings.svg">
+ settings.</p>
+<p>Both track and settings "drawers" can be closed by clicking/tapping on their
+ title line.</p>
+<p>From the track "drawer", you can also access a library of uploaded tracks,
+ their name/comment links to the GPX download of the specific track.</p>
+<p class="dialogButtonLine">
+ <button id="firstRunDialogCloseButton"
+ onclick="closeDialog();">Close</button>
+</p>
+</div>
+<div id="infoDialog">
+<p class="dialogTitle">Lantea Maps has changed!</p>
+<p>Lantea Maps has been updated with a few significant changes.</p>
+<p>Most importantly, the previously broken upload functionality for tracks has
+ been fixed and improved to use our own Lantea Maps server instead of
+ OpenStreetMaps. For using it, you need to log in with KaiRo.at via their
+ "sign in" button now in the track "drawer".</p>
+<p>From there, you can also access a library of uploaded tracks, their
+ name/comment links to the GPX download of the specific track.</p>
+<p>If you set a device name in the settings, you can even distinguish tracks
+ uploaded to the same account by different devices you're using.</p>
+<p class="dialogButtonLine">
+ <button id="firstRunDialogCloseButton"
+ onclick="closeDialog();">Close</button>
+</p>
+</div>
+</div>
+
+<div id="libraryArea" class="overlayArea fullScreenOverlay secondaryUI hidden">
+<p>The following tracks are saved on the Lantea Maps Server:</p>
+<ul id="libTrackList">
+</ul>
+<p id="libTrackPages" class="hidden"></p>
+<p class="closeButtonContainer"><button id="libCloseButton" class="closeButton">X</button></p>
+</div>
+
+<p id="action">
+ <img id="actionimg" src="style/loading_action.png">
+ <span id="actionlabel">Loading</span>…
+</p>
+<p id="copyright" class="autoFade overlayArea"></p>
+<canvas id="map" width="500" height="500">
+ Please use a browser that supports <canvas> elements.
+</canvas>
+<canvas id="track" width="500" height="500">
+</canvas>
-</body></html>
\ No newline at end of file
+</body>
+</html>