import { useState } from 'react'; import { InventoryPage } from './pages/InventoryPage'; import './app-shell.css'; type TabKey = 'overview' | 'inventory' | 'discovery' | 'topology' | 'wip'; const tabs: { key: TabKey; label: string; description: string }[] = [ { key: 'overview', label: 'Overview', description: 'Stato generale del workspace NetMapper.' }, { key: 'inventory', label: 'Inventory', description: 'Tree fisico/logico e navigazione tra oggetti.' }, { key: 'discovery', label: 'Discovery', description: 'Pipeline e job di raccolta dati.' }, { key: 'topology', label: 'Topology', description: 'Vista futura della mappa multilivello.' }, { key: 'wip', label: 'WIP', description: 'Blocchi provvisori, note e parti in corso.' }, ]; function ShellCard({ title, children, tone = 'default' }: { title: string; children: React.ReactNode; tone?: 'default' | 'accent' | 'warning' }) { return (

{title}

{children}
); } function OverviewTab() { return (
); } function DiscoveryTab() { return (
); } function TopologyTab() { return (
); } function WipTab() { return (
); } function App() { const [activeTab, setActiveTab] = useState('inventory'); const currentTab = tabs.find((tab) => tab.key === activeTab)!; return (

{currentTab.label}

{currentTab.description}

LXC ready Docker-ready base
); } export default App;