Add alternate 2D map mode with Leaflet, improve settings page
This commit is contained in:
parent
b3e3ad4660
commit
b1552857c0
@ -14,7 +14,7 @@ rm -r ./{ansicolors,buffer-from,canvas-renderer,cardinal,concat-stream,core-util
|
||||
rm -r ./{earcut,esm,esprima,geojson-vt,gl-matrix,grid-index,ieee754,inherits,isarray,kdbush,@mapbox,minimist,murmurhash-js}
|
||||
rm -r ./{path-to-regexp,pbf,potpack,process-nextick-args,protocol-buffers-schema,quickselect}
|
||||
rm -r ./{readable-stream,redeyed,resolve-protobuf-schema,rw,safe-buffer,sharkdown,split,ssr-window,string_decoder}
|
||||
rm -r ./{supercluster,template7,through,tinyqueue,typedarray,util-deprecate,vt-pbf,wgs84}
|
||||
rm -r ./{supercluster,template7,through,tinyqueue,topojson-client,typedarray,util-deprecate,vector-tile,vt-pbf,whatwg-fetch,wgs84}
|
||||
|
||||
rm -r @fortawesome/fontawesome-free/{js,less,scss,sprites,svgs}
|
||||
rm -r @fortawesome/fontawesome-free/css/{all.css,brands.css,brands.min.css,fontawesome.css,fontawesome.min.css,regular.css,\
|
||||
@ -34,6 +34,11 @@ rm -r mapbox-gl/{build,CHANGELOG.md,flow-typed,node_modules,src}
|
||||
rm -r mapbox-gl/dist/{mapbox-gl-csp.js,mapbox-gl-csp.js.map,mapbox-gl-csp-worker.js,mapbox-gl-csp-worker.js.map,mapbox-gl-dev.js,\
|
||||
mapbox-gl-dev.js.flow,mapbox-gl.js.flow,mapbox-gl.js.map,mapbox-gl-unminified.js,mapbox-gl-unminified.js.map,style-spec}
|
||||
|
||||
rm -r leaflet/src
|
||||
rm -r leaflet/dist/{leaflet.js.map,leaflet-src.esm.js,leaflet-src.esm.js.map,leaflet-src.js,leaflet-src.js.map}
|
||||
|
||||
rm -r leaflet.vectorgrid/{docs,leafdoc-templates,node_modules,package.json,README.md,src}
|
||||
rm -r leaflet.vectorgrid/dist/{Leaflet.VectorGrid.bundled.js.map,Leaflet.VectorGrid.bundled.min.js,Leaflet.VectorGrid.js,Leaflet.VectorGrid.js.map,Leaflet.VectorGrid.min.js,vectorgrid-api-docs.html}
|
||||
echo "Size after: $(du -sh | cut -d ' ' -f 1)"
|
||||
|
||||
echo "Cleanup complete!"
|
||||
|
BIN
www/img/map/dirt.png
Normal file
BIN
www/img/map/dirt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
BIN
www/img/map/grass.png
Normal file
BIN
www/img/map/grass.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
BIN
www/img/map/ground.png
Normal file
BIN
www/img/map/ground.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
BIN
www/img/map/water.png
Normal file
BIN
www/img/map/water.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
@ -13,6 +13,7 @@
|
||||
<link rel="stylesheet" href="node_modules/framework7/css/framework7.bundle.min.css">
|
||||
<link rel="stylesheet" href="node_modules/@fortawesome/fontawesome-free/css/all.min.css">
|
||||
<link rel="stylesheet" href="node_modules/mapbox-gl/dist/mapbox-gl.css">
|
||||
<link rel="stylesheet" href="node_modules/leaflet/dist/leaflet.css">
|
||||
<link rel="stylesheet" href="css/app.css">
|
||||
<link rel="stylesheet" href="css/home.css">
|
||||
<link rel="stylesheet" href="css/map.css">
|
||||
@ -31,8 +32,13 @@
|
||||
<script src="node_modules/jquery/dist/jquery.min.js"></script>
|
||||
<script src="node_modules/framework7/js/framework7.bundle.min.js"></script>
|
||||
<script src="node_modules/mapbox-gl/dist/mapbox-gl.js"></script>
|
||||
<script src="node_modules/leaflet/dist/leaflet.js"></script>
|
||||
<script src="node_modules/leaflet.vectorgrid/dist/Leaflet.VectorGrid.bundled.js"></script>
|
||||
<script src="node_modules/jdenticon/dist/jdenticon.min.js"></script>
|
||||
|
||||
<script src="js/map_mapbox.js"></script>
|
||||
<script src="js/map_leaflet.js"></script>
|
||||
|
||||
<script src="settings.js"></script>
|
||||
<script src="js/api.js"></script>
|
||||
<script src="routes.js"></script>
|
||||
|
117
www/js/map.js
117
www/js/map.js
@ -4,63 +4,23 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
mapboxgl.accessToken = '';
|
||||
const map = new mapboxgl.Map({
|
||||
container: 'mapbox',
|
||||
style: SETTINGS['map_style_json'],
|
||||
attributionControl: false,
|
||||
dragPan: false,
|
||||
pitch: 0,
|
||||
zoom: 0,
|
||||
maxZoom: 20
|
||||
});
|
||||
|
||||
var dpPoint = null;
|
||||
var dpPitch = null;
|
||||
|
||||
map.on('touchstart', function (data) {
|
||||
if (data.points.length == 2) {
|
||||
var diff = Math.abs(data.points[0].y - data.points[1].y);
|
||||
if (diff <= 50) {
|
||||
dpPoint = data.point;
|
||||
map.touchZoomRotate.disable();
|
||||
dpPitch = map.getPitch();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
map.on('touchmove', function (data) {
|
||||
if (dpPoint) {
|
||||
data.preventDefault();
|
||||
var pitchdiff = (dpPoint.y - data.point.y) * 0.5;
|
||||
map.setPitch(dpPitch + pitchdiff);
|
||||
}
|
||||
});
|
||||
|
||||
map.on('touchend', function (data) {
|
||||
if (dpPoint) {
|
||||
map.touchZoomRotate.enable();
|
||||
}
|
||||
dpPoint = null;
|
||||
dpPitch = null;
|
||||
});
|
||||
|
||||
map.on('touchcancel', function (data) {
|
||||
if (dpPoint) {
|
||||
map.touchZoomRotate.enable();
|
||||
}
|
||||
dpPoint = null;
|
||||
dpPitch = null;
|
||||
});
|
||||
|
||||
function mapEasing(t) {
|
||||
return t * (2 - t);
|
||||
}
|
||||
|
||||
var gotfirstfix = false;
|
||||
|
||||
var geoerrorcount = 0;
|
||||
|
||||
var gamemaptype = "mapbox";
|
||||
|
||||
if (localStorage.getItem("litemode") == "true") {
|
||||
gamemaptype = "leaflet";
|
||||
}
|
||||
|
||||
if (gamemaptype == "leaflet") {
|
||||
var map = leafletMap();
|
||||
} else {
|
||||
var map = mapboxMap();
|
||||
}
|
||||
|
||||
watchLocation(function (position) {
|
||||
if (gotfirstfix) {
|
||||
setMapLocation(position.coords.latitude, position.coords.longitude);
|
||||
@ -85,21 +45,11 @@ watchLocation(function (position) {
|
||||
});
|
||||
|
||||
function setMapHeading(heading) {
|
||||
if (typeof heading == 'number') {
|
||||
map.easeTo({
|
||||
bearing: heading,
|
||||
easing: mapEasing
|
||||
});
|
||||
}
|
||||
map.setHeading(heading);
|
||||
}
|
||||
|
||||
function setMapLocation(latitude, longitude) {
|
||||
map.easeTo({
|
||||
center: [
|
||||
longitude,
|
||||
latitude
|
||||
]
|
||||
});
|
||||
map.setMapLocation(latitude, longitude);
|
||||
}
|
||||
|
||||
function updatePlaceLayer(latitude, longitude) {
|
||||
@ -110,28 +60,7 @@ function updatePlaceLayer(latitude, longitude) {
|
||||
longitude: longitude,
|
||||
radius: 5
|
||||
}, function (data) {
|
||||
var oldmarkers = document.getElementsByClassName("place-marker");
|
||||
if (oldmarkers.length > 0) {
|
||||
markerparent = oldmarkers[0].parentNode;
|
||||
while (oldmarkers.length > 0) {
|
||||
markerparent.removeChild(oldmarkers[0]);
|
||||
}
|
||||
}
|
||||
data.features.forEach(function (place) {
|
||||
var el = document.createElement("div");
|
||||
el.className = "place-marker";
|
||||
if (place.properties.teamid != null && place.properties.teamid > 0) {
|
||||
el.className += " place-color-" + SETTINGS["teams"][place.properties.teamid]["color"];
|
||||
}
|
||||
|
||||
el.addEventListener('click', function () {
|
||||
openPlace(place.properties.id, place.properties.name);
|
||||
});
|
||||
|
||||
new mapboxgl.Marker(el)
|
||||
.setLngLat(place.geometry.coordinates)
|
||||
.addTo(map);
|
||||
});
|
||||
map.updatePlaceLayer(data);
|
||||
});
|
||||
}
|
||||
|
||||
@ -142,19 +71,5 @@ function animateMapIn(latitude, longitude, zoom, heading) {
|
||||
if (typeof heading == 'undefined') {
|
||||
heading = 0;
|
||||
}
|
||||
map.flyTo({
|
||||
center: [
|
||||
longitude,
|
||||
latitude
|
||||
],
|
||||
speed: 0.7,
|
||||
zoom: zoom,
|
||||
heading: heading,
|
||||
pitch: 45
|
||||
});
|
||||
// Set min zoom after some time to fly in
|
||||
setTimeout(function () {
|
||||
map.setMinZoom(16);
|
||||
map.setPitch(45);
|
||||
}, 1000);
|
||||
map.animateMapIn(latitude, longitude, zoom, heading);
|
||||
}
|
160
www/js/map_leaflet.js
Normal file
160
www/js/map_leaflet.js
Normal file
@ -0,0 +1,160 @@
|
||||
/*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
function leafletMap() {
|
||||
var map = L.map('mapbox', {
|
||||
zoomSnap: 0.25,
|
||||
zoomControl: false,
|
||||
attributionControl: false
|
||||
});
|
||||
|
||||
map.placelayer = L.layerGroup();
|
||||
|
||||
map.placelayer.addTo(map);
|
||||
|
||||
$("#mapbox").css("background-color", "#6cdc9b");
|
||||
$("#mapbox").css("background-image", "url(img/map/ground.png)");
|
||||
// Prevent roads and stuff from appearing above UI
|
||||
$("#mapbox").css("z-index", "-9999");
|
||||
|
||||
var openmaptilesUrl = SETTINGS['map_pbf_url'];
|
||||
|
||||
var vectorTileStyling = {
|
||||
water: {
|
||||
fill: true,
|
||||
weight: 1,
|
||||
fillColor: '#76FFFF',
|
||||
color: '#76FFFF',
|
||||
fillOpacity: 1,
|
||||
opacity: 1
|
||||
},
|
||||
admin: [],
|
||||
waterway: {
|
||||
weight: 1,
|
||||
fillColor: '#76FFFF',
|
||||
color: '#76FFFF',
|
||||
fillOpacity: 1,
|
||||
opacity: 1
|
||||
},
|
||||
landcover: {
|
||||
fill: true,
|
||||
weight: 1,
|
||||
fillColor: '#62CF80',
|
||||
color: '#62CF80',
|
||||
fillOpacity: 0.5,
|
||||
opacity: 0.5,
|
||||
},
|
||||
landuse: [],
|
||||
park: {
|
||||
fill: true,
|
||||
weight: 1,
|
||||
fillColor: '#62CF80',
|
||||
color: '#62CF80',
|
||||
fillOpacity: 0.5,
|
||||
opacity: 0.5
|
||||
},
|
||||
boundary: [],
|
||||
aeroway: [],
|
||||
transportation: {
|
||||
weight: 2,
|
||||
fillColor: '#FEC481',
|
||||
color: '#FEC481',
|
||||
fillOpacity: 1,
|
||||
opacity: 1,
|
||||
},
|
||||
building: {
|
||||
fill: true,
|
||||
weight: 1,
|
||||
fillColor: '#c0e3e9',
|
||||
color: '#c0e3e9',
|
||||
fillOpacity: 0.5,
|
||||
opacity: 0.5
|
||||
},
|
||||
water_name: [],
|
||||
transportation_name: [],
|
||||
place: [],
|
||||
housenumber: [],
|
||||
poi: [],
|
||||
country_name: [],
|
||||
marine_name: [],
|
||||
state_name: [],
|
||||
place_name: [],
|
||||
waterway_name: [],
|
||||
poi_name: [],
|
||||
road_name: [],
|
||||
housenum_name: []
|
||||
};
|
||||
|
||||
var openmaptilesVectorTileOptions = {
|
||||
rendererFactory: L.svg.tile,
|
||||
attribution: '',
|
||||
vectorTileLayerStyles: vectorTileStyling,
|
||||
maxNativeZoom: 14,
|
||||
maxZoom: 20
|
||||
};
|
||||
|
||||
var openmaptilesPbfLayer = L.vectorGrid.protobuf(openmaptilesUrl, openmaptilesVectorTileOptions).addTo(map);
|
||||
|
||||
map.setView({lat: 0, lng: 0}, 1);
|
||||
|
||||
map.setMapHeading = function (heading) {
|
||||
|
||||
}
|
||||
|
||||
map.setMapLocation = function (latitude, longitude) {
|
||||
map.setView({
|
||||
lng: longitude,
|
||||
lat: latitude
|
||||
});
|
||||
}
|
||||
|
||||
map.updatePlaceLayer = function (data) {
|
||||
map.placelayer.clearLayers();
|
||||
|
||||
data.features.forEach(function (place) {
|
||||
var color = "white";
|
||||
if (place.properties.teamid != null && place.properties.teamid > 0) {
|
||||
color = SETTINGS["teams"][place.properties.teamid]["color"];
|
||||
}
|
||||
|
||||
var icon = L.icon({
|
||||
iconUrl: "img/place/" + color + ".png",
|
||||
iconSize: [50, 50],
|
||||
iconAnchor: [25, 10]
|
||||
});
|
||||
|
||||
L.marker(
|
||||
[
|
||||
place.geometry.coordinates[1],
|
||||
place.geometry.coordinates[0]
|
||||
],
|
||||
{
|
||||
icon: icon
|
||||
})
|
||||
.on('click', function () {
|
||||
openPlace(place.properties.id, place.properties.name);
|
||||
})
|
||||
.addTo(map.placelayer);
|
||||
});
|
||||
}
|
||||
|
||||
map.animateMapIn = function (latitude, longitude, zoom, heading) {
|
||||
if (typeof zoom == 'undefined') {
|
||||
zoom = 17;
|
||||
}
|
||||
if (typeof heading == 'undefined') {
|
||||
heading = 0;
|
||||
}
|
||||
map.flyTo([latitude, longitude], zoom);
|
||||
// Set min zoom after some time to fly in
|
||||
setTimeout(function () {
|
||||
map.setMinZoom(14);
|
||||
map.setZoom(zoom);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
130
www/js/map_mapbox.js
Normal file
130
www/js/map_mapbox.js
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
function mapboxMap() {
|
||||
mapboxgl.accessToken = '';
|
||||
var map = new mapboxgl.Map({
|
||||
container: 'mapbox',
|
||||
style: SETTINGS['map_style_json'],
|
||||
attributionControl: false,
|
||||
dragPan: false,
|
||||
pitch: 0,
|
||||
zoom: 0,
|
||||
maxZoom: 20
|
||||
});
|
||||
|
||||
map.mapEasing = function (t) {
|
||||
return t * (2 - t);
|
||||
}
|
||||
|
||||
map.setMapHeading = function (heading) {
|
||||
if (typeof heading == 'number') {
|
||||
map.easeTo({
|
||||
bearing: heading,
|
||||
easing: map.mapEasing
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
map.setMapLocation = function (latitude, longitude) {
|
||||
map.easeTo({
|
||||
center: [
|
||||
longitude,
|
||||
latitude
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
map.updatePlaceLayer = function (data) {
|
||||
var oldmarkers = document.getElementsByClassName("place-marker");
|
||||
if (oldmarkers.length > 0) {
|
||||
markerparent = oldmarkers[0].parentNode;
|
||||
while (oldmarkers.length > 0) {
|
||||
markerparent.removeChild(oldmarkers[0]);
|
||||
}
|
||||
}
|
||||
data.features.forEach(function (place) {
|
||||
var el = document.createElement("div");
|
||||
el.className = "place-marker";
|
||||
if (place.properties.teamid != null && place.properties.teamid > 0) {
|
||||
el.className += " place-color-" + SETTINGS["teams"][place.properties.teamid]["color"];
|
||||
}
|
||||
|
||||
el.addEventListener('click', function () {
|
||||
openPlace(place.properties.id, place.properties.name);
|
||||
});
|
||||
|
||||
new mapboxgl.Marker(el)
|
||||
.setLngLat(place.geometry.coordinates)
|
||||
.addTo(map);
|
||||
});
|
||||
}
|
||||
|
||||
map.animateMapIn = function (latitude, longitude, zoom, heading) {
|
||||
if (typeof zoom == 'undefined') {
|
||||
zoom = 17;
|
||||
}
|
||||
if (typeof heading == 'undefined') {
|
||||
heading = 0;
|
||||
}
|
||||
map.flyTo({
|
||||
center: [
|
||||
longitude,
|
||||
latitude
|
||||
],
|
||||
speed: 0.7,
|
||||
zoom: zoom,
|
||||
heading: heading,
|
||||
pitch: 45
|
||||
});
|
||||
// Set min zoom after some time to fly in
|
||||
setTimeout(function () {
|
||||
map.setMinZoom(15);
|
||||
map.setPitch(45);
|
||||
map.setZoom(zoom);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
var dpPoint = null;
|
||||
var dpPitch = null;
|
||||
|
||||
map.on('touchstart', function (data) {
|
||||
if (data.points.length == 2) {
|
||||
var diff = Math.abs(data.points[0].y - data.points[1].y);
|
||||
if (diff <= 50) {
|
||||
dpPoint = data.point;
|
||||
map.touchZoomRotate.disable();
|
||||
dpPitch = map.getPitch();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
map.on('touchmove', function (data) {
|
||||
if (dpPoint) {
|
||||
data.preventDefault();
|
||||
var pitchdiff = (dpPoint.y - data.point.y) * 0.5;
|
||||
map.setPitch(dpPitch + pitchdiff);
|
||||
}
|
||||
});
|
||||
|
||||
map.on('touchend', function (data) {
|
||||
if (dpPoint) {
|
||||
map.touchZoomRotate.enable();
|
||||
}
|
||||
dpPoint = null;
|
||||
dpPitch = null;
|
||||
});
|
||||
|
||||
map.on('touchcancel', function (data) {
|
||||
if (dpPoint) {
|
||||
map.touchZoomRotate.enable();
|
||||
}
|
||||
dpPoint = null;
|
||||
dpPitch = null;
|
||||
});
|
||||
|
||||
return map;
|
||||
}
|
@ -7,12 +7,13 @@
|
||||
|
||||
var settings = [
|
||||
{
|
||||
setting: "account",
|
||||
title: "Sign out",
|
||||
text: "Disconnect this device and open the sign in screen.",
|
||||
icon: "game-icon game-icon-exit-door",
|
||||
color: "red",
|
||||
onclick: "logout()"
|
||||
setting: "litemode",
|
||||
title: "Use alternate map",
|
||||
text: "Replace the 3D map with a lightweight power-saving 2D version.",
|
||||
icon: "game-icon game-icon-treasure-map",
|
||||
color: "green",
|
||||
type: "toggle",
|
||||
restart: true
|
||||
},
|
||||
{
|
||||
setting: "opensource",
|
||||
@ -20,7 +21,8 @@ var settings = [
|
||||
text: "See information on third-party code and artwork used in TerranQuest.",
|
||||
icon: "game-icon game-icon-spell-book",
|
||||
color: "lightblue",
|
||||
onclick: "router.navigate('/credits')"
|
||||
onclick: "router.navigate('/credits')",
|
||||
type: "link"
|
||||
},
|
||||
{
|
||||
setting: "privacy",
|
||||
@ -28,7 +30,17 @@ var settings = [
|
||||
text: "Know what data we collect and what your rights are.",
|
||||
icon: "game-icon game-icon-spy",
|
||||
color: "purple",
|
||||
onclick: "openBrowser('" + SETTINGS["terms_of_service_url"] + "')"
|
||||
onclick: "openBrowser('" + SETTINGS["terms_of_service_url"] + "')",
|
||||
type: "link"
|
||||
},
|
||||
{
|
||||
setting: "account",
|
||||
title: "Sign out",
|
||||
text: "Disconnect this device and open the sign in screen.",
|
||||
icon: "game-icon game-icon-exit-door",
|
||||
color: "red",
|
||||
onclick: "logout()",
|
||||
type: "link"
|
||||
},
|
||||
{
|
||||
setting: "versions",
|
||||
@ -43,14 +55,50 @@ var settings = [
|
||||
function loadSettings() {
|
||||
$("#settings-bin").html("");
|
||||
settings.forEach(function (item) {
|
||||
$("#settings-bin").append('<div class="col-100 tablet-33 desktop-25 item-col">'
|
||||
+ '<div class="card padding-half" onclick="' + item.onclick + '">'
|
||||
+ '<div class="card-content">'
|
||||
+ '<i class="item-icon ' + item.icon + ' text-color-' + item.color + '"></i><br />'
|
||||
+ '<h3>' + item.title + '</h3>'
|
||||
+ item.text
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '</div>');
|
||||
$("#settings-bin").append('<li data-setting="' + item.setting + '">'
|
||||
+ (item.type == "link" ? '<a href="#" onclick="' + item.onclick + '">' : '')
|
||||
+ ' <div class="item-content">'
|
||||
+ ' <div class="item-media" style="justify-content: center;">'
|
||||
+ ' <i class="' + item.icon + ' fa-2x text-color-' + item.color + '"></i>'
|
||||
+ ' </div>'
|
||||
+ ' <div class="item-inner">'
|
||||
+ ' <div class="item-title">'
|
||||
+ ' ' + item.title
|
||||
+ ' <div class="item-footer">'
|
||||
+ ' ' + item.text
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' <div class="item-after">'
|
||||
+ (item.type == "toggle" ? '<label class="toggle">'
|
||||
+ ' <input type="checkbox"/>'
|
||||
+ ' <span class="toggle-icon"></span>'
|
||||
+ '</label>' : '')
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ (item.type == "link" ? '</a>' : '')
|
||||
+ '</li>'
|
||||
);
|
||||
if (item.type == "toggle") {
|
||||
var toggle = app.toggle.create({
|
||||
el: "#settings-bin li[data-setting=" + item.setting + "] .toggle",
|
||||
on: {
|
||||
change: function () {
|
||||
// Don't do anything if the setting isn't actually changed
|
||||
if ((localStorage.getItem(item.setting) == "true") == this.checked) {
|
||||
return;
|
||||
}
|
||||
localStorage.setItem(item.setting, this.checked);
|
||||
if (item.restart == true) {
|
||||
app.dialog.preloader('Applying changes...');
|
||||
setTimeout(restartApplication, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
if ((localStorage.getItem(item.setting) == "true") != toggle.checked) {
|
||||
toggle.toggle();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
@ -8,6 +8,8 @@
|
||||
"framework7": "^4.3.0",
|
||||
"jdenticon": "^2.1.1",
|
||||
"jquery": "^3.4.0",
|
||||
"leaflet": "^1.5.1",
|
||||
"leaflet.vectorgrid": "^1.3.0",
|
||||
"mapbox-gl": "^0.54.0"
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,10 @@
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="block">
|
||||
<div class="row justify-content-center" id="settings-bin">
|
||||
<div class="row no-gap justify-content-center">
|
||||
<div class="list no-hairlines tablet-inset col-100 tablet-75 desktop-50">
|
||||
<ul id="settings-bin">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -12,6 +12,7 @@ var SETTINGS = {
|
||||
signup_url: "http://localhost/accounthub/signup/",
|
||||
terms_of_service_url: "https://netsyms.com/legal?pk_campaign=TerranQuestApp",
|
||||
map_style_json: "https://maps.netsyms.net/styles/terranquest-3d/style.json",
|
||||
map_pbf_url: "https://maps.netsyms.net/data/v3/{z}/{x}/{y}.pbf",
|
||||
stripe_pubkey: "",
|
||||
teams: {
|
||||
1: {id: 1, name: "Water", icon: "fas fa-tint", color: "blue", textcolor: "black", hue: 230},
|
||||
|
@ -89,6 +89,11 @@ cardinal@~0.4.2:
|
||||
ansicolors "~0.2.1"
|
||||
redeyed "~0.4.0"
|
||||
|
||||
commander@2:
|
||||
version "2.20.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
|
||||
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
|
||||
|
||||
concat-stream@~1.6.0:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||
@ -188,6 +193,21 @@ kdbush@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-3.0.0.tgz#f8484794d47004cc2d85ed3a79353dbe0abc2bf0"
|
||||
integrity sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==
|
||||
|
||||
leaflet.vectorgrid@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/leaflet.vectorgrid/-/leaflet.vectorgrid-1.3.0.tgz#ff2deea17d06a9c6cc5e65d8c7287093950e219a"
|
||||
integrity sha512-kWmj1pKM+MVdo/7Mg5zsB3YrGZvo/uIuiANV9MvWUFOG+Y2xAJzrteDhoIcCgTjHSSRJ36xdeGdIQVhuWjnCZw==
|
||||
dependencies:
|
||||
pbf "^3.0.2"
|
||||
topojson-client "^2.1.0"
|
||||
vector-tile "^1.3.0"
|
||||
whatwg-fetch "^2.0.3"
|
||||
|
||||
leaflet@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.5.1.tgz#9afb9d963d66c870066b1342e7a06f92840f46bf"
|
||||
integrity sha512-ekM9KAeG99tYisNBg0IzEywAlp0hYI5XRipsqRXyRTeuU8jcuntilpp+eFf5gaE0xubc9RuSNIVtByEKwqFV0w==
|
||||
|
||||
mapbox-gl@^0.54.0:
|
||||
version "0.54.0"
|
||||
resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-0.54.0.tgz#f6cb96ecb8e64276a8ed2fe4a4f213fabab4123e"
|
||||
@ -243,7 +263,7 @@ path-to-regexp@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.0.0.tgz#c981a218f3df543fa28696be2f88e0c58d2e012a"
|
||||
integrity sha512-ZOtfhPttCrqp2M1PBBH4X13XlvnfhIwD7yCLx+GoGoXRPQyxGOTdQMpIzPSPKXAJT/JQrdfFrgdJOyAzvgpQ9A==
|
||||
|
||||
pbf@^3.0.5:
|
||||
pbf@^3.0.2, pbf@^3.0.5:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.0.tgz#e76f9f5114e395c25077ad6fe463b3507d6877fc"
|
||||
integrity sha512-98Eh7rsJNJF/Im6XYMLaOW3cLnNyedlOd6hu3iWMD5I7FZGgpw8yN3vQBrmLbLodu7G784Irb9Qsv2yFrxSAGw==
|
||||
@ -251,6 +271,11 @@ pbf@^3.0.5:
|
||||
ieee754 "^1.1.12"
|
||||
resolve-protobuf-schema "^2.1.0"
|
||||
|
||||
point-geometry@0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/point-geometry/-/point-geometry-0.0.0.tgz#6fcbcad7a803b6418247dd6e49c2853c584daff7"
|
||||
integrity sha1-b8vK16gDtkGCR91uScKFPFhNr/c=
|
||||
|
||||
potpack@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.1.tgz#d1b1afd89e4c8f7762865ec30bd112ab767e2ebf"
|
||||
@ -358,6 +383,13 @@ tinyqueue@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.2.tgz#b4fe66d28a5b503edb99c149f87910059782a0cc"
|
||||
integrity sha512-1oUV+ZAQaeaf830ui/p5JZpzGBw46qs1pKHcfqIc6/QxYDQuEmcBLIhiT0xAxLnekz+qxQusubIYk4cAS8TB2A==
|
||||
|
||||
topojson-client@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-2.1.0.tgz#ff9f7bf38991185e0b4284c2b06ae834f0eac6c8"
|
||||
integrity sha1-/59784mRGF4LQoTCsGroNPDqxsg=
|
||||
dependencies:
|
||||
commander "2"
|
||||
|
||||
typedarray@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
@ -368,6 +400,13 @@ util-deprecate@~1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
|
||||
|
||||
vector-tile@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/vector-tile/-/vector-tile-1.3.0.tgz#06d516a83b063f04c82ef539cf1bb1aebeb696b4"
|
||||
integrity sha1-BtUWqDsGPwTILvU5zxuxrr62lrQ=
|
||||
dependencies:
|
||||
point-geometry "0.0.0"
|
||||
|
||||
vt-pbf@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.1.tgz#b0f627e39a10ce91d943b898ed2363d21899fb82"
|
||||
@ -381,3 +420,8 @@ wgs84@0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wgs84/-/wgs84-0.0.0.tgz#34fdc555917b6e57cf2a282ed043710c049cdc76"
|
||||
integrity sha1-NP3FVZF7blfPKigu0ENxDASc3HY=
|
||||
|
||||
whatwg-fetch@^2.0.3:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
|
||||
integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==
|
||||
|
Loading…
x
Reference in New Issue
Block a user