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>
);
