File tree Expand file tree Collapse file tree 4 files changed +77
-28
lines changed Expand file tree Collapse file tree 4 files changed +77
-28
lines changed Original file line number Diff line number Diff line change 22
33import React , { Component , PropTypes } from 'react' ;
44import Annoncement from './Announcement' ;
5+ import EmptyState from '../Shared/EmptyState' ;
56import styles from '../Shared/styles/container.css' ;
67
78export default class Container extends Component {
@@ -11,26 +12,26 @@ export default class Container extends Component {
1112 this . renderList = this . renderList . bind ( this ) ;
1213 }
1314
14- renderList ( ) {
15- const dataList = this . props . list ;
16-
17- if ( dataList && dataList . length > 0 ) {
18- return dataList . filter ( ( dataItem ) =>
19- ( dataItem . dataType === 'Announcements' )
20- ) . map ( ( dataItem ) =>
21- < li key = { dataItem . ID } >
22- < Annoncement announcement = { dataItem } />
23- </ li >
24- ) ;
25- }
26- return < p > Nothing to see here.</ p > ;
15+ renderList ( dataList ) {
16+ return dataList . filter ( ( dataItem ) =>
17+ ( dataItem . dataType === 'Announcements' )
18+ ) . map ( ( dataItem ) =>
19+ < li key = { dataItem . ID } >
20+ < Annoncement announcement = { dataItem } />
21+ </ li >
22+ ) ;
2723 }
2824
2925 render ( ) {
26+ const dataList = this . props . list ;
27+ if ( ! ( dataList && dataList . length > 0 ) ) {
28+ return < EmptyState dirname = { __dirname } />
29+ }
30+
3031 return (
3132 < div className = { styles . container } >
3233 < ul >
33- { this . renderList ( ) }
34+ { this . renderList ( dataList ) }
3435 </ ul >
3536 </ div >
3637 ) ;
Original file line number Diff line number Diff line change 11'use babel' ;
22
33import React , { Component , PropTypes } from 'react' ;
4- import styles from '../Shared/styles/container.css' ;
54import CourseWrapper from './CourseWrapper' ;
5+ import EmptyState from '../Shared/EmptyState' ;
6+ import styles from '../Shared/styles/container.css' ;
67
78export default class Container extends Component {
89
9- renderList ( ) {
10- const dataList = this . props . list ;
11-
12- if ( dataList && dataList . length > 0 ) {
13- return dataList . filter ( ( dataItem ) =>
14- ( dataItem . dataType === 'Forums' )
15- ) . map ( ( dataItem ) =>
16- < CourseWrapper key = { dataItem . ID } dataItem = { dataItem } />
17- ) ;
18- }
19- return < p > Nothing to see here.</ p > ;
10+ renderList ( dataList ) {
11+ return dataList . filter ( ( dataItem ) =>
12+ ( dataItem . dataType === 'Forums' )
13+ ) . map ( ( dataItem ) =>
14+ < CourseWrapper key = { dataItem . ID } dataItem = { dataItem } />
15+ ) ;
2016 }
2117
2218 render ( ) {
19+ const dataList = this . props . list ;
20+ if ( ! ( dataList && dataList . length > 0 ) ) {
21+ return < EmptyState dirname = { __dirname } />
22+ }
23+
2324 return (
2425 < div className = { styles . container } >
2526 < ul >
26- { this . renderList ( ) }
27+ { this . renderList ( dataList ) }
2728 </ ul >
2829 </ div >
2930 ) ;
Original file line number Diff line number Diff line change 22
33import React , { Component , PropTypes } from 'react' ;
44import CourseWrapper from './CourseWrapper' ;
5+ import EmptyState from '../Shared/EmptyState' ;
56import Storage from './../../../controllers/storage' ;
67import styles from '../Shared/styles/container.css' ;
78
@@ -39,7 +40,7 @@ export default class Container extends Component {
3940 // TODO perhaps shouldn't use get module next time
4041 if ( ! dataList || dataList . length <= 0 || ! Storage . user . has ( 'modules' ) ) {
4142 return (
42- < p > Loading data... </ p >
43+ < EmptyState dirname = { __dirname } / >
4344 ) ;
4445 }
4546
Original file line number Diff line number Diff line change 1+ 'use babel' ;
2+
3+ import React , { PropTypes } from 'react' ;
4+ import Storage from './../../../controllers/storage' ;
5+
6+ const checkLoginStatus = function checkLoginStatus ( ) {
7+ return Storage . user . has ( 'user' ) ;
8+ }
9+
10+ const EmptyState = ( { dirname } ) => {
11+
12+ const splitted = dirname . split ( '\\' ) ;
13+ const componentName = splitted [ splitted . length - 1 ] ;
14+
15+ return (
16+ < div style = { {
17+ height : '100vh' ,
18+ display : 'flex' ,
19+ justifyContent : 'center' ,
20+ alignItems : 'center'
21+ } } >
22+ < div style = { { textAlign :'center' , marginBottom : '200px' } } >
23+ < div >
24+ < strong > { componentName } </ strong >
25+ </ div >
26+ < div style = { { margin : "15px" } } >
27+ { ( checkLoginStatus ( ) ) ?
28+ < div >
29+ < div > Nothing here yet..</ div >
30+ < div style = { { marginTop : 5 , opacity : '0.3' } } > Try refreshing the app ({ ( process . platform === 'win32' ) ? 'CTRL' : 'CMD' } +R)</ div >
31+ </ div > :
32+ < div >
33+ < div > Login first to see your data</ div >
34+ </ div >
35+ }
36+ </ div >
37+ </ div >
38+ </ div >
39+ ) ;
40+ } ;
41+
42+ export default EmptyState ;
43+
44+ EmptyState . propTypes = {
45+ dirname : PropTypes . string
46+ } ;
You can’t perform that action at this time.
0 commit comments