Fix: Consistent background across pages

Ensure all pages share the same background and make the map fullscreen.
This commit is contained in:
gpt-engineer-app[bot]
2025-06-15 09:55:11 +00:00
parent 233ffa0c76
commit eb20817237
4 changed files with 66 additions and 65 deletions

View File

@@ -165,7 +165,7 @@ export const RegionMap = ({ regionName, focusSystem, isCompact = false }: Region
if (isLoading) {
return (
<div className={`${isCompact ? 'h-full' : 'h-screen'} bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center`}>
<div className="h-full w-full bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center">
<div className="text-white text-xl">Loading {regionName} data...</div>
</div>
);
@@ -173,7 +173,7 @@ export const RegionMap = ({ regionName, focusSystem, isCompact = false }: Region
if (error) {
return (
<div className={`${isCompact ? 'h-full' : 'h-screen'} bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center`}>
<div className="h-full w-full bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center">
<div className="text-center">
<h1 className="text-4xl font-bold text-white mb-4">Error Loading Region</h1>
<p className="text-red-400 mb-6">Failed to load data for {regionName}</p>
@@ -260,66 +260,64 @@ export const RegionMap = ({ regionName, focusSystem, isCompact = false }: Region
);
}
// Full page mode (original region page) - Make fullscreen
// Full page mode - Make truly fullscreen
return (
<div className="w-full h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<div className="h-full flex flex-col">
<Header
title={regionName}
breadcrumbs={[
{ label: "Universe", path: "/" },
{ label: regionName }
]}
/>
<div className="h-full w-full flex flex-col">
<Header
title={regionName}
breadcrumbs={[
{ label: "Universe", path: "/" },
{ label: regionName }
]}
/>
<div className="flex-1 overflow-hidden">
<svg
ref={svgRef}
width="100%"
height="100%"
viewBox={`${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}`}
className="cursor-grab active:cursor-grabbing"
onMouseDown={handleMouseDown}
onMouseMove={handleMouseMove}
onMouseUp={handleMouseUp}
onMouseLeave={handleMouseUp}
onWheel={handleWheel}
>
<defs>
<filter id="glow">
<feGaussianBlur stdDeviation="3" result="coloredBlur" />
<feMerge>
<feMergeNode in="coloredBlur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
</defs>
<div className="flex-1 overflow-hidden">
<svg
ref={svgRef}
width="100%"
height="100%"
viewBox={`${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}`}
className="cursor-grab active:cursor-grabbing"
onMouseDown={handleMouseDown}
onMouseMove={handleMouseMove}
onMouseUp={handleMouseUp}
onMouseLeave={handleMouseUp}
onWheel={handleWheel}
>
<defs>
<filter id="glow">
<feGaussianBlur stdDeviation="3" result="coloredBlur" />
<feMerge>
<feMergeNode in="coloredBlur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
</defs>
{/* Render connections */}
{processedConnections.map(connection => (
<Connection
key={connection.key}
from={connection.from}
to={connection.to}
color={connection.color}
/>
))}
{/* Render connections */}
{processedConnections.map(connection => (
<Connection
key={connection.key}
from={connection.from}
to={connection.to}
color={connection.color}
/>
))}
{/* Render systems */}
{systems?.map((system) => (
<MapNode
key={system.solarSystemName}
id={system.solarSystemName}
name={system.solarSystemName}
position={nodePositions[system.solarSystemName] || { x: 0, y: 0 }}
onClick={() => handleSystemClick(system.solarSystemName)}
type="system"
security={system.security}
signatures={system.signatures}
/>
))}
</svg>
</div>
{/* Render systems */}
{systems?.map((system) => (
<MapNode
key={system.solarSystemName}
id={system.solarSystemName}
name={system.solarSystemName}
position={nodePositions[system.solarSystemName] || { x: 0, y: 0 }}
onClick={() => handleSystemClick(system.solarSystemName)}
type="system"
security={system.security}
signatures={system.signatures}
/>
))}
</svg>
</div>
</div>
);

View File

@@ -1,9 +1,10 @@
import { GalaxyMap } from '../components/GalaxyMap';
import { Header } from '../components/Header';
const Index = () => {
export const Index = () => {
return (
<div className="h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<div className="h-screen w-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<div className="h-full flex flex-col">
<Header title="Galaxy Map" />
<div className="flex-1 overflow-hidden">
@@ -13,5 +14,3 @@ const Index = () => {
</div>
);
};
export default Index;

View File

@@ -11,7 +11,7 @@ export const RegionPage = () => {
if (!region) {
return (
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-purple-900 to-slate-900 flex items-center justify-center">
<div className="h-screen w-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 flex items-center justify-center overflow-hidden">
<div className="text-center">
<h1 className="text-4xl font-bold text-white mb-4">Region Not Found</h1>
<p className="text-purple-200 mb-6">The requested region does not exist in our database.</p>
@@ -27,5 +27,9 @@ export const RegionPage = () => {
);
}
return <RegionMap regionName={region} />;
return (
<div className="h-screen w-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<RegionMap regionName={region} />
</div>
);
};

View File

@@ -165,7 +165,7 @@ export const SystemView = () => {
];
return (
<div className="h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<div className="h-screen w-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 overflow-hidden">
<div className="h-full flex flex-col">
<Header title={`System: ${system}`} breadcrumbs={breadcrumbs} />