File tree 6 files changed +111
-98
lines changed
6 files changed +111
-98
lines changed Original file line number Diff line number Diff line change 1
1
var React = require ( 'react' ) ;
2
- var Day = require ( './Day.jsx' )
3
2
var Menu = require ( './Menu.jsx' )
3
+ var Title = require ( './Title.jsx' )
4
4
var Week = require ( './Week.jsx' )
5
5
6
6
var Calendar = React . createClass ( {
7
- getInitialState : function ( ) {
8
- var current_date = new Date ( ) ;
9
- var month_names = [
10
- 'January' ,
11
- 'February' ,
12
- 'March' ,
13
- 'April' ,
14
- 'May' ,
15
- 'June' ,
16
- 'July' ,
17
- 'August' ,
18
- 'September' ,
19
- 'October' ,
20
- 'November' ,
21
- 'December'
22
- ] ;
23
- var current_month_number = current_date . getMonth ( ) ;
24
- var current_month_name = month_names [ current_month_number ] ;
25
- var days_in_week = [
26
- {
27
- 'name' : 'Monday' ,
28
- 'number' : 1
29
- } ,
30
- {
31
- 'name' : 'Tuesday' ,
32
- 'number' : 2 ,
33
- } ,
34
- {
35
- 'name' : 'Wednesday' ,
36
- 'number' : 3 ,
37
- } ,
38
- {
39
- 'name' : 'Thursday' ,
40
- 'number' : 4 ,
41
- } ,
42
- {
43
- 'name' : 'Friday' ,
44
- 'number' : 5 ,
45
- } ,
46
- {
47
- 'name' : 'Saturday' ,
48
- 'number' : 6 ,
49
- } ,
50
- {
51
- 'name' : 'Sunday' ,
52
- 'number' : 0 ,
53
- }
54
- ] ;
55
- return {
56
- days : days_in_week ,
57
- current_month_name : current_month_name ,
58
- current_month_number : current_month_number ,
59
- } ;
60
- } ,
61
-
62
- current_day_number : null ,
63
-
64
- componentWillMount : function ( ) {
65
- this . current_day_number = new Date ( ) . getDay ( ) ;
66
- } ,
67
-
68
7
render : function ( ) {
69
8
return (
70
9
< div className = "calendar" >
71
10
< Menu />
72
- { /* <h1>{this.state.current_month_name}</h1> */ }
11
+ < Title />
73
12
< Week />
74
- { this . state . days . map ( ( day ) => {
75
- var classes = "u-1/7 text--center content-item" ;
76
- if ( this . current_day_number === day . number ) {
77
- classes += " current" ;
78
- }
79
- if ( day . number === 6 || day . number === 0 ) {
80
- classes += " weekend"
81
- }
82
- return < Day day = { day . name } classes = { classes } />
83
- } ) }
84
13
</ div >
85
14
) ;
86
15
}
Original file line number Diff line number Diff line change 1
1
var React = require ( 'react' ) ;
2
2
3
3
var Day = React . createClass ( {
4
- render ( ) {
5
- return (
6
- < div className = { this . props . classes } >
7
- { this . props . day }
8
- </ div >
9
- ) ;
4
+ render ( ) {
5
+ var hours = [ ] ;
6
+ for ( var hour = 0 ; hour < 24 ; hour ++ ) {
7
+ realHour = hour ;
8
+ if ( hour > 12 ) {
9
+ realHour -= 12 ;
10
+ }
11
+
12
+ if ( hour > 11 ) {
13
+ realHour = String ( realHour ) + 'pm' ;
14
+ }
15
+ else {
16
+ realHour = String ( realHour ) + 'am' ;
17
+ }
18
+ hours . push ( realHour ) ;
10
19
}
20
+ return (
21
+ < div className = "u-1/7 day" >
22
+ < span className = "u-6/7 day-name" > { this . props . day } </ span >
23
+ < span className = "u-1/7 day-of-month" > { this . props . dayOfMonth } </ span >
24
+ { hours . map ( ( hour ) => {
25
+ return (
26
+ < div className = "hour" title = { hour } > </ div >
27
+ ) ;
28
+ } ) }
29
+ </ div >
30
+ ) ;
31
+ }
11
32
} ) ;
12
33
13
34
module . exports = Day ;
Original file line number Diff line number Diff line change
1
+ var React = require ( 'react' ) ;
2
+
3
+ var Title = React . createClass ( {
4
+ render ( ) {
5
+ return (
6
+ < div className = "title" >
7
+ < div className = "u-1/3 title--item title--previous" >
8
+ < a href = "#" > <</ a >
9
+ </ div >
10
+ < div className = "u-1/3 title--item title--data" >
11
+ < h3 > September</ h3 >
12
+ </ div >
13
+ < div className = "u-1/3 title--item title--next" >
14
+ < a href = "#" > ></ a >
15
+ </ div >
16
+ </ div >
17
+ ) ;
18
+ }
19
+ } ) ;
20
+
21
+ module . exports = Title ;
Original file line number Diff line number Diff line change 1
1
var React = require ( 'react' ) ;
2
+ var Day = require ( './Day.jsx' ) ;
2
3
3
4
var Week = React . createClass ( {
4
- render ( ) {
5
- return (
6
- < div className = "title" >
7
- < div className = "u-1/3 title--item title--previous" >
8
- < a href = "#" > <</ a >
9
- < span className = "text--small" > < br /> </ span >
10
- </ div >
11
- < div className = "u-1/3 title--item title--data" >
12
- < h3 > September</ h3 > < br />
13
- < span className = "text--small" > (11 - 17)</ span >
14
- </ div >
15
- < div className = "u-1/3 title--item title--next" >
16
- < a href = "#" > ></ a >
17
- < span className = "text--small" > < br /> </ span >
18
- </ div >
19
- </ div >
20
- ) ;
5
+ render ( ) {
6
+ var days = [ ] ;
7
+ var day_names = [
8
+ "Monday" ,
9
+ "Tuesday" ,
10
+ "Wednesday" ,
11
+ "Thursday" ,
12
+ "Friday" ,
13
+ "Saturday" ,
14
+ "Sunday"
15
+ ] ;
16
+ for ( var day = 1 ; day <= 7 ; day ++ ) {
17
+ days . push ( {
18
+ dayOfMonth : day ,
19
+ day : day_names [ day - 1 ]
20
+ } ) ;
21
21
}
22
+ return (
23
+ < div className = "content" >
24
+ { days . map ( ( day ) => {
25
+ return (
26
+ < Day dayOfMonth = { day . dayOfMonth } day = { day . day } />
27
+ ) ;
28
+ } ) }
29
+ </ div >
30
+ ) ;
31
+ }
22
32
} ) ;
23
33
24
34
module . exports = Week ;
Original file line number Diff line number Diff line change 3
3
background : #333 ;
4
4
background : linear-gradient (#333 , #000 );
5
5
line-height : 15px ;
6
- height : 45 px ;
6
+ height : 36 px ;
7
7
}
8
8
9
9
.title--item {
Original file line number Diff line number Diff line change 37
37
@import " menu" ;
38
38
@import " title" ;
39
39
40
+ html , body {
41
+ height : 100% ;
42
+ }
43
+
40
44
body {
41
- background : #888 ;
45
+ background : #aaa ;
42
46
background : linear-gradient (#aaa , #555 );
43
47
}
44
48
45
49
.text--small {
46
50
font-size : 80% ;
47
51
}
52
+
53
+ .day {
54
+ display : inline-block ;
55
+ text-align : center ;
56
+ border-right : 1px solid #444 ;
57
+ }
58
+
59
+ .day :last-child {
60
+ border-right : none ;
61
+ }
62
+
63
+ .day-name {
64
+ height : 4% ;
65
+ display : inline-block ;
66
+ }
67
+
68
+ .content {
69
+ height : calc (100vh - 36px - 36px );
70
+ }
71
+
72
+ .hour {
73
+ height : 4% ;
74
+ border-top : 1px solid #aaa ;
75
+ }
76
+
77
+ .day-of-month {
78
+ font-size : 80% ;
79
+ }
You can’t perform that action at this time.
0 commit comments