You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.2 KiB
67 lines
1.2 KiB
import React from 'react'; |
|
import LeftColumn from './LeftColumn'; |
|
import RightContainer from './RightContainer'; |
|
const SERVER_URL = 'http://localhost:3000/' |
|
|
|
export default class Site extends React.Component { |
|
|
|
constructor(props) { |
|
super(props) |
|
this.state = { |
|
classesData: [], |
|
forumPosts: [], |
|
componentMounted: false |
|
} |
|
} |
|
|
|
callAPI = (targetUrl) => { |
|
let apiData |
|
fetch(SERVER_URL + 'api/data/'+ targetUrl) |
|
.then(response => response.json()) |
|
.then(data => apiData = data) |
|
return apiData |
|
} |
|
|
|
componentDidMount() { |
|
|
|
object = { |
|
classes: |
|
} |
|
|
|
let classesData = callAPI('classes') |
|
let forumPosts = callAPI('psboard') |
|
|
|
this.setState({ |
|
classesData: classesData, |
|
forumPosts: forumPosts |
|
}) |
|
} |
|
|
|
// <LeftColumn />} |
|
// <RightContainer /> |
|
|
|
render() { |
|
|
|
console.log(this.state) |
|
|
|
return ( |
|
<div className="mainContainer"> |
|
|
|
<div className="left"> |
|
<div className="heading">Upcoming Classes</div> |
|
{this.state.classesData.map((item, i) => |
|
<div className='course-list'> |
|
<div className='subject'>{item.subject}</div> |
|
<div className='date'>{item.date}</div> |
|
</div>)} |
|
</div> |
|
|
|
<div className="right"> |
|
<div className="heading">Posts</div> |
|
|
|
</div> |
|
|
|
</div> |
|
); |
|
} |
|
}
|
|
|