diff --git a/apps/web/app/[locale]/(public)/search/page.tsx b/apps/web/app/[locale]/(public)/search/page.tsx index 76b386c..1b35c37 100644 --- a/apps/web/app/[locale]/(public)/search/page.tsx +++ b/apps/web/app/[locale]/(public)/search/page.tsx @@ -351,15 +351,19 @@ function SearchContent() { - {/* Desktop horizontal filter bar */} -
- -
+ {/* Desktop horizontal filter bar — only when there's no sidebar + (i.e. full-width map view). Showing it alongside the sidebar in + list/split mode would just duplicate every control. */} + {viewMode === 'map' && ( +
+ +
+ )} {/* Mobile filter panel */} {showMobileFilters && ( diff --git a/apps/web/components/map/listing-map.tsx b/apps/web/components/map/listing-map.tsx index 7bca2bb..8d1e069 100644 --- a/apps/web/components/map/listing-map.tsx +++ b/apps/web/components/map/listing-map.tsx @@ -198,7 +198,9 @@ function ListingMapInner({ clusterRadius: 50, }); - // Cluster circles + // Cluster circles. Mapbox-gl's color parser rejects `hsl(var(--…))` — + // it only accepts literal CSS colors. We use hex constants tuned to + // match the design-system primary/accent palette in dark mode. map.addLayer({ id: CLUSTER_LAYER_ID, type: 'circle', @@ -208,7 +210,7 @@ function ListingMapInner({ 'circle-color': [ 'step', ['get', 'point_count'], - 'hsl(var(--primary))', + '#22c55e', // primary (emerald-500) 10, '#f1a928', 30, @@ -248,8 +250,8 @@ function ListingMapInner({ 'text-allow-overlap': true, }, paint: { - 'text-color': 'hsl(var(--card-foreground))', - 'text-halo-color': 'hsl(var(--card))', + 'text-color': '#f5f5f4', // card-foreground (stone-100) + 'text-halo-color': '#1c1917', // card (stone-900) 'text-halo-width': 8, }, }); @@ -269,8 +271,8 @@ function ListingMapInner({ 'text-allow-overlap': true, }, paint: { - 'text-color': 'hsl(var(--primary-foreground))', - 'text-halo-color': 'hsl(var(--primary))', + 'text-color': '#ffffff', // primary-foreground (high-contrast on emerald) + 'text-halo-color': '#22c55e', // primary (emerald-500) 'text-halo-width': 10, }, });