From ec100aa36b1dfb21eaa6e8a7b7b6b55047fd216c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
Date: Thu, 15 Dec 2022 09:35:26 +0100
Subject: [PATCH] footways: add a smoothness filter

---
 footways.yaml | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/footways.yaml b/footways.yaml
index 3798b04..22f72b5 100644
--- a/footways.yaml
+++ b/footways.yaml
@@ -533,6 +533,43 @@ filter:
       unknown:
         name: '<{{ trans("unknown") }}>'
         weight: -1
+  smoothness:
+    name: '{{ keyTrans("smoothness") }}'
+    type: select
+    placeholder: '<{{ trans("any value") }}>'
+    valueName: '{{ tagTrans("smoothness", value) }}'
+    query: '(nwr[smoothness="{{ value }}"];nwr[~"sidewalk:(left|right|both):smoothness"~"{{ value }}"];)'
+    values:
+      bad: {}
+      excellent: {}
+      good: {}
+      horrible: {}
+      impassable: {}
+      intermediate: {}
+      very_bad: {}
+      very_horrible: {}
+      '!':
+        name: <{{ trans('empty value') }}>
+        query: |
+          (
+          nwr[!"smoothness"];
+          nwr["sidewalk:left"="yes"][!"sidewalk:left:smoothness"];
+          nwr["sidewalk:right"="yes"][!"sidewalk:right:smoothness"];
+          nwr["sidewalk:both"="yes"][!"sidewalk:both:smoothness"][!"sidewalk:left:smoothness"];
+          nwr["sidewalk:both"="yes"][!"sidewalk:both:smoothness"][!"sidewalk:right:smoothness"];
+          nwr["sidewalk"="left"][!"sidewalk:left:smoothness"];
+          nwr["sidewalk"="right"][!"sidewalk:right:smoothness"];
+          nwr["sidewalk"="both"][!"sidewalk:both:smoothness"][!"sidewalk:left:smoothness"];
+          nwr["sidewalk"="both"][!"sidewalk:both:smoothness"][!"sidewalk:right:smoothness"];
+          )
+        weight: -3
+      '?':
+        name: <{{ trans("other") }}>
+        query: nwr[smoothness]["smoothness"!~"^(bad|excellent|good|horrible|impassable|intermediate|very_bad|very_horrible)$"]
+        weight: -2
+      unknown:
+        name: '<{{ trans("unknown") }}>'
+        weight: -1
 const:
   categories:
     sidewalk: