From 8e11dc732f20c88957aaee90257f33dc7712ff31 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 24 Jan 2026 08:16:58 +0000 Subject: [PATCH] chore: Bump version to 0.0.103, fix planet filter tabs Co-Authored-By: Claude Opus 4.5 --- package.json | 2 +- src/components/Island/IslandUniverse.jsx | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index dc1fefa..5e668e1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sociowire-frontend", "private": true, - "version": "0.0.102", + "version": "0.0.103", "type": "module", "scripts": { "dev": "vite --host 0.0.0.0", diff --git a/src/components/Island/IslandUniverse.jsx b/src/components/Island/IslandUniverse.jsx index 485562e..f275016 100644 --- a/src/components/Island/IslandUniverse.jsx +++ b/src/components/Island/IslandUniverse.jsx @@ -48,10 +48,14 @@ export default function IslandUniverse({ onClose, onIslandClick }) { return () => { mounted = false; }; }, []); - useEffect(() => { - if (!containerRef.current || islands.length === 0) return; + // Filter based on active tab + const displayIslands = activeTab === 'planets' ? [] : islands; + const displayPlanets = activeTab === 'islands' ? [] : planets; - console.log('[IslandUniverse] Rendering universe with MapLibre:', islands.length, 'islands'); + useEffect(() => { + if (!containerRef.current || (displayIslands.length === 0 && displayPlanets.length === 0)) return; + + console.log('[IslandUniverse] Rendering universe with MapLibre:', displayIslands.length, 'islands,', displayPlanets.length, 'planets'); // Center point in virtual space const centerLat = 0; @@ -88,10 +92,10 @@ export default function IslandUniverse({ onClose, onIslandClick }) { const markers = []; // Use grid-based positioning to prevent overlap - const gridSize = Math.ceil(Math.sqrt(islands.length)); + const gridSize = Math.ceil(Math.sqrt(displayIslands.length || 1)); const spacing = 8; // degrees between islands - islands.forEach((island, idx) => { + displayIslands.forEach((island, idx) => { // Grid position with random offset for organic feel const gridX = idx % gridSize; const gridY = Math.floor(idx / gridSize); @@ -186,7 +190,7 @@ export default function IslandUniverse({ onClose, onIslandClick }) { }); // Add planet markers (positioned in outer ring) - planets.forEach((planet, idx) => { + displayPlanets.forEach((planet, idx) => { const angle = (idx / Math.max(planets.length, 1)) * Math.PI * 2; const radius = 18 + (idx % 3) * 4; const lng = centerLng + Math.cos(angle) * radius; @@ -295,7 +299,7 @@ export default function IslandUniverse({ onClose, onIslandClick }) { markersRef.current = []; map.remove(); }; - }, [islands, onIslandClick]); + }, [displayIslands, displayPlanets, activeTab, onIslandClick]); return (