@@ -37,7 +37,7 @@ import ImportHome from '../imports/ImportHome'
3737import ConceptsComparison from '../concepts/ConceptsComparison'
3838import MappingsComparison from '../mappings/MappingsComparison'
3939import CheckAuth from './CheckAuth'
40- import { loadUsageDashboard } from "../../common/loadRoutes " ;
40+ import { loadUsageDashboard } from "../../common/plugins/loader " ;
4141import UserChip from '../users/UserChip'
4242import UserTooltip from '../users/UserTooltip'
4343
@@ -63,12 +63,14 @@ const SessionUserRoute = ({component: Component, ...rest}) => (
6363 />
6464)
6565
66- const StaffUserRoute = ( { component : Component , componentProps= { } , ...rest } ) => (
66+ const StaffUserRoute = ( { component : Component , componentProps= { } , ...rest } ) => {
67+ return (
6768 < Route
6869 { ...rest }
6970 render = { props => getCurrentUser ( ) ?. is_staff ? < Component { ...props } { ...componentProps } /> : < Error404 /> }
7071 />
71- )
72+ )
73+ }
7274
7375const App = props => {
7476 const [ networkError , setNetworkError ] = React . useState ( false )
@@ -133,7 +135,10 @@ const App = props => {
133135 const [ UsageDashboard , setUsageDashboard ] = React . useState ( null ) ;
134136
135137 React . useEffect ( ( ) => {
136- ANALYTICS_URL ? loadUsageDashboard ( ) . then ( setUsageDashboard ) : null
138+ if ( ANALYTICS_URL )
139+ loadUsageDashboard ( ) . then ( comp => {
140+ setUsageDashboard ( ( ) => comp )
141+ } )
137142 } , [ ] ) ;
138143
139144 const repoTabs = [ 'concepts' , 'mappings' , 'versions' , 'summary' , 'about' , 'references' ]
@@ -170,6 +175,21 @@ const App = props => {
170175 } }
171176 />
172177 }
178+ {
179+ UsageDashboard &&
180+ < StaffUserRoute
181+ exact
182+ path = '/admin/users/:user'
183+ component = { UsageDashboard }
184+ componentProps = { {
185+ APIService : APIService ,
186+ currentUser : getCurrentUser ( ) ,
187+ ANALYTICS_URL : ANALYTICS_URL ,
188+ UserChip : UserChip ,
189+ UserTooltip : UserTooltip
190+ } }
191+ />
192+ }
173193 < AuthenticationRequiredRoute exact path = { `/:ownerType(users|orgs)/:owner/sources/:repo/:repoVersion/concepts/$match` } component = { RepoConceptsMatch } />
174194 < AuthenticationRequiredRoute exact path = { `/:ownerType(users|orgs)/:owner/repos/new/:step?` } component = { RepoCreate } />
175195 < AuthenticationRequiredRoute exact path = { `/:ownerType(users|orgs)/:owner/:repoType(sources|collections)/:repo/edit/:step?` } component = { RepoCreate } />
0 commit comments