From 2c91d01a470c97f89acd04f8d239317603c13c3d Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 20:16:27 +0000 Subject: [PATCH] Refactor: Create a shared header component Move breadcrumb and title into a header component for consistent display across pages. --- src/components/Header.tsx | 110 +++++++++++++++++++++++++++++ src/components/RegionMap.tsx | 131 +++++++++++++---------------------- src/pages/Index.tsx | 15 +++- src/pages/SystemView.tsx | 67 ++++-------------- 4 files changed, 188 insertions(+), 135 deletions(-) create mode 100644 src/components/Header.tsx diff --git a/src/components/Header.tsx b/src/components/Header.tsx new file mode 100644 index 0000000..38ce050 --- /dev/null +++ b/src/components/Header.tsx @@ -0,0 +1,110 @@ + +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from '@/components/ui/breadcrumb'; + +interface HeaderProps { + level: 'universe' | 'region' | 'system'; + region?: string; + system?: string; +} + +const Header = ({ level, region, system }: HeaderProps) => { + const navigate = useNavigate(); + + const getTitle = () => { + switch (level) { + case 'universe': + return 'Universe'; + case 'region': + return `Region: ${region}`; + case 'system': + return `System: ${system}`; + default: + return 'Universe'; + } + }; + + const getSubtitle = () => { + switch (level) { + case 'universe': + return 'Navigate the galaxy of New Eden'; + case 'region': + return 'Solar systems in this region'; + case 'system': + return 'Press Ctrl+V to paste signatures'; + default: + return ''; + } + }; + + return ( +
{getSubtitle()}
+Solar systems in this region
-Press Ctrl+V to paste signatures
-