- Add App Store button (puzzle piece icon) in TopBarNew
- Import AppStore component in App.jsx and add modal state
- Pass onOpenAppStore handler to TopBar
- PostCreateModal already has Apps category with app selector
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix chat window going off-screen on mobile (was editing wrong file ChatWindow.jsx instead of ChatWindowNew.jsx)
- Add max-h-[65dvh] constraint to prevent overflow
- Replace scrollIntoView with scrollTop to prevent parent scroll
- Add keyboard detection with visualViewport API to move chat above keyboard
- Add missing translations for chat status (sending, sent, read)
- Add common.offline translation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Island terrain now interactive like a map
- Click anywhere on your island to place a post at that position
- Pending post marker shows where you clicked with confirm/cancel buttons
- Posts saved with island_x and island_y coordinates (0-100%)
- PostComposer accepts islandX/islandY and includes in payload
- Posts display at their saved coordinates, fallback to random if not set
- Added translations for new UI elements (EN/FR)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- FAB (+) button now context-aware - includes island_username when on island
- PostComposer accepts islandUsername prop and includes in payload
- Removed custom post buttons from island terrain view
- Global __activeIslandContext set when viewing an island
- App.jsx handles sw:openPostCreator event for island posts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove top world nav bar
- Add Islands/Planets buttons to Map search bar
- Add Map/Planets buttons to Islands search bar
- Add Map/Islands buttons to Planets search bar
- Move search bars to fixed position just below topbar
- Compact button styling matching map design
- v0.0.107
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add world navigation bar with 3 buttons to switch between worlds
- Create IslandsWorld component: personal metaverse with floating islands
- Create PlanetsWorld component: group metaverse with orbiting planets
- Each world has full-screen immersive MapLibre visualization
- Add search functionality with icon badges in Islands/Planets views
- Always start on Map view on page load
- Add translations for EN, FR, ES
- v0.0.104
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add planet API functions to client.js (fetchPlanets, createPlanet, etc.)
- Add updateIsland function for island customization
- Add sociowire:create-post event listener in App.jsx
- Add planets translations (EN, FR, ES)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add EventClustersLayer component with convex hull algorithm
- Clusters appear as organic shapes around member posts
- Only visible when Clusters filter is selected
- Add fetchEventClusters API function
- Update ContentFilters with cluster filter option
- Filter posts by cluster membership when filter active
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace complex truth rail with simple badge in post modal
- Truth score now displays like small cards (colored circle with number)
- Remove API calls that were overwriting correct truth scores
- Add vote functionality to badge (click to cycle vote)
- Fix truth score not updating due to WebSocket race conditions
- Various UI color and style improvements
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add TopBarNew with Framer Motion animations and compact design
- Enhance map markers with bounce-in animations and hover effects
- Improve cluster styles with gradient backgrounds
- Add comprehensive theme system (dark/blue/light modes)
- Add theme-aware utilities and improved contrasts
- Better accessibility with focus rings and motion preferences
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Camera posts now use small blue pins with red flashing dot
- Fixed carousel gallery arrows for posts with multiple images
- Added title and source text to polaroid mini cards
- Bumped version to 0.0.21
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Live filter sends live,camera content types to API
- Camera pin border and pointer changed to sky blue (#0ea5e9)
- Camera pin background is sky blue when no thumbnail
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Camera markers show thumbnail preview from live stream
- Red LIVE badge with pulsing indicator
- Fallback to video icon if thumbnail unavailable
- Blue glow effect for camera pins
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Position weather widget fixed at left:24px, top:240px
- Set weather widget z-index to 300 (below FAB at 398-400)
- Fix FAB z-index to be below search dropdown
- Fix various z-index issues for modals and overlays
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Day/night terminator opacity reduced from 0.3 to 0.15
- Day/night enabled by default for new users
- Removed weather button, widget, and modal from map
- Kept blue theme as default
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Set light theme as default for new users
- Change light theme background from #e5e7eb to #f8fafc (brighter)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Weather posts display as compact blue pills with emoji + temperature
- Weather posts forced to 'simple' type (never full card) to avoid duplicates
- Parse temperature from title when not available in data
- Z-index set to 10 (just above regular posts, below UI elements)
- Add fetchWeatherPosts and fetchMapPins API functions
- Add Weather modal components (WeatherModal, HourlyForecast, DailyForecast)
- Add DayNightTerminator component for map
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add WebSocket-based chat with presence indicators
- Add message delivery status (sending/sent/read)
- Add notification badges for unread messages
- Add body scroll lock on mobile to prevent keyboard issues
- Add visibility change handling to refresh data on browser resume
- Add internationalization (i18n) with English/French support
- Add timezone-aware message timestamps
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Set autoWidenRef.current = true when user changes filter to prevent auto-widen
- Time filter now stays as user selected when changing category/subcategory
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update favicon and icons with new 2026 branding
- Fix video content display - skip hero replacement for video posts
- Add video_url to asset resolution in client.js
- Update LiveKit broadcast with egress recording
- Fix auth context and topbar styling
- Update PostCard and map styling
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>