import React, { lazy, useContext } from 'react'; import { Route as ReactRouterDomRoute, Switch, Router } from 'react-router-dom'; import { createBrowserHistory } from 'history'; import { useTranslation } from 'react-i18next'; import AppContext from './AppContext'; const NotFound = lazy(() => import('../components/NotFound')); const VersionContextProvider = lazy(() => import('../pages/Version/VersionContextProvider')); const VersionPage = lazy(() => import('../pages/Version')); const HomePage = lazy(() => import('../pages/home')); enum Route { ROOT = '/', SCOPE_PACKAGE = '/-/web/detail/@:scope/:package', SCOPE_PACKAGE_VERSION = '/-/web/detail/@:scope/:package/v/:version', PACKAGE = '/-/web/detail/:package', PACKAGE_VERSION = '/-/web/detail/:package/v/:version', } export const history = createBrowserHistory({ basename: window.__VERDACCIO_BASENAME_UI_OPTIONS && window.__VERDACCIO_BASENAME_UI_OPTIONS.url_prefix, }); const AppRoute: React.FC = () => { const appContext = useContext(AppContext); const { t } = useTranslation(); if (!appContext) { throw Error(t('app-context-not-correct-used')); } const { user } = appContext; const isUserLoggedIn = user && user.username; return ( ); }; export default AppRoute;