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 */}
} />
);
}