diff --git a/app/pages/open-data.vue b/app/pages/open-data.vue
index d26fcda..5edc62a 100644
--- a/app/pages/open-data.vue
+++ b/app/pages/open-data.vue
@@ -14,7 +14,7 @@ const { data: openDataResponse, pending } = await useAsyncData(
)
const visibleReports = computed(() =>
- (openDataResponse.value?.reports || []).filter((report) => isWithinBariBounds(report.latitude, report.longitude))
+ (openDataResponse.value?.reports || []).filter((report) => isWithinBariBounds(report.latitude, report.longitude))
)
const isLastPage = computed(() => {
@@ -37,9 +37,12 @@ let markers: CircleMarker[] = []
const getStatusBadge = (status: string) => {
switch (status) {
- case 'RESOLVED': return { class: 'bg-success', text: 'Risolto', icon: 'it-check-circle' }
- case 'CLOSED': return { class: 'bg-secondary', text: 'Chiuso', icon: 'it-lock' }
- default: return { class: 'bg-info', text: status, icon: 'it-info-circle' }
+ case 'RESOLVED':
+ return { class: 'bg-success', text: 'Risolto', icon: 'it-check-circle' }
+ case 'CLOSED':
+ return { class: 'bg-secondary', text: 'Chiuso', icon: 'it-lock' }
+ default:
+ return { class: 'bg-info', text: status, icon: 'it-info-circle' }
}
}
@@ -99,8 +102,8 @@ const initMap = async () => {
const L = await loadLeaflet()
const bariBounds = L.latLngBounds(
- [BARI_BOUNDS.south, BARI_BOUNDS.west],
- [BARI_BOUNDS.north, BARI_BOUNDS.east]
+ [BARI_BOUNDS.south, BARI_BOUNDS.west],
+ [BARI_BOUNDS.north, BARI_BOUNDS.east]
)
map = L.map(mapContainer.value, {
@@ -119,9 +122,13 @@ const initMap = async () => {
watch(currentView, async (view) => {
if (view !== 'map') return
await nextTick()
- await initMap()
- map?.invalidateSize()
- await renderMapMarkers()
+ // Inizializza la mappa se non esiste, altrimenti aggiornane solo dimensioni e dati
+ if (!map) {
+ await initMap()
+ } else {
+ map.invalidateSize()
+ await renderMapMarkers()
+ }
})
watch(visibleReports, async () => {
@@ -162,7 +169,7 @@ onBeforeUnmount(() => {
:class="currentView === 'grid' ? 'btn-primary' : 'btn-outline-primary'"
@click="currentView = 'grid'"
>
-
-
Mappa pubblica delle segnalazioni nell'area di Bari.
{{ visibleReports.length }} punti @@ -274,13 +283,15 @@ onBeforeUnmount(() => { .card-wrapper { height: 100%; } + .card-bg { - border: 1px solid rgba(0,0,0,0.05); + border: 1px solid rgba(0, 0, 0, 0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; } + .card-bg:hover { transform: translateY(-2px); - box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important; } .open-data-map { @@ -296,4 +307,4 @@ onBeforeUnmount(() => { line-height: 1.4; min-width: 12rem; } - + \ No newline at end of file