22
33import React , { Component } from 'react' ;
44import NavBar from './NavBar' ;
5- import Announcements from './Announcements/Container' ;
6- import Multimedia from './Multimedia/Container' ;
5+ import ComponentList from './Shared/componentList' ;
76import Storage from './../../controllers/storage' ;
87
98export default class Main extends Component {
@@ -16,6 +15,7 @@ export default class Main extends Component {
1615
1716 this . observeDatabase ( 'list' ) ;
1817 this . switchView = this . switchView . bind ( this ) ;
18+ this . renderContainer = this . renderContainer . bind ( this ) ;
1919 }
2020
2121 observeDatabase ( pathToWatch ) {
@@ -28,22 +28,23 @@ export default class Main extends Component {
2828 this . setState ( { windowToRender : view } ) ;
2929 }
3030
31+ renderContainer ( containerName ) {
32+ const Container = ComponentList [ containerName ] . container ;
33+ return < Container list = { this . state . list } /> ;
34+ }
35+
3136 render ( ) {
3237 return (
3338 < div >
3439 < div id = "aSide" >
35- < NavBar switchView = { this . switchView } windowToRender = { this . state . windowToRender } />
40+ < NavBar
41+ switchView = { this . switchView }
42+ windowToRender = { this . state . windowToRender }
43+ componentList = { ComponentList }
44+ />
3645 </ div >
3746 < div id = "content" >
38- { ( ( ) => {
39- switch ( this . state . windowToRender ) {
40- case 'announcements' : return < Announcements list = { this . state . list } /> ;
41- case 'multimedia' : return < Multimedia list = { this . state . list } /> ;
42- case 'forum' : return < Announcements list = { this . state . list } /> ;
43- default : return < Announcements list = { this . state . list } /> ;
44- }
45- } ) ( ) }
46-
47+ { this . renderContainer ( this . state . windowToRender ) }
4748 </ div >
4849 </ div >
4950 ) ;
0 commit comments