From 9ab5e684f376fc13d47df8066588aa89fa2bc81c Mon Sep 17 00:00:00 2001 From: Nicolas Froger Date: Fri, 26 Jul 2024 01:20:00 +0200 Subject: [PATCH] frontend: create-post: fix city name lookup Signed-off-by: Nicolas Froger --- summer2024-frontend/src/views/CreatePostView.vue | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/summer2024-frontend/src/views/CreatePostView.vue b/summer2024-frontend/src/views/CreatePostView.vue index 59c0fe2..dabb974 100644 --- a/summer2024-frontend/src/views/CreatePostView.vue +++ b/summer2024-frontend/src/views/CreatePostView.vue @@ -167,7 +167,18 @@ function getCityAndCountry() { fetch(`https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=jsonv2`) .then((resp) => resp.json()).then((resp) => { - form.setFieldValue('city', resp.address.village) + const cityFieldOrder = ['city', 'town', 'borough', 'village', 'suburb', 'municipality', 'county', 'state'] + let found = false + for (const field of cityFieldOrder) { + if (Object.hasOwn(resp.address, field)) { + found = true + form.setFieldValue('city', resp.address[field]) + break + } + } + if (!found) { + form.setFieldValue('city', 'endroit perdu') + } form.setFieldValue('country', resp.address.country) })