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",