import React, { Suspense, useCallback } from 'react'; import { Routes, Route, useLocation } from 'react-router-dom'; import { GIT_TAG, GIT_COMMIT } from 'lib/constants'; import { clusterPath, getNonExactPath } from 'lib/paths'; import Nav from 'components/Nav/Nav'; import PageLoader from 'components/common/PageLoader/PageLoader'; import Dashboard from 'components/Dashboard/Dashboard'; import ClusterPage from 'components/Cluster/Cluster'; import Version from 'components/Version/Version'; import Alerts from 'components/Alerts/Alerts'; import { ThemeProvider } from 'styled-components'; import theme from 'theme/theme'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import * as S from './App.styled'; import Logo from './common/Logo/Logo'; import GitIcon from './common/Icons/GitIcon'; import DiscordIcon from './common/Icons/DiscordIcon'; const queryClient = new QueryClient({ defaultOptions: { queries: { suspense: true, }, }, }); const App: React.FC = () => { const [isSidebarVisible, setIsSidebarVisible] = React.useState(false); const onBurgerClick = () => setIsSidebarVisible(!isSidebarVisible); const closeSidebar = useCallback(() => setIsSidebarVisible(false), []); const location = useLocation(); React.useEffect(() => { closeSidebar(); }, [location, closeSidebar]); return ( UI for Apache Kafka {GIT_TAG && } Log out }>