import React, { useState, useEffect } from 'react'; import { BrowserRouter as Router, Switch, Route, Link, useParams } from 'react-router-dom'; import './light.css'; import { Container, Divider, Dropdown, Form, Grid, Header, Icon, Image, Menu, Message, Segment, Table } from 'semantic-ui-react'; import moment from 'moment'; import { isInstructor, requester } from './utils.js'; import { NotFound, PleaseLogin } from './Misc.js'; import { InstructorCourseList, InstructorCourseDetail } from './InstructorCourses.js'; import { InstructorClassList } from './InstructorClasses.js'; export function Courses(props) { const [courses, setCourses] = useState(false); const { token, user } = props; useEffect(() => { requester('/courses/', 'GET', token) .then(res => { setCourses(res.results); }) .catch(err => { console.log(err); }); }, []); return (
Courses
{isInstructor(user) && } {courses ? Name {courses.length ? courses.map((x, i) => {x.name} ) : None }
:

Loading...

}
); }; export function CourseDetail(props) { const [course, setCourse] = useState(false); const [error, setError] = useState(false); const { token, user } = props; const { id } = useParams(); useEffect(() => { requester('/courses/'+id+'/', 'GET', token) .then(res => { setCourse(res); }) .catch(err => { console.log(err); setError(true); }); }, []); return ( {!error ? course ?
{course.name}
{isInstructor(user) && }
Course Description
{course.is_old ? course.description.split('\n').map((x, i) =>

{x}

) :
}
Classes
{isInstructor(user) && } Date Time Instructor Cost {course.sessions.length ? course.sessions.sort((a, b) => a.datetime < b.datetime).map((x, i) => {moment.utc(x.datetime).format('ll')} {x.is_cancelled ? 'Cancelled' : moment.utc(x.datetime).format('LT')} {x.instructor_name} {x.cost === '0.00' ? 'Free' : '$'+x.cost} ) : None }
:

Loading...

: } ); };