chore: Bump version to 0.0.103, fix planet filter tabs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Your Name 2026-01-24 08:16:58 +00:00
parent 5ffec6bcec
commit 8e11dc732f
2 changed files with 12 additions and 8 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "sociowire-frontend", "name": "sociowire-frontend",
"private": true, "private": true,
"version": "0.0.102", "version": "0.0.103",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite --host 0.0.0.0", "dev": "vite --host 0.0.0.0",

View File

@ -48,10 +48,14 @@ export default function IslandUniverse({ onClose, onIslandClick }) {
return () => { mounted = false; }; return () => { mounted = false; };
}, []); }, []);
useEffect(() => { // Filter based on active tab
if (!containerRef.current || islands.length === 0) return; 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 // Center point in virtual space
const centerLat = 0; const centerLat = 0;
@ -88,10 +92,10 @@ export default function IslandUniverse({ onClose, onIslandClick }) {
const markers = []; const markers = [];
// Use grid-based positioning to prevent overlap // 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 const spacing = 8; // degrees between islands
islands.forEach((island, idx) => { displayIslands.forEach((island, idx) => {
// Grid position with random offset for organic feel // Grid position with random offset for organic feel
const gridX = idx % gridSize; const gridX = idx % gridSize;
const gridY = Math.floor(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) // 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 angle = (idx / Math.max(planets.length, 1)) * Math.PI * 2;
const radius = 18 + (idx % 3) * 4; const radius = 18 + (idx % 3) * 4;
const lng = centerLng + Math.cos(angle) * radius; const lng = centerLng + Math.cos(angle) * radius;
@ -295,7 +299,7 @@ export default function IslandUniverse({ onClose, onIslandClick }) {
markersRef.current = []; markersRef.current = [];
map.remove(); map.remove();
}; };
}, [islands, onIslandClick]); }, [displayIslands, displayPlanets, activeTab, onIslandClick]);
return ( return (
<div className="island-universe-modal" onClick={onClose}> <div className="island-universe-modal" onClick={onClose}>