trc-client-core
Version:
The core of the TRC Client
39 lines (32 loc) • 1.7 kB
JSX
import React from 'react';
import {Route, IndexRoute} from 'react-router';
// Handlers
import ConfirmRegistrationView from 'react-router-proxy!trc-client-core/src/course/ConfirmRegistrationView';
import CourseEditView from 'react-router-proxy!trc-client-core/src/course/CourseEditView';
import CourseLaunchView from 'react-router-proxy!trc-client-core/src/course/CourseLaunchView';
import CoursesView from 'react-router-proxy!trc-client-core/src/course/CoursesView';
import CourseView from 'react-router-proxy!trc-client-core/src/course/CourseView';
import RegistrationResultsView from 'react-router-proxy!trc-client-core/src/course/RegistrationResultsView';
import SingleCourseHandler from 'react-router-proxy!trc-client-core/src/course/SingleCourseHandler';
import Permissions from 'trc-client-core/src/user/Permissions';
function AdminRoutes() {
if(Permissions.get('ADMIN_AREA')) {
return <Route>
<Route path="edit" component={CourseEditView}/>
<Route path="new" component={CourseEditView}/>
</Route>
}
}
export default (
<Route name="Course List" path="/course">
<IndexRoute component={CoursesView}/>
{AdminRoutes()}
<Route path=":id" name="Course Details" component={SingleCourseHandler}>
<IndexRoute component={CourseView}/>
<Route path="launch" component={CourseLaunchView} view="distractionFree"/>
{AdminRoutes()}
<Route path="confirm_registration" name="Confirm Registration" component={ConfirmRegistrationView}/>
<Route path="registration_results" name="Registration Results" component={RegistrationResultsView}/>
</Route>
</Route>
);