1. New post pin offset upward
- Changed from {x: 0, y: 0} to {x: 0, y: -80}
- Negative Y = moves UP on screen
- Compensates for anchor:bottom positioning
- Pin now appears at crosshair position
2. Clear filters when picking post from suggestions
- When clicking a post in search results
- Set mainFilter and subFilter to "All"
- Ensures the post is visible
- No more "post hidden by filters" issue
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1. Auto-clear category filters when searching
- When user searches, set mainFilter and subFilter to "All"
- Ensures search results are visible regardless of category
- No more hidden results due to filter mismatch
2. Fix post pin offset after creation
- New posts (< 10 seconds old) have NO smart offset
- Respects crosshair position chosen by user
- Pin appears exactly where user aimed
- Older posts still get smart offset to avoid overlaps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1. Fixed dropdown z-index
- Set .map-overlay-top z-index to 500
- Now dropdown appears above filter buttons (z-index: 300)
2. Intelligent zoom when searching
- 1 result: Zoom to that post (zoom level 14)
- Multiple results: Calculate bounding box and fitBounds()
- Shows all matching posts together on map
- Padding of 100px on all sides
- MaxZoom 15 to avoid zooming too close
When you search and press Enter, the map automatically adjusts
to show all matching results optimally.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changes:
1. Added clear (X) button in search bar
- Only appears when there's text
- Clears search query AND filters
- Clean X icon with hover effect
2. Fixed dropdown z-index
- Changed from z-index: 50 to z-index: 9999
- Now appears above all other UI elements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Users can now:
1. Type a query and press Enter (without selecting a suggestion) to filter posts on the map
2. When picking a post suggestion, it navigates AND filters by that post's title
3. When picking a city/place, it navigates but clears the filter
Changes:
- SmartSearchBar: Added onSearch prop, triggers on Enter with no active item
- MapView: Added handleSearch() to set searchQuery for filtering
- Posts are automatically filtered by usePostsEngine's matchesSearch()
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Removed intermediate sw-simple-pin-container div that was causing
issues with MapLibre GL marker positioning. The root element is now
directly a flex container, which should fix pins staying at screen
position instead of following map geography during pan/rotation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1. Remove Duplicate Buttons (MapView.jsx):
- Removed "My spot" and "New wire" buttons from map-top-actions
- These functions already available in SmartSearchBar icons
- Cleaner UI, less clutter
2. Fix Pin Anchoring - Pins Stay Fixed Now! (markerManager.js):
- Root element now has fixed dimensions: width:40px, height:52px
- Pin container positioned absolute bottom:0 (ensures correct anchor point)
- Hover card uses bottom:100% instead of fixed pixel value
- Transform includes translateY(-6px) for proper spacing
- Result: Pins remain perfectly fixed at geographic position during zoom/pan
Pin DOM structure now:
```
<div root style="width:40px;height:52px"> (anchor bottom here)
<div container style="position:absolute;bottom:0">
<circle>image</circle>
<triangle>point</triangle>
</div>
<div hover-card style="bottom:100%">preview</div>
</div>
```
The key: Root has explicit height, pin container at bottom,
so MapLibre anchor:"bottom" aligns triangle point with lat/lon
Tested: Pins now stay locked to position on zoom/pan ✅🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1. Smart Search Integration (MapView.jsx, SmartSearchBar.jsx):
- Replace simple search bar with SmartSearchBar component
- Suggestions appear on focus (popular cities/regions)
- Suggestions update as user types (debounced 150ms)
- Click suggestion → fly to location with appropriate zoom
- Search triggers even with empty query for popular results
2. Navigation to Cities (MapView.jsx):
- New handlePickSuggestion() function
- Extracts coords from suggestion (supports coords array or lat/lon)
- Uses map.flyTo() with smart zoom levels per type:
* Cities: zoom 11
* Regions: zoom 7
* Posts: zoom 16
* Profiles: zoom 14
- Clears search after navigation
3. Fixed Marker Anchoring (markerManager.js):
- Changed anchor: "center" → "bottom"
- Markers now stay fixed at geographic position
- Pin design: circle image + triangular point (52px height)
- Point positioned at exact lat/lon location
- No more drifting when map moves!
4. Improved Pin Design:
- Circle (32px) with category color background
- White border + shadow for visibility
- Triangular point (16px) below circle
- Image inside circle if available
- Hover card positioned above pin (bottom: 58px)
- Smooth transitions on hover/click
Mobile-friendly: Works on cellphone without console, visual feedback
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>