Repository navigation
feat(map): add Mapbox integration with clustering - #7
Merged
Merged
Conversation
- Add MapboxMap component with react-map-gl v8 integration - Add MapMarkers component with memoized marker rendering - Add MapContainer with dynamic import for code splitting - Add MapError component for graceful error states - Add MapPlaceholder for development mode without Mapbox - Add useFitBounds hook for auto-fitting map to markers - Add FilteredNetworksProvider context to centralize filtering - Add comprehensive tests for all new components - Update page.tsx to use Suspense boundary for useSearchParams
- Add clustering for network markers using Mapbox GeoJSON source - Create NetworkPin component with hover tooltip showing name/city - Use grenadier color scale for clusters (darker = more networks) - Replace individual Marker components with hybrid approach: - Mapbox Layers for clustered points (better performance) - React Markers for individual pins (interactive tooltips) - Click cluster to zoom and expand, click pin to navigate to network
mitoperni
force-pushed
the
feat/05-mapbox-integration
branch
from
February 4, 2026 15:13
3afb99b to
0d73f48
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
New Components
map-container.tsx- Dynamic import wrapper for Mapbox (SSR-safe)mapbox-map.tsx- Main map component with Mapbox GLcluster-markers.tsx- GeoJSON clustering with Mapbox Layersnetwork-pin.tsx- Pin marker with tooltip for individual networksmap-error.tsx- Error display component for map failuresmap-placeholder.tsx- Loading placeholder during map initializationNew Hooks and Context
use-fit-bounds.ts- Auto-fit map bounds to visible networksfiltered-networks-context.tsx- Share filtered networks between componentsConfiguration
constants.ts- Added MAPBOX_CONFIG and CLUSTER_CONFIGTests
Features
Test plan