import { Route, IndexRoute } from 'react-router';
import LearnMarkdown from 'react-router-proxy!trc-client-core/src/admin/LearnMarkdown';
import AdminQuickLinks from 'react-router-proxy!trc-client-core/src/admin/AdminQuickLinks';
import AutoUploadView from 'react-router-proxy!trc-client-core/src/admin/AutoUploadView';
import MarkdownEditor from 'react-router-proxy!trc-client-core/src/admin/MarkdownEditor';
import SwitchUser from 'react-router-proxy!trc-client-core/src/admin/SwitchUser';
import AdminLearningPlanListView from 'react-router-proxy!trc-client-core/src/admin/AdminLearningPlanListView';
import AdminLearningPlanEditView from 'react-router-proxy!trc-client-core/src/admin/AdminLearningPlanEditView';
import AdminRegistrationExport from 'react-router-proxy!trc-client-core/src/admin/AdminRegistrationExport';
import AdminSiteInformation from 'react-router-proxy!trc-client-core/src/admin/AdminSiteInformation';
import UploadTest from 'react-router-proxy!trc-client-core/src/admin/UploadTest';
import Permissions from 'trc-client-core/src/user/Permissions';

var routes;

function SiteAdminRoutes() {
    if(Permissions.get('ADMIN_AREA')) {
        return <Route>
            <Route path="quicklinks" component={AdminQuickLinks}/>
            <Route path="upload" component={UploadTest}/>
            <Route path="site">
                <Route path="info" component={AdminSiteInformation}/>
            </Route>
            <Route path="autoupload" component={AutoUploadView} />
            <Route path="export">
                <Route path="registration" component={AdminRegistrationExport} />
            </Route>
            <Route path="learning-plans">
                <IndexRoute  component={AdminLearningPlanListView} />
                <Route path="new" component={AdminLearningPlanEditView}/>
                <Route path=":learningPlanId/edit" component={AdminLearningPlanEditView} savesToExisting={true} />
                <Route path=":learningPlanId/copy" component={AdminLearningPlanEditView} />
            </Route>
        </Route>
    }
}

if (Permissions.get('ALL_ADMINS')) {
    routes = (
        <Route path="admin">
            {SiteAdminRoutes()}
            <Route path="/markdown" component={MarkdownEditor}/>
            <Route path="/learn-markdown" component={LearnMarkdown}/>
            <Route path="switch-user" component={SwitchUser} />
        </Route>
    );
}

export default routes;
