Skip to content

Commit 0a060e2

Browse files
authored
Merge pull request #1178 from WatWowMap/develop
Sync Dev to Main
2 parents d1e551e + 03b11c1 commit 0a060e2

File tree

28 files changed

+900
-286
lines changed

28 files changed

+900
-286
lines changed

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
## [1.40.1-develop.5](https://github.com/WatWowMap/ReactMap/compare/v1.40.1-develop.4...v1.40.1-develop.5) (2025-12-09)
2+
3+
4+
### Bug Fixes
5+
6+
* flyTo stops location following ([08e4eac](https://github.com/WatWowMap/ReactMap/commit/08e4eac27a2d6e1e804339ac3c887f5051e248e0))
7+
8+
## [1.40.1-develop.4](https://github.com/WatWowMap/ReactMap/compare/v1.40.1-develop.3...v1.40.1-develop.4) (2025-12-04)
9+
10+
11+
### Bug Fixes
12+
13+
* locatecontrol ([754e544](https://github.com/WatWowMap/ReactMap/commit/754e54446059c0a4f0c5200b193b3a73972b43a4))
14+
15+
## [1.40.1-develop.3](https://github.com/WatWowMap/ReactMap/compare/v1.40.1-develop.2...v1.40.1-develop.3) (2025-11-25)
16+
17+
18+
### Bug Fixes
19+
20+
* missing translations ([238f602](https://github.com/WatWowMap/ReactMap/commit/238f6021eec53b12ec4a1ad1a1080d0718293b02))
21+
22+
## [1.40.1-develop.2](https://github.com/WatWowMap/ReactMap/compare/v1.40.1-develop.1...v1.40.1-develop.2) (2025-11-25)
23+
24+
25+
### Bug Fixes
26+
27+
* incorrect escape shiny rate tooltip ([ebf31da](https://github.com/WatWowMap/ReactMap/commit/ebf31da2af9528e686130da6aa8e7f52f77e0d18)), closes [#1160](https://github.com/WatWowMap/ReactMap/issues/1160)
28+
29+
## [1.40.1-develop.1](https://github.com/WatWowMap/ReactMap/compare/v1.40.0...v1.40.1-develop.1) (2025-11-24)
30+
31+
32+
### Bug Fixes
33+
34+
* stationed pokemon not updating in popup ([cb3ff09](https://github.com/WatWowMap/ReactMap/commit/cb3ff095fb312133579a87884d391d2a4ee0afe7))
35+
136
# [1.40.0](https://github.com/WatWowMap/ReactMap/compare/v1.39.0...v1.40.0) (2025-11-24)
237

338

config/local.example.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"scanCell",
3737
"spawnpoint",
3838
"weather",
39+
"tappable",
3940
"route",
4041
"nest",
4142
"station"
@@ -138,6 +139,11 @@
138139
"trialPeriodEligible": false,
139140
"roles": []
140141
},
142+
"tappables": {
143+
"enabled": true,
144+
"trialPeriodEligible": false,
145+
"roles": []
146+
},
141147
"pokestops": {
142148
"enabled": true,
143149
"trialPeriodEligible": false,

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "reactmap",
3-
"version": "1.40.0",
3+
"version": "1.40.1-develop.5",
44
"private": true,
55
"description": "React based frontend map.",
66
"license": "MIT",
@@ -100,7 +100,7 @@
100100
"dependencies": {
101101
"@apollo/client": "3.11.4",
102102
"@apollo/server": "4.11.0",
103-
"@emotion/react": "11.13.0",
103+
"@emotion/react": "11.14.0",
104104
"@emotion/styled": "11.13.0",
105105
"@graphql-tools/graphql-file-loader": "8.0.1",
106106
"@graphql-tools/load": "8.0.2",
@@ -117,7 +117,7 @@
117117
"@sentry/react": "^7.65.0",
118118
"@turf/boolean-contains": "7.1.0",
119119
"@turf/boolean-overlap": "7.1.0",
120-
"@turf/boolean-point-in-polygon": "7.1.0",
120+
"@turf/boolean-point-in-polygon": "7.3.1",
121121
"@turf/center": "7.1.0",
122122
"@turf/destination": "7.1.0",
123123
"@turf/distance": "7.1.0",
@@ -135,7 +135,7 @@
135135
"discord.js": "^14.18.0",
136136
"dlv": "^1.1.3",
137137
"dotenv": "^16.3.1",
138-
"express": "5.0.1",
138+
"express": "5.2.1",
139139
"express-mysql-session": "3.0.3",
140140
"express-rate-limit": "7.4.0",
141141
"express-session": "^1.18.1",
@@ -150,16 +150,16 @@
150150
"knex": "3.1.0",
151151
"leaflet": "1.9.4",
152152
"leaflet-arrowheads": "^1.4.0",
153-
"leaflet.locatecontrol": "0.81.0",
153+
"leaflet.locatecontrol": "0.85.1",
154154
"lodash": "^4.17.21",
155155
"long": "^4.0.0",
156-
"moment-timezone": "^0.5.43",
156+
"moment-timezone": "^0.6.0",
157157
"mysql2": "3.11.0",
158158
"node-cache": "^5.1.2",
159159
"node-fetch": "2.7.0",
160160
"node-geocoder": "^4.2.0",
161161
"nodes2ts": "3.0.0",
162-
"objection": "3.1.4",
162+
"objection": "3.1.5",
163163
"ohbem": "1.5.3",
164164
"passport": "^0.6.0",
165165
"passport-discord": "https://github.com/tonestrike/passport-discord.git",
@@ -170,7 +170,7 @@
170170
"react-i18next": "15.0.1",
171171
"react-leaflet": "4.2.1",
172172
"react-router-dom": "^6.15.0",
173-
"react-virtuoso": "4.10.1",
173+
"react-virtuoso": "4.16.1",
174174
"rtree": "^1.4.2",
175175
"source-map": "^0.7.4",
176176
"suncalc": "^1.9.0",

packages/locales/lib/generated/de.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -790,5 +790,37 @@
790790
"expert_group_2": "Gruppe 2",
791791
"expert_group_2_description": "Hohes Level mit perfektem Angriff.",
792792
"expert_combine_description": "Kombiniere sie mit einer , oder |:",
793-
"expert_result_description": "Dieser Filter zeigt ein Pokémon an, wenn es die Kriterien für Gruppe 1 ERFÜLLT ODER wenn es alle Kriterien für Gruppe 2 erfüllt."
793+
"expert_result_description": "Dieser Filter zeigt ein Pokémon an, wenn es die Kriterien für Gruppe 1 ERFÜLLT ODER wenn es alle Kriterien für Gruppe 2 erfüllt.",
794+
"jump_to_areas_attribution": "Suche über OpenStreetMap",
795+
"unknown_background_with_id": "Unbekannter Hintergrund #{{id}}",
796+
"unknown_costume": "Unbekanntes Kostüm",
797+
"last_active": "Zuletzt aktiv: {{time}}",
798+
"shiny_sample": "{{percentage}}%: {{shiny}} Shiny/{{checks}} Checks seit {{date}}",
799+
"location_error_default": "Dein Standort konnte nicht abgerufen werden",
800+
"location_error_permission_denied": "Standortzugriff verweigert. Bitte erlaube Standortberechtigungen im Browser.",
801+
"location_error_position_unavailable": "Dein Standort ist derzeit nicht verfügbar. Bitte versuche es später erneut.",
802+
"location_error_timeout": "Standortabfrage hat zu lange gedauert. Bitte versuche es erneut.",
803+
"showcase_range": "Showcase-Reichweite",
804+
"seen_tappable_encounter": "Antippbare Begegnung",
805+
"seen_tappable_lure_encounter": "Antippbare Lockmodul-Begegnung",
806+
"tappable_origin_from": "von",
807+
"backup_error_generic": "Backup konnte nicht erstellt werden. Bitte versuche es erneut.",
808+
"backup_error_too_large": "Backup ist zu groß zum Hochladen. Verringere die Größe und versuche es erneut.",
809+
"compact_route_view": "Kompakte Routenansicht",
810+
"route_short_code": "Route-Teilen-Code: ",
811+
"route_anchor_count_one": "{{count}} Route",
812+
"route_anchor_count_other": "{{count}} Routen",
813+
"shortcode_copied_to_clipboard": "Code in die Zwischenablage kopiert!",
814+
"copy_failed": "Kopieren fehlgeschlagen",
815+
"tappables": "Antippbare Objekte",
816+
"tappable_type_breakfast": "Zygarde-Zelle",
817+
"tappable_type_hat": "Partyhut",
818+
"tappable_type_maple": "Apfel",
819+
"tappable_type_pokeball": "Pokéball",
820+
"search_tappables": "Antippbare Objekte suchen",
821+
"inactive_stations": "Inaktive Kraftquellen",
822+
"station_battle_cp_multiplier": "WP-Multiplikator: {{value}}",
823+
"station_battle_cp_tooltip_extra": ". Zusätzliche versteckte Multiplikatoren können bei Kämpfen mit 5+ Sternen vorhanden sein",
824+
"hp": "KP",
825+
"inactive_since": "Inaktiv seit {{time}}"
794826
}

packages/locales/lib/generated/es.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -819,5 +819,37 @@
819819
"expert_group_2": "Grupo 2",
820820
"expert_group_2_description": "Alto nivel con ataque perfecto.",
821821
"expert_combine_description": "Combínalos con un , o |:",
822-
"expert_result_description": "Este filtro mostrará un Pokémon si coincide con los criterios del Grupo 1 O si coincide con todos los criterios del Grupo 2."
822+
"expert_result_description": "Este filtro mostrará un Pokémon si coincide con los criterios del Grupo 1 O si coincide con todos los criterios del Grupo 2.",
823+
"jump_to_areas_attribution": "Búsqueda con tecnología de OpenStreetMap",
824+
"unknown_background_with_id": "Fondo desconocido #{{id}}",
825+
"unknown_costume": "Disfraz desconocido",
826+
"last_active": "Última actividad: {{time}}",
827+
"shiny_sample": "{{percentage}}%: {{shiny}} shiny/{{checks}} comprobaciones desde {{date}}",
828+
"location_error_default": "No se pudo obtener tu ubicación",
829+
"location_error_permission_denied": "Acceso a la ubicación denegado. Activa los permisos de ubicación en tu navegador.",
830+
"location_error_position_unavailable": "Tu ubicación no está disponible en este momento. Inténtalo de nuevo más tarde.",
831+
"location_error_timeout": "La solicitud de ubicación agotó el tiempo. Inténtalo de nuevo.",
832+
"showcase_range": "Rango de exhibición",
833+
"seen_tappable_encounter": "Encuentro tocable",
834+
"seen_tappable_lure_encounter": "Encuentro de cebo tocable",
835+
"tappable_origin_from": "desde",
836+
"backup_error_generic": "No se pudo crear la copia de seguridad. Inténtalo de nuevo.",
837+
"backup_error_too_large": "La copia de seguridad es demasiado grande para subirla. Reduce su tamaño e inténtalo de nuevo.",
838+
"compact_route_view": "Vista de ruta compacta",
839+
"route_short_code": "Código para compartir ruta: ",
840+
"route_anchor_count_one": "{{count}} ruta",
841+
"route_anchor_count_other": "{{count}} rutas",
842+
"shortcode_copied_to_clipboard": "¡Código copiado al portapapeles!",
843+
"copy_failed": "Error al copiar",
844+
"tappables": "Tocables",
845+
"tappable_type_breakfast": "Célula de Zygarde",
846+
"tappable_type_hat": "Gorro festivo",
847+
"tappable_type_maple": "Manzana",
848+
"tappable_type_pokeball": "Poké Ball",
849+
"search_tappables": "Buscar tocables",
850+
"inactive_stations": "Puntos de poder inactivos",
851+
"station_battle_cp_multiplier": "Multiplicador de PC: {{value}}",
852+
"station_battle_cp_tooltip_extra": ". Puede haber multiplicadores ocultos adicionales en combates de 5+ estrellas",
853+
"hp": "PS",
854+
"inactive_since": "Inactivo desde {{time}}"
823855
}

packages/locales/lib/generated/fr.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -817,5 +817,37 @@
817817
"expert_group_2": "Groupe 2",
818818
"expert_group_2_description": "Niveau élevé avec une attaque parfaite.",
819819
"expert_combine_description": "Combinez-les avec une , ou | :",
820-
"expert_result_description": "Ce filtre affichera un Pokémon s'il correspond aux critères du Groupe 1 OU s'il correspond à tous les critères du Groupe 2."
820+
"expert_result_description": "Ce filtre affichera un Pokémon s'il correspond aux critères du Groupe 1 OU s'il correspond à tous les critères du Groupe 2.",
821+
"jump_to_areas_attribution": "Recherche propulsée par OpenStreetMap",
822+
"unknown_background_with_id": "Arrière-plan inconnu #{{id}}",
823+
"unknown_costume": "Costume inconnu",
824+
"last_active": "Dernière activité : {{time}}",
825+
"shiny_sample": "{{percentage}}% : {{shiny}} shiny/{{checks}} vérifications depuis {{date}}",
826+
"location_error_default": "Impossible de récupérer votre position",
827+
"location_error_permission_denied": "Accès à la localisation refusé. Veuillez activer la localisation dans votre navigateur.",
828+
"location_error_position_unavailable": "Votre position est actuellement indisponible. Réessayez plus tard.",
829+
"location_error_timeout": "La demande de localisation a expiré. Veuillez réessayer.",
830+
"showcase_range": "Portée du concours",
831+
"seen_tappable_encounter": "Rencontre cliquable",
832+
"seen_tappable_lure_encounter": "Rencontre d'appât cliquable",
833+
"tappable_origin_from": "de",
834+
"backup_error_generic": "Impossible de créer la sauvegarde. Veuillez réessayer.",
835+
"backup_error_too_large": "La sauvegarde est trop volumineuse pour être envoyée. Réduisez sa taille et réessayez.",
836+
"compact_route_view": "Vue de route compacte",
837+
"route_short_code": "Code de partage de route : ",
838+
"route_anchor_count_one": "{{count}} route",
839+
"route_anchor_count_other": "{{count}} routes",
840+
"shortcode_copied_to_clipboard": "Code copié dans le presse-papiers !",
841+
"copy_failed": "Échec de la copie",
842+
"tappables": "Cliquables",
843+
"tappable_type_breakfast": "Cellule de Zygarde",
844+
"tappable_type_hat": "Chapeau de fête",
845+
"tappable_type_maple": "Pomme",
846+
"tappable_type_pokeball": "Poké Ball",
847+
"search_tappables": "Rechercher des cliquables",
848+
"inactive_stations": "Points d'énergie inactifs",
849+
"station_battle_cp_multiplier": "Multiplicateur PC : {{value}}",
850+
"station_battle_cp_tooltip_extra": ". Des multiplicateurs cachés supplémentaires peuvent être présents pour les combats 5+ étoiles",
851+
"hp": "PV",
852+
"inactive_since": "Inactif depuis {{time}}"
821853
}

packages/locales/lib/generated/hi.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -822,5 +822,41 @@
822822
"expert_group_2": "समूह 2",
823823
"expert_group_2_description": "उच्च स्तर के साथ परफेक्ट हमला।",
824824
"expert_combine_description": "इन्हें , या | के साथ मिलाएं:",
825-
"expert_result_description": "यह फ़िल्टर एक पौकémon को दिखाएगा यदि यह समूह 1 के मानदंडों से मेल खाता है या यदि यह समूह 2 के सभी मानदंडों से मेल खाता है।"
825+
"expert_result_description": "यह फ़िल्टर एक पौकémon को दिखाएगा यदि यह समूह 1 के मानदंडों से मेल खाता है या यदि यह समूह 2 के सभी मानदंडों से मेल खाता है।",
826+
"jump_to_areas_attribution": "खोज OpenStreetMap द्वारा संचालित",
827+
"unknown_background_with_id": "अज्ञात पृष्ठभूमि #{{id}}",
828+
"unknown_costume": "अज्ञात पोशाक",
829+
"last_active": "आखिरी बार सक्रिय: {{time}}",
830+
"shiny_sample": "{{percentage}}%: {{date}} से {{checks}} चेक्स में {{shiny}} शाइनी",
831+
"location_error_default": "आपका स्थान प्राप्त नहीं किया जा सका",
832+
"location_error_permission_denied": "स्थान एक्सेस अस्वीकृत। कृपया अपने ब्राउज़र में स्थान अनुमति सक्षम करें।",
833+
"location_error_position_unavailable": "आपका स्थान अभी उपलब्ध नहीं है। कृपया बाद में पुनः प्रयास करें।",
834+
"location_error_timeout": "स्थान अनुरोध का समय समाप्त हो गया। कृपया पुनः प्रयास करें।",
835+
"showcase_range": "शोकेस रेंज",
836+
"seen_tappable_encounter": "टैप करने योग्य मुठभेड़",
837+
"seen_tappable_lure_encounter": "टैप करने योग्य लुअर मुठभेड़",
838+
"tappable_origin_from": "से",
839+
"backup_error_generic": "बैकअप नहीं बना सके। कृपया पुनः प्रयास करें।",
840+
"backup_error_too_large": "बैकअप अपलोड करने के लिए बहुत बड़ा है। आकार कम करें और पुनः प्रयास करें।",
841+
"compact_route_view": "कॉम्पैक्ट रूट दृश्य",
842+
"route_short_code": "रूट शेयर कोड: ",
843+
"route_anchor_count_one": "{{count}} मार्ग",
844+
"route_anchor_count_other": "{{count}} मार्ग",
845+
"shortcode_copied_to_clipboard": "कोड क्लिपबोर्ड में कॉपी हुआ!",
846+
"copy_failed": "कॉपी विफल",
847+
"tappables": "टैप करने योग्य",
848+
"tappable_type_breakfast": "ज़ाइगार्ड सेल",
849+
"tappable_type_hat": "पार्टी हैट",
850+
"tappable_type_maple": "सेब",
851+
"tappable_type_pokeball": "पोके बॉल",
852+
"search_tappables": "टैप करने योग्य खोजें",
853+
"inactive_stations": "निष्क्रिय शक्ति स्थान",
854+
"station_battle_cp_multiplier": "सीपी गुणक: {{value}}",
855+
"station_battle_cp_tooltip_extra": ". 5+ सितारा लड़ाइयों के लिए अतिरिक्त छुपे गुणक हो सकते हैं",
856+
"hp": "HP",
857+
"inactive_since": "{{time}} से निष्क्रिय",
858+
"rsvp_0": "no rsvp",
859+
"rsvp_1": "rsvp",
860+
"rsvp_2": "rsvp_only",
861+
"rsvp_changes": "RSVP परिवर्तन"
826862
}

packages/locales/lib/generated/id.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -822,5 +822,41 @@
822822
"expert_group_2": "Grup 2",
823823
"expert_group_2_description": "Level tinggi dengan serangan sempurna.",
824824
"expert_combine_description": "Gabungkan mereka dengan , atau |:",
825-
"expert_result_description": "Filter ini akan menunjukkan Pokémon jika cocok dengan kriteria untuk Grup 1 ATAU jika cocok dengan semua kriteria untuk Grup 2."
825+
"expert_result_description": "Filter ini akan menunjukkan Pokémon jika cocok dengan kriteria untuk Grup 1 ATAU jika cocok dengan semua kriteria untuk Grup 2.",
826+
"jump_to_areas_attribution": "Pencarian didukung oleh OpenStreetMap",
827+
"unknown_background_with_id": "Latar belakang tidak dikenal #{{id}}",
828+
"unknown_costume": "Kostum tidak dikenal",
829+
"last_active": "Terakhir aktif: {{time}}",
830+
"shiny_sample": "{{percentage}}%: {{shiny}} shiny/{{checks}} cek sejak {{date}}",
831+
"location_error_default": "Tidak dapat mengambil lokasi Anda",
832+
"location_error_permission_denied": "Akses lokasi ditolak. Harap aktifkan izin lokasi di browser Anda.",
833+
"location_error_position_unavailable": "Lokasi Anda saat ini tidak tersedia. Silakan coba lagi nanti.",
834+
"location_error_timeout": "Permintaan lokasi habis waktu. Silakan coba lagi.",
835+
"showcase_range": "Jangkauan Showcase",
836+
"seen_tappable_encounter": "Pertemuan yang dapat diketuk",
837+
"seen_tappable_lure_encounter": "Pertemuan Lure yang dapat diketuk",
838+
"tappable_origin_from": "dari",
839+
"backup_error_generic": "Tidak dapat membuat cadangan. Silakan coba lagi.",
840+
"backup_error_too_large": "Cadangan terlalu besar untuk diunggah. Kurangi ukurannya dan coba lagi.",
841+
"compact_route_view": "Tampilan Rute Ringkas",
842+
"route_short_code": "Kode Berbagi Rute: ",
843+
"route_anchor_count_one": "{{count}} Rute",
844+
"route_anchor_count_other": "{{count}} Rute",
845+
"shortcode_copied_to_clipboard": "Kode disalin ke papan klip!",
846+
"copy_failed": "Gagal menyalin",
847+
"tappables": "Tappable",
848+
"tappable_type_breakfast": "Sel Zygarde",
849+
"tappable_type_hat": "Topi Pesta",
850+
"tappable_type_maple": "Apel",
851+
"tappable_type_pokeball": "Poké Ball",
852+
"search_tappables": "Cari Tappable",
853+
"inactive_stations": "Tempat Energi tidak aktif",
854+
"station_battle_cp_multiplier": "Pengali CP: {{value}}",
855+
"station_battle_cp_tooltip_extra": ". Pengali tersembunyi tambahan mungkin ada untuk pertempuran bintang 5+",
856+
"hp": "HP",
857+
"inactive_since": "Tidak aktif sejak {{time}}",
858+
"rsvp_0": "no rsvp",
859+
"rsvp_1": "rsvp",
860+
"rsvp_2": "rsvp_only",
861+
"rsvp_changes": "Perubahan RSVP"
826862
}

0 commit comments

Comments
 (0)