import { useState, useEffect } from 'react' import './App.css' import InfiniteCanvas from './components/InfiniteCanvas' import AdvancedCharts from './components/AdvancedCharts' import DataflowCanvas from './components/DataflowCanvas' import { FaDatabase, FaChartBar, FaProjectDiagram } from 'react-icons/fa' function App() { const [activeTab, setActiveTab] = useState('canvas'); // 'canvas', 'charts', or 'dataflow' // Listen for the custom event to switch to DataFlow tab useEffect(() => { const handleViewDataFlow = (event) => { // Switch to the dataflow tab setActiveTab('dataflow'); // Log the database info (in a real app, you would use this to initialize the DataFlow view) console.log('Viewing DataFlow for database:', event.detail); }; // Add event listener window.addEventListener('viewDataFlow', handleViewDataFlow); // Clean up return () => { window.removeEventListener('viewDataFlow', handleViewDataFlow); }; }, []); return (
{/* Logo and Title */}

The Metricverse

{/* Navigation */}
setActiveTab('canvas')} > Data Explorer setActiveTab('charts')} > Advanced Charts setActiveTab('dataflow')} > Data Flow Settings
{activeTab === 'canvas' && ( <>

{/* Infinite Canvas - Zoom and pan without limits */} The Only Limit is Your Imagination.

Scroll to zoom • Drag to pan • Connect nodes

)} {activeTab === 'charts' && (
)} {activeTab === 'dataflow' && ( <>

Visualize data flows between tables

Add tables • Create processes • Connect data flows

)}
) } export default App