import React, { Component } from 'react';
import { SnackbarHOC } from 'educoder';
import {BrowserRouter as Router,Route,Switch} from 'react-router-dom';
import Loadable from 'react-loadable';
import Loading from '../../Loading';
import axios from 'axios';
import { TPMIndexHOC } from '../tpm/TPMIndexHOC';
import { CNotificationHOC } from './common/CNotificationHOC'
import {ImageLayerOfCommentHOC} from '../page/layers/ImageLayerOfCommentHOC'

import "./css/Courses.css"
//引入对应跳转的组件

const ListPageIndex = Loadable({
    loader: () => import('./ListPageIndex'),
    loading:Loading,
})

//课堂首页
const CoursesHome = Loadable({
    loader: () => import('./coursesHome/CoursesHome'),
    loading:Loading,
})

//课堂详情页
const CoursesDetail= Loadable({
    loader: () => import('./coursesDetail/CoursesDetail'),
    loading:Loading,
})



// 课堂讨论
const BoardIndex = Loadable({
    loader: () => import('./BoardIndex'),
    loading:Loading,
})




const GraduationTopics= Loadable({
    loader: () => import('./graduation/topics'),
    loading: Loading,
})
const GraduationTopicsDetail= Loadable({
    loader: () => import('./graduation/topics/GraduateTopicDetail'),
    loading: Loading,
})
const GraduateTopicPostWorksNew= Loadable({
    loader: () => import('./graduation/topics/GraduateTopicPostWorksNew'),
    loading: Loading,
})
const GraduateTopicNew= Loadable({
    loader: () => import('./graduation/topics/GraduateTopicNew'),
    loading: Loading,
})

const GraduationTasks= Loadable({
    loader: () => import('./graduation/tasks'),
    loading: Loading,
})

// 资源
const  Resourcelist= Loadable({
    loader: () => import('./Resource/index'),
    loading: Loading,
})

//新建实训
const WrappedCoursesNewApp= Loadable({
    loader: () => import('./new/CoursesNew'),
    loading: Loading,
})
//新建精品课堂
const WrappedCoursesNewAppGoldclass= Loadable({
  loader: () => import('./new/Goldsubject'),
  loading: Loading,
})
const ShixunHomeworkPage =Loadable({
  loader: () => import('./shixunHomework/ShixunHomeworkPage'),
  loading: Loading,
})
//实训作业
const ShixunHomework= Loadable({
    loader: () => import('./shixunHomework/shixunHomework'),
    loading: Loading,
})

//实训作业设置
const Trainingjobsetting= Loadable({
    loader: () => import('./shixunHomework/Trainingjobsetting'),
    loading: Loading,
})
//实训作业列表教师

// //实训作业列表学生未完成的
// const Studentnotcompleted= Loadable({
//     loader: () => import('./shixunHomework/Listofworksstudentone'),
//     loading: Loading,
// })
//实训作业列表完成的
const Studenthascompleted= Loadable({
    loader: () => import('./shixunHomework/Listofworksstudentone'),
    loading: Loading,
})


//实训作业提交总结
const  CommitSummary = Loadable({
    loader: () => import('./shixunHomework/CommitSummary'),
    loading: Loading,
})
//实训作业设置
const Workquestionandanswer= Loadable({
    loader: () => import('./shixunHomework/Workquestionandanswer'),
    loading: Loading,
})


//实训报告
const ShixunWorkReport= Loadable({
    loader: () => import('./shixunHomework/ShixunWorkReport'),
    loading: Loading,
})

//实训查重
const ShixunStudentWork= Loadable({
    loader: () => import('./shixunHomework/ShixunStudentWork'),
    loading: Loading,
})

//实训查重详情
const ShixunWorkDetails= Loadable({
    loader: () => import('./shixunHomework/ShixunWorkDetails'),
    loading: Loading,
})

//问卷
const Poll= Loadable({
    loader: () => import('./poll/Poll'),
    loading: Loading,
})
//问卷新建
const PollNew= Loadable({
    loader: () => import('./poll/PollNew'),
    loading: Loading,
})
//问卷答题
const PollInfo= Loadable({
    loader: () => import('./poll/PollInfo'),
    loading: Loading,
})
//问卷详情
const PollDetail= Loadable({
    loader: () => import('./poll/PollDetailIndex'),
    loading: Loading,
})


//试卷
const Exercise= Loadable({
    loader: () => import('./exercise/Exercise'),
    loading: Loading,
})
const Testpapersettinghomepage =Loadable({
    loader: () => import('./exercise/Testpapersettinghomepage'),
    loading: Loading,
})
const ExerciseNew =Loadable({
    loader: () => import('./exercise/ExerciseNew'),
    loading: Loading,
})
const ExerciseReviewAndAnswer=Loadable({
    loader:() => import('./exercise/ExerciseReviewAndAnswer'),
    loading: Loading,
})

//学生列表
const  Studentshavecompletedthelist = Loadable({
    loader: () => import('./exercise/Studentshavecompletedthelist'),
    loading: Loading,
})

//教师列表
const TeacherList= Loadable({
    loader: () => import('./members/teacherList'),
    loading: Loading,
})
//学生列表
const StudentsList= Loadable({
    loader: () => import('./members/studentsList'),
    loading: Loading,
})


//普通作业
const CommonWork= Loadable({
    loader: () => import('./busyWork/Index'),
    loading: Loading,
})
const GroupWork= Loadable({
    loader: () => import('./busyWork/IndexGroup'),
    loading: Loading,
})

//
// //分组作业
// const GroupWork= Loadable({
//   loader: () => import('./busyWork/GroupWork'),
//   loading: Loading,
// })

//毕设任务列表新建
const GraduationTaskseditApp= Loadable({
    loader: () => import('./graduation/tasks/GraduationTasksedit'),
    loading: Loading,
})

//毕设任务列表编辑
const GraduationTasksnewApp= Loadable({
    loader: () => import('./graduation/tasks/GraduationTasksnew'),
    loading: Loading,
})

//毕设任务列表设置
const GraduationTasksquestions= Loadable({
    loader: () => import('./graduation/tasks/GraduationTaskssettingquestions'),
    loading: Loading,
})

//毕设任务列表

const GraduationTaskssettinglist= Loadable({
    loader: () => import('./graduation/tasks/GraduationTaskssettinglist'),
    loading: Loading,
})

//毕业任务设置

const GraduationTaskssetting=Loadable({
    loader: () => import('./graduation/tasks/GraduationTaskssetting'),
    loading: Loading,
})

// 评阅列表

const GraduationTasksappraise=Loadable({
    loader: () => import('./graduation/tasks/GraduationTasksappraise'),
    loading: Loading,
})


//创建作品

const GraduationTasksSubmitnewApp=Loadable({
    loader: () => import('./graduation/tasks/GraduationTasksSubmitnew'),
    loading: Loading,
})

//修改作品

const GraduationTasksSubmiteditApp=Loadable({
    loader: () => import('./graduation/tasks/GraduationTasksSubmitedit'),
    loading: Loading,
})



class CoursesIndex extends Component{
    constructor(props) {
        super(props)
        this.state={
            coursesids: undefined,
            coursesidsfun:this.coursesidsfun,
            updataleftNavfun:this.updataleftNav,
            course_modules:undefined,
            hidden_modules:[],
            is_teacher:false,
            isaloadtype:true,
            coursesidtype:undefined,
            locationNavfun:this.locationNav,
            unlocationNavfun:this.unlocationNavfun
        }
    }

    coursesidsfun=(id,type)=>{
        this.setState({
            coursesids:id,
            coursesidtype:type
        })
    }

    componentDidMount(){
        // this.updataleftNav()
    }

    updataleftNav=()=>{
        let query=this.props.location.pathname
        let {isaloadtype}=this.state;
        let types=isaloadtype===false?true:false
        const type = query.split('/');
        let id=parseInt(type[2])
        if(isNaN(id)){
            return
        }
        // let id=this.props.match.params.coursesId;
        let url ="/courses/"+id+"/left_banner.json"
        axios.get(url).then((response) => {
            if(response!=undefined){
                if(response.data&&response.data){
                    this.setState({
                        course_modules:response.data.course_modules,
                        hidden_modules:response.data.hidden_modules,
                        is_teacher:response.data.is_teacher,
                        isaloadtype:types
                    })
                    this.locationNav(response.data.course_modules)
                }
            }
        })
    }

    locationNav=(list)=>{
      if(list){
        let url=this.props.location.pathname;
        const type = url.split('/');
        let filesId=parseInt(type[4]);
        // let urls=this.props.match.url

        var lists=list;

        lists.forEach((item,index)=>{

          if(url===item.category_url){
            this.setState({
              indexs:index,
              mainurl:item.category_url
            })
            this.coursesidsfun(item.id,"node")
          }else{
            if(item.second_category!=undefined&&item.second_category.length!=0){
              item.second_category.forEach((iem,key)=>{
                if(url===iem.second_category_url){

                  if( parseInt(filesId)===iem.category_id||parseInt(filesId)===item.id){
                    this.setState({
                      indexs:index,
                      url:url,
                      mainurl:item.category_url
                    })
                  }
                  this.coursesidsfun(item.id,"child")
                }
              })
            }

          }

        })
      }

    }

		unlocationNavfun=(val)=>{
			this.setState({
				indexs:val,
			})
		}
    // // 老师、管理员等
    // isAdmin = () => {
    //   return this.state.coursedata && this.state.coursedata.course_identity < 4
    // }
    // // 学生
    // isStudent = () => {
    //   return this.state.coursedata && this.state.coursedata.course_identity === 4
    // }
    // isAdminOrStudent = () => {
    //   return this.state.coursedata && this.state.coursedata.course_identity <= 4
    // }
    // // 非课堂成员
    // isNotMember = () => {
    //   return this.state.coursedata && this.state.coursedata.course_identity === 5
    // }


    // isCourseidentity = () => {
    //
    //   if(this.state.coursedata&&this.state.coursedata.course_identity < 4){
    //     return "isAdmin"
    //     // 老师、管理员等
    //   }else if(this.state.coursedata&&this.state.coursedata.course_identity === 4){
    //     return "isStudent"
    //     // 学生
    //   }else if(this.state.coursedata&&this.state.coursedata.course_identity === 5){
    //     return "isNotMember"
    //     // 非课堂成员
    //   }
    //
    // }


    // componentDidMount(){
    // // console.log(this.props.location.pathname)
    // let query=this.props.location.pathname;
    // const type = query.split('/');
    // if (!type[2]) {
    //   return;
    // }
    // let id=parseInt(type[2])
    //
    // let url="/courses/"+id+"/top_banner.json"
    // axios.get(url).then((result)=>{
    //   if(result.status===200){
    //     let data=result.data;
    //     this.setState({
    //       coursedata:data
    //     })
    //
    //     // console.log(data)
    //   }
    // }).catch((error)=>{
    //   console.log(error);
    // })

    // }

    render() {
        const common = {
            // isAdmin: this.isAdmin,
            // isStudent: this.isStudent,
            // isAdminOrStudent: this.isAdminOrStudent,

            // isNotMember: this.isNotMember,
            // isCourseidentity:this.isCourseidentity
        }
        // const commons = {
        //     admind: this.props.user,
        //     // isAdminOrStudent: this.isAdminOrStudent,
        //
        //     // isNotMember: this.isNotMember,
        //     // isCourseidentity:this.isCourseidentity
        // }
        // console.log("commonscommons")
        // console.log(commons)
        return (
            <Switch {...this.props}>

                {/* 资源列表页  */}
                <Route path="/courses/:coursesId/file/:Id" exact
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                <Route path="/courses/:coursesId/files/:main_id"
                       render={
                         (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                <Route exact path="/courses/:coursesId/boards/:boardId"
                    render={
                        (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                    }
                ></Route>
                {/*课堂讨论*/}
                <Route path="/courses/:coursesId/boards/:boardId"
                       render={
                           (props) => (<BoardIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 毕业设计 */}
                {/* 毕设问答 */}
                <Route path="/courses/:coursesId/graduation_topics/postwork/new"
                       render={
                           (props) => (<GraduateTopicPostWorksNew {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 毕设选题新建页 */}
                <Route path="/courses/:coursesId/graduation_topics/new"
                       render={
                           (props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} />)
                       }></Route>
                {/* 毕设选题编辑页*/}
                <Route path="/courses/:coursesId/graduation_topics/:topicId/edit"
                       render={
                           (props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} />)
                       }></Route>

                {/* 毕设选题详情页 */}
                <Route path="/courses/:course_id/graduation_topics/:graduation_topic_id/detail"
                       render={
                           (props)=>(<GraduationTopicsDetail {...this.props} {...props} {...this.state}></GraduationTopicsDetail>)
                       }
                ></Route>

                {/* 毕设选题列表 */}
                <Route path="/courses/:coursesId/graduation_topics/:Id" exact
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }></Route>


                {/*————————————————————————————————————————————————————————————————————————————————————*/}
                {/* 作品评阅 https://www.trustie.net/issues/19981 */}
                <Route path="/courses/:coursesId/graduation_tasks/:category_id/appraise"
                       render={
                           (props) => (<GraduationTasksappraise {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 新建作品 */}
                <Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/works/new"
                       render={
                           (props) => (<GraduationTasksSubmitnewApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 修改作品  */}
                <Route path="/courses/:coursesId/graduation_tasks/:category_id/:work_Id/works/edit"
                       render={
                           (props) => (<GraduationTasksSubmiteditApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 设置毕设任务 https://www.trustie.net/issues/19981 */}

                <Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/setting"
                       render={
                           (props) => (<GraduationTaskssetting {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                <Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/questions"
                       render={
                           (props) => (<GraduationTasksquestions {...this.props} {...props} {...this.state} />)
                       }></Route>


                <Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/list"
                       render={
                           (props) => (<GraduationTaskssettinglist {...this.props} {...props} {...this.state} />)
                       }
                ></Route>



                {/* 修改毕设任务 https://www.trustie.net/issues/19981 */}
                <Route path="/courses/:coursesId/graduation_tasks/:category_id/edit"
                       render={
                           (props) => (<GraduationTaskseditApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                {/* 新建毕设任务 https://www.trustie.net/issues/19981 */}
                <Route path="/courses/:coursesId/graduation_tasks/:category_id/new"
                       render={
                           (props) => (<GraduationTasksnewApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                {/* 毕设任务列表 https://www.trustie.net/issues/19981 */}
                <Route path="/courses/:coursesId/graduation_tasks/:Id" exact
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/*/!* 毕业设计主 https://www.trustie.net/issues/19981 *!/*/}
                {/*<Route path="/courses/:coursesId/graduation"*/}
                       {/*render={*/}
                           {/*(props) => (<GraduationTopics {...this.props} {...props} {...this.state} />)*/}
                       {/*}*/}
                {/*></Route>*/}

                {/*/!* 资源子目录 https://www.trustie.net/issues/19917 *!/*/}
                {/*<Route path="/courses/:coursesId/attachment/attachment/:attachmentId"*/}
                {/*render={*/}
                {/*(props) => (<Files {...this.props} {...props} {...this.state} />)*/}
                {/*}*/}
                {/*></Route>*/}
                {/* 教师列表*/}
                <Route path="/courses/:coursesId/teachers"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                {/* 学生列表*/}
                <Route path="/courses/:coursesId/students"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                {/* 分班列表 */}
                <Route path="/courses/:coursesId/course_groups/:course_group_id"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                
                {/* 普通作业 */}
                <Route path="/courses/:coursesId/common_homeworks/:category_id" exact 
                render={
                    (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                }
                ></Route>
                {/* 分组作业 */}
                <Route path="/courses/:coursesId/group_homeworks/:category_id" exact 
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 普通作业 */}
                <Route path="/courses/:coursesId/common_homeworks/" strict
                       render={
                           (props) => (<CommonWork {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 分组作业 */}
                <Route path="/courses/:coursesId/group_homeworks/" strict
                       render={
                           (props) => (<GroupWork {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 问卷答题 */}
                <Route path="/courses/:coursesId/polls/:pollId/users/:login"
                       render={
                           (props) => (<PollInfo {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 问卷详情  */}
                <Route path="/courses/:coursesId/polls/:pollId/detail"
                       render={
                           (props) => (<PollDetail {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 问卷新建 */}
                <Route path="/courses/:coursesId/polls/:pollid/:news"
                       render={
                           (props) => (<PollNew {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                {/*/!* 问卷编辑 *!/*/}
                {/*<Route path="/courses/:coursesId/polls/:pollid/:news"*/}
                       {/*render={*/}
                           {/*(props) => (<PollNew {...this.props} {...props} {...this.state} {...common} />)*/}
                       {/*}*/}
                {/*></Route>*/}
                {/* 问卷  */}
                <Route path="/courses/:coursesId/polls/:Id"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                {/* 试卷查看/评阅 */}
                <Route exact path="/courses/:coursesId/exercises/:Id/users/:userId"
                    render={
                    (props)=>(<ExerciseReviewAndAnswer {...this.props} {...props} {...this.state} />)
                    }
                ></Route>

                {/*试卷新建  */}
                <Route exact path="/courses/:coursesId/exercises/new"
                    render={
                    (props) => (<ExerciseNew {...this.props} {...props} {...this.state} />)
                    }
                ></Route>
                {/*试卷新建  */}
                <Route exact path="/courses/:coursesId/exercises/:Id/edit"
                    render={
                    (props) => (<ExerciseNew {...this.props} {...props} {...this.state} />)
                    }
                ></Route>

                {/*试卷设置主页*/}

                <Route path="/courses/:coursesId/exercises/:Id/student_exercise_list"
                       render={
                           (props) => (<Testpapersettinghomepage {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                {/*学生完成列表*/}
                <Route
                    path="/courses/:coursesId/exercises/:Id/Studentshavecompletedthelist"
                    render={
                        (props) => (<Studentshavecompletedthelist {...this.props} {...props} {...this.state} />)
                    }
                >
                </Route>
                {/* 试卷  */}
                <Route path="/courses/:coursesId/exercises/:Id"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>


                {/*实训查重详情*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/review_detail/:userid"
                       render={
                           (props) => (<ShixunWorkDetails {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/review_detail/:userid"
                     render={
                       (props) => (<ShixunWorkDetails {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>

                {/*实训查重列表*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/student_work"
                       render={
                           (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/student_work"
                     render={
                       (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>

                {/*实训报告*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/shixun_work_report"
                       render={
                           (props) => (<ShixunWorkReport {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/shixun_work_report"
                     render={
                       (props) => (<ShixunWorkReport {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>

                {/*教师列表*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/list"
                       render={
                           (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/list"
                     render={
                       (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>
               {/*实训作业page*/}
              <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/Page"
                     render={
                       (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>
                {/*实训作业设置*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/settings"
                       render={
                           (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/settings"
                     render={
                       (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>
                {/*/!*实训作品列表教师*!/*/}
                {/*提交总结*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:id/commitsummary/:homeworkid"
                       render={
                           (props) => (<CommitSummary {...this.props} {...props}  {...this.state}  />)
                       }
                ></Route>
              <Route path="/courses/:coursesId/shixun_homework/:id/commitsummary/:homeworkid"
                     render={
                       (props) => (<CommitSummary {...this.props} {...props}  {...this.state}  />)
                     }
              ></Route>
                {/*实训作品列表学生未公布*/}
                {/*<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/noopenlist"*/}
                {/*       render={*/}
                {/*           (props) => (<Studentnotcompleted {...this.props} {...props}  {...this.state}  />)*/}
                {/*       }*/}
                {/*></Route>*/}
                {/*实训学生作品列表已公布*/}
              {/*  <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/list"*/}
              {/*         render={*/}
              {/*             (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state}  />)*/}
              {/*         }*/}
              {/*  ></Route>*/}
              {/*/!*实训学生作品列表已公布*!/*/}
              {/*<Route   path="/courses/:coursesId/shixun_homework/:homeworkid/list"*/}
              {/*       render={*/}
              {/*         (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state}  />)*/}
              {/*       }*/}
              {/*></Route>*/}



              {/*实训作业问答主目录*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/questions"
                       render={
                           (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                       }
                ></Route>

              {/*实训作业问答子目录*/}
              <Route path="/courses/:coursesId/shixun_homework/:homeworkid/questions"
                     render={
                       (props) => (<ShixunHomeworkPage {...this.props} {...props}  {...this.state} />)
                     }
              ></Route>

                {/*新建课堂*/}
                <Route path="/courses/new"
                       render={
                           (props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
              {/*新建精品课堂*/}
              {/*coursesId 课堂id */}
              {/*id 是否是私有或者公有*/}
              <Route path="/courses/news/:subjectid/newgold/:id"
                     render={
                       (props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} />)
                     }
              ></Route>
              {/*修改精品课堂*/}
              <Route path="/courses/:coursesId/newgolds/settings"
                     render={
                       (props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} />)
                     }
              ></Route>
                {/*修改课堂*/}
                <Route path="/courses/:coursesId/settings"
                       render={
                           (props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 实训作业子页面*/}
                <Route path="/courses/:coursesId/shixun_homework/:category_id"
                       render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/* 实训作业页面*/}
                <Route path="/courses/:coursesId/shixun_homeworks/:main_id"
                       render={
                         (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                       }
                ></Route>

                {/*/!*实训作业and课堂详情页*!/*/}
                <Route path="/courses/:coursesId"
                        render={
                           (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
                        }
                ></Route>

                {/*课堂首页*/}
                <Route path="/courses"
                       render={
                           (props) => (<CoursesHome {...this.props} {...props} {...this.state} />)
                       }
                ></Route>
                {/*<Route exact path="/courses" component={CoursesHome}  {...this.props}  {...props}  {...this.state} ></Route>*/}

            </Switch>
        )
    }
}

export default ImageLayerOfCommentHOC({imgSelector: '.imageLayerParent img, .imageLayerParent .imageTarget', parentSelector: '.newMain'}) (CNotificationHOC() ( SnackbarHOC() ( TPMIndexHOC(CoursesIndex) )));