import { Navigate, Routes, Route, useLocation } from 'react-router-dom-v5-compat'; import { StoreState, useSelector } from 'app/types'; import { ROUTES } from './constants'; import { AddNewConnectionPage, DataSourceDashboardsPage, DataSourceDetailsPage, DataSourcesListPage, EditDataSourcePage, NewDataSourcePage, } from './pages'; function RedirectToAddNewConnection() { const { search } = useLocation(); return ( ); } export default function Connections() { const navIndex = useSelector((state: StoreState) => state.navIndex); const isAddNewConnectionPageOverridden = Boolean(navIndex['standalone-plugin-page-/connections/add-new-connection']); return ( {/* Redirect to "Add new connection" by default */} } /> {/* The route paths need to be relative to the parent path (ROUTES.Base), so we need to remove that part */} } /> } /> } /> } /> } /> {/* "Add new connection" page - we don't register a route in case a plugin already registers a standalone page for it */} {!isAddNewConnectionPageOverridden && ( } /> )} {/* Redirect from earlier routes to updated routes */} } /> } /> } /> {/* Not found */} } /> ); }