diff --git a/src/App.css b/src/App.css index b796d8b..9c220ca 100644 --- a/src/App.css +++ b/src/App.css @@ -394,6 +394,84 @@ main { width: 80%; } +/* Secondary navigation bar styles */ +.secondary-nav { + display: flex; + align-items: center; + padding: 10px 20px; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + background: rgba(18, 18, 18, 0.8); + backdrop-filter: blur(10px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + position: relative; +} + +/* Navigation button styles */ +.nav-button { + display: flex; + align-items: center; + padding: 6px 12px; + border-radius: 4px; + cursor: pointer; + transition: all 0.2s ease; + margin-right: 8px; + user-select: none; +} + +.nav-button:hover { + background: rgba(0, 169, 157, 0.1); + transform: translateY(-1px); +} + +.nav-button.active { + background: rgba(0, 169, 157, 0.15); + border: 1px solid rgba(0, 169, 157, 0.3); +} + +.nav-button.active span { + color: #fff; + font-weight: 500; +} + +.nav-button svg { + margin-right: 8px; +} + +/* User profile button styles */ +.user-profile { + display: flex; + align-items: center; + background: rgba(255, 255, 255, 0.05); + padding: 6px 12px; + border-radius: 20px; + cursor: pointer; + border: 1px solid rgba(255, 255, 255, 0.1); + transition: all 0.2s ease; +} + +.user-profile:hover { + background: rgba(255, 255, 255, 0.1); + transform: translateY(-1px); +} + +.notification-button { + width: 32px; + height: 32px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border: 1px solid rgba(255, 255, 255, 0.1); + transition: all 0.2s ease; +} + +.notification-button:hover { + background: rgba(255, 255, 255, 0.1); + transform: translateY(-1px); +} + /* Glow effect for active elements */ .glow-effect { box-shadow: 0 0 15px rgba(82, 196, 26, 0.6); diff --git a/src/App.jsx b/src/App.jsx index 4eccd53..b49fca5 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -3,7 +3,7 @@ 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' +import { FaDatabase, FaChartBar, FaProjectDiagram, FaSitemap, FaFolder, FaCog, FaChevronDown, FaChevronRight, FaTachometerAlt } from 'react-icons/fa' function App() { // Initialize activeTab based on URL pathname if present @@ -11,6 +11,7 @@ function App() { const pathname = window.location.pathname; if (pathname === '/charts') return 'charts'; if (pathname === '/data_mappings') return 'data_mappigs'; + if (pathname === '/er_diagram') return 'er_diagram'; if (pathname === '/settings') return 'settings'; // Default to canvas/qubit_service window.history.pushState(null, '', '/qubit_service'); @@ -22,6 +23,8 @@ function App() { const [currentDbSlug, setCurrentDbSlug] = useState(null); // Add state to track if the current database has schemas const [hasSchemas, setHasSchemas] = useState(true); + // Add state to track whether the sidebar dropdown is open + const [isDropdownOpen, setIsDropdownOpen] = useState(true); // Handle browser back/forward navigation useEffect(() => { @@ -30,6 +33,7 @@ function App() { if (pathname === '/qubit_service') setActiveTab('canvas'); else if (pathname === '/charts') setActiveTab('charts'); else if (pathname === '/data_mappings') setActiveTab('data_mappigs'); + else if (pathname === '/er_diagram') setActiveTab('er_diagram'); // Settings tab would be handled here too }; @@ -69,6 +73,7 @@ function App() { let path = '/qubit_service'; if (event.detail === 'charts') path = '/charts'; if (event.detail === 'data_mappigs') path = '/data_mappings'; + if (event.detail === 'er_diagram') path = '/er_diagram'; if (event.detail === 'settings') path = '/settings'; window.history.pushState(null, '', path); @@ -121,202 +126,270 @@ function App() { WebkitTextFillColor: 'transparent', textShadow: '0 0 20px rgba(82, 196, 26, 0.3)' }}> - The Metricverse + {/* The Metricverse + */} + Qubit Service - {/* Navigation */} -
+ + Entity Relationship Diagram +
++ View table relationships • Explore schema structure • Analyze foreign keys +
+