diff --git a/Docs/Misc/ImportANote.gif b/Docs/Misc/ImportANote.gif
deleted file mode 100644
index f41b96f636..0000000000
Binary files a/Docs/Misc/ImportANote.gif and /dev/null differ
diff --git a/Docs/Misc/ImportAPoint.gif b/Docs/Misc/ImportAPoint.gif
new file mode 100644
index 0000000000..e1b8ab3662
Binary files /dev/null and b/Docs/Misc/ImportAPoint.gif differ
diff --git a/Docs/Screenshots/AED.png b/Docs/Screenshots/AED.png
new file mode 100644
index 0000000000..da1c49f02b
Binary files /dev/null and b/Docs/Screenshots/AED.png differ
diff --git a/Docs/Screenshots/AddNew.png b/Docs/Screenshots/AddNew.png
new file mode 100644
index 0000000000..71065cc0ee
Binary files /dev/null and b/Docs/Screenshots/AddNew.png differ
diff --git a/Docs/Screenshots/Cyclestreets.png b/Docs/Screenshots/Cyclestreets.png
new file mode 100644
index 0000000000..d3281b03de
Binary files /dev/null and b/Docs/Screenshots/Cyclestreets.png differ
diff --git a/Docs/Screenshots/Cyclofix.png b/Docs/Screenshots/Cyclofix.png
new file mode 100644
index 0000000000..61b162c3f2
Binary files /dev/null and b/Docs/Screenshots/Cyclofix.png differ
diff --git a/Docs/Screenshots/Fritures.png b/Docs/Screenshots/Fritures.png
new file mode 100644
index 0000000000..c91c3bd1ca
Binary files /dev/null and b/Docs/Screenshots/Fritures.png differ
diff --git a/Docs/Screenshots/PinJePunt.png b/Docs/Screenshots/PinJePunt.png
new file mode 100644
index 0000000000..ca4951f786
Binary files /dev/null and b/Docs/Screenshots/PinJePunt.png differ
diff --git a/Docs/Screenshots/Playground-popup-bottom.png b/Docs/Screenshots/Playground-popup-bottom.png
new file mode 100644
index 0000000000..9c73ddb9cc
Binary files /dev/null and b/Docs/Screenshots/Playground-popup-bottom.png differ
diff --git a/Docs/Screenshots/Playground-popup-top.png b/Docs/Screenshots/Playground-popup-top.png
new file mode 100644
index 0000000000..e33e604d5b
Binary files /dev/null and b/Docs/Screenshots/Playground-popup-top.png differ
diff --git a/Docs/Screenshots/Toilets.png b/Docs/Screenshots/Toilets.png
new file mode 100644
index 0000000000..3d68f71dd0
Binary files /dev/null and b/Docs/Screenshots/Toilets.png differ
diff --git a/Docs/Screenshots/collage.png b/Docs/Screenshots/collage.png
new file mode 100644
index 0000000000..bb95dbef1b
Binary files /dev/null and b/Docs/Screenshots/collage.png differ
diff --git a/Logic/Osm/Overpass.ts b/Logic/Osm/Overpass.ts
index 2e82e8f62b..a563c31bf9 100644
--- a/Logic/Osm/Overpass.ts
+++ b/Logic/Osm/Overpass.ts
@@ -4,7 +4,10 @@ import {Utils} from "../../Utils";
import {UIEventSource} from "../UIEventSource";
import {BBox} from "../BBox";
import * as osmtogeojson from "osmtogeojson";
+<<<<<<< HEAD
+=======
+>>>>>>> b54b5061cc72488ceb007177275fb600cce0a0dd
/**
* Interfaces overpass to get all the latest data
@@ -57,6 +60,8 @@ export class Overpass {
}
/**
+ * Constructs the actual script
+ *
* import {Tag} from "../Tags/Tag";
*
* new Overpass(new Tag("key","value"), [], "").buildScript("{{bbox}}") // => `[out:json][timeout:90]{{bbox}};(nwr["key"="value"];);out body;out meta;>;out skel qt;`
diff --git a/assets/layers/climbing_area/climbing_area.json b/assets/layers/climbing_area/climbing_area.json
index 22c0d28844..22b694ba5a 100644
--- a/assets/layers/climbing_area/climbing_area.json
+++ b/assets/layers/climbing_area/climbing_area.json
@@ -93,7 +93,7 @@
},
"calculatedTags": [
"_contained_climbing_routes_properties=feat.overlapWith('climbing_route').map(f => f.feat.properties).map(p => {return {id: p.id, name: p.name, 'climbing:grade:french': p['climbing:grade:french'], 'climbing:length': p['climbing:length']} })",
- "_contained_climbing_routes=feat.get('_contained_climbing_routes_properties')?.map(p => `
${p.name ?? 'climbing route'} (${p['climbing:grade:french'] ?? 'unknown difficulty'}, ${p['climbing:length'] ?? 'unkown length'} meter)`).join('')",
+ "_contained_climbing_routes=feat.get('_contained_climbing_routes_properties')?.map(p => `${p.name ?? 'climbing route'} (${p['climbing:grade:french'] ?? 'unknown difficulty'}, ${p['climbing:length'] ?? 'unkown length'} meter)`).join('')",
"_contained_climbing_route_ids=feat.get('_contained_climbing_routes_properties')?.map(p => p.id)",
"_difficulty_hist=feat.get('_contained_climbing_routes_properties')?.map(p => p['climbing:grade:french'])?.filter(p => (p ?? null) !== null)?.sort()",
"_difficulty_max=feat.get('_difficulty_hist')?.at(-1)",
diff --git a/assets/layers/climbing_route/climbing_route.json b/assets/layers/climbing_route/climbing_route.json
index a562c753c1..d95d5748b2 100644
--- a/assets/layers/climbing_route/climbing_route.json
+++ b/assets/layers/climbing_route/climbing_route.json
@@ -217,9 +217,18 @@
],
"label": {
"mappings": [
+ {
+ "if": {
+ "and": [
+ "climbing:grade:french~*",
+ "name~*"
+ ]
+ },
+ "then": "{name} {climbing:grade:french}
"
+ },
{
"if": "name~*",
- "then": "{name}
"
+ "then": "{name}
"
}
]
}
diff --git a/assets/themes/climbing/climbing.css b/assets/themes/climbing/climbing.css
new file mode 100644
index 0000000000..3acbe90412
--- /dev/null
+++ b/assets/themes/climbing/climbing.css
@@ -0,0 +1,48 @@
+/* a few extra colours, mostly colours difficulties. Debuggable in css-test.html */
+
+.climbing- {
+ /*Fallback in case of unrecognized difficulty*/
+ background: white;
+ border: 1px solid black;
+
+ background: repeating-linear-gradient( -45deg, #a7b9ae, #a7b9ae 10px, #f7f7f7 10px, #f7f7f7 20px );
+
+}
+
+.climbing-2 {
+ background: #a2ff00;
+}
+
+.climbing-3 {
+ background: yellow;
+}
+
+.climbing-4 {
+ background: orange;
+}
+
+.climbing-5 {
+ background: blue;
+ color: white;
+}
+
+.climbing-6 {
+ background: red;
+ color: white;
+}
+
+.climbing-7 {
+ background: #ef47ec;
+}
+
+.climbing-8 {
+ background: black;
+ color: white;
+}
+
+.climbing-9 {
+ background: white;
+ color: black;
+ border: 1px solid black;
+}
+
diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json
index 043485b54d..66a53b1820 100644
--- a/assets/themes/climbing/climbing.json
+++ b/assets/themes/climbing/climbing.json
@@ -42,16 +42,17 @@
"startLon": 0,
"startZoom": 1,
"widenFactor": 1.5,
+ "customCss": "./assets/themes/climbing/climbing.css",
"layers": [
{
"builtin": [
- "climbing_club",
- "climbing_gym",
- "climbing_route",
- "climbing_area",
- "climbing_opportunity"
+ "climbing_club",
+ "climbing_gym",
+ "climbing_route",
+ "climbing_area",
+ "climbing_opportunity"
],
- "override": {
+ "override": {
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
@@ -76,93 +77,15 @@
{
"id": "Min difficulty",
"condition": "__difficulty_min~*",
- "then": " {__difficulty_min}
",
-
- "mappings": [
- {
- "if": "__difficulty_min~(2|3).*",
- "then": " {__difficulty_min}
"
- },
- {
- "if": "__difficulty_min~4.*",
- "then": " {__difficulty_min}
"
- },
- {
- "if": "__difficulty_min~5.*",
- "then": " {__difficulty_min}
"
- },
- {
- "if": "__difficulty_min~6.*",
- "then": " {__difficulty_min}
"
- },
- {
- "if": "__difficulty_min~(7|8).*",
- "then": " {__difficulty_min}
"
- },
- {
- "if": "__difficulty_min~*",
- "then": " {__difficulty_min}
"
- }
- ]
+ "render": " {__difficulty_min}
"
},
{
"id": "max difficulty",
"condition": "__difficulty_max~*",
- "then": " {__difficulty_max}
",
- "mappings": [
- {
- "if": "__difficulty_max~(2|3).*",
- "then": " {__difficulty_max}
"
- },
- {
- "if": "__difficulty_max~4.*",
- "then": " {__difficulty_max}
"
- },
- {
- "if": "__difficulty_max~5.*",
- "then": " {__difficulty_max}
"
- },
- {
- "if": "__difficulty_max~6.*",
- "then": " {__difficulty_max}
"
- },
- {
- "if": "__difficulty_max~(7|8).*",
- "then": " {__difficulty_max}
"
- },
- {
- "if": "__difficulty_max~*",
- "then": " {__difficulty_max}
"
- }
- ]
+ "render": " {__difficulty_max}
"
},
{
- "mappings": [
- {
- "if": "climbing:grade:french~3.*",
- "then": " {climbing:grade:french}
"
- },
- {
- "if": "climbing:grade:french~4.*",
- "then": " {climbing:grade:french}
"
- },
- {
- "if": "climbing:grade:french~5.*",
- "then": " {climbing:grade:french}
"
- },
- {
- "if": "climbing:grade:french~6.*",
- "then": " {climbing:grade:french}
"
- },
- {
- "if": "climbing:grade:french~7.*",
- "then": " {climbing:grade:french}
"
- },
- {
- "if": "climbing:grade:french~*",
- "then": " {climbing:grade:french}
"
- }
- ]
+ "render": " {climbing:grade:french}
"
}
],
"+calculatedTags": [
@@ -176,6 +99,9 @@
"_embedding_feature:id=feat.get('_embedding_features_with_access')?.id",
"__difficulty_max= feat.properties['climbing:grade:french:max'] ?? feat.properties['_difficulty_max']",
"__difficulty_min= feat.properties['climbing:grade:french:min'] ?? feat.properties['_difficulty_min']",
+ "__difficulty_max:char= feat.properties['__difficulty_max']?.at(0)",
+ "__difficulty_min:char= feat.properties['__difficulty_min']?.at(0)",
+ "__difficulty:char= feat.properties['climbing:grade:french']?.at(0)",
"__bolts_max= feat.get('climbing:bolts:max') ?? feat.get('climbing:bolts') ?? feat.get('_bolts_max')"
],
"units+": [
diff --git a/assets/themes/climbing/css-test.html b/assets/themes/climbing/css-test.html
new file mode 100644
index 0000000000..f968878139
--- /dev/null
+++ b/assets/themes/climbing/css-test.html
@@ -0,0 +1,23 @@
+
+
+
+
+ CSS-debugging for climbing theme
+
+
+
+
+
+ 2
+
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ X
+
+
+
\ No newline at end of file
diff --git a/assets/themes/natuurpunt/natuurpunt.css b/assets/themes/natuurpunt/natuurpunt.css
index 1839fd8962..a8952f42ea 100644
--- a/assets/themes/natuurpunt/natuurpunt.css
+++ b/assets/themes/natuurpunt/natuurpunt.css
@@ -20,12 +20,12 @@
@font-face{
font-family:"Open Sans Regular";
- src:url("./assets/themes/natuurpunt/fonts/OpenSans-Regular.ttf");
+ src:url("/assets/themes/natuurpunt/fonts/OpenSans-Regular.ttf");
}
@font-face{
font-family:"Amaranth";
- src:url("./assets/themes/natuurpunt/fonts/Amaranth-Regular.otf");
+ src:url("/assets/themes/natuurpunt/fonts/Amaranth-Regular.otf");
}
body {
@@ -109,4 +109,4 @@ h1, h2, h3, h4 {
.first-filter-panel {
/* Additional class on the first layer filter */
border-top: unset !important;
-}
\ No newline at end of file
+}
diff --git a/assets/themes/toerisme_vlaanderen/custom.css b/assets/themes/toerisme_vlaanderen/custom.css
index 2ea3bdf21e..27a4894ba6 100644
--- a/assets/themes/toerisme_vlaanderen/custom.css
+++ b/assets/themes/toerisme_vlaanderen/custom.css
@@ -4,12 +4,12 @@
@font-face{
font-family:"FlandersArt";
- src:url("./assets/themes/toerisme_vlaanderen/FlandersArtSans-Light.woff");
+ src:url("/assets/themes/toerisme_vlaanderen/FlandersArtSans-Light.woff");
}
@font-face{
font-family:"FlandersArtSerif";
- src:url("./assets/themes/toerisme_vlaanderen/FlandersArtSerif-Medium.woff");
+ src:url("/assets/themes/toerisme_vlaanderen/FlandersArtSerif-Medium.woff");
}
h1, h2, h3, h4 {
diff --git a/package.json b/package.json
index 1488ede86b..6b4ef97b7e 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"main": "index.js",
"scripts": {
"start": "npm run generate:layeroverview && npm run strt",
- "strt": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve *.html UI/** Logic/** assets/*.json assets/svg/* assets/generated/* assets/layers/*/*.svg assets/layers/*/*/*/*.svg assets/layers/*/*.jpg assets/layers/*/*.png assets/layers/*/*.css assets/tagRenderings/*.json assets/themes/*/*.svg assets/themes/*/*.ttf assets/themes/*/*/*.ttf aassets/themes/*/*.otf assets/themes/*/*/*.otf ssets/themes/*/*.css assets/themes/*/*.jpg assets/themes/*/*.png vendor/* vendor/*/*",
+ "strt": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve *.html UI/** Logic/** assets/*.json assets/svg/* assets/generated/* assets/layers/*/*.svg assets/layers/*/*/*/*.svg assets/layers/*/*.jpg assets/layers/*/*.png assets/layers/*/*.css assets/tagRenderings/*.json assets/themes/*/*.svg assets/themes/*/*.ttf assets/themes/*/*/*.ttf assets/themes/*/*.otf assets/themes/*/*/*.otf assets/themes/*/*.css assets/themes/*/*.jpg assets/themes/*/*.woff assets/themes/*/*.png vendor/* vendor/*/*",
"strttest": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve test.html",
"watch:css": "tailwindcss -i index.css -o css/index-tailwind-output.css --watch",
"generate:css": "tailwindcss -i index.css -o css/index-tailwind-output.css",