@@ -10,94 +10,105 @@ import {
1010} from 'react-native-calendars' ;
1111import _ from 'lodash' ;
1212
13+ const INITIAL_TIME = { hour : 9 , minutes : 0 } ;
14+ const today = new Date ( ) ;
15+ const getDate = ( offset = 0 ) => CalendarUtils . getCalendarDateString ( new Date ( ) . setDate ( today . getDate ( ) + offset ) ) ;
16+
1317const EVENTS : TimelineEventProps [ ] = [
1418 {
15- start : '2017-09-06 01:30:00' ,
16- end : '2017-09-06 02:30:00' ,
19+ start : `${ getDate ( - 1 ) } 09:20:00` ,
20+ end : `${ getDate ( - 1 ) } 12:00:00` ,
21+ title : 'Merge Request to React Native Calendars' ,
22+ summary : 'Merge Timeline Calendar to React Native Calendars'
23+ } ,
24+ {
25+ start : `${ getDate ( ) } 01:30:00` ,
26+ end : `${ getDate ( ) } 02:30:00` ,
1727 title : 'Dr. Mariana Joseph' ,
1828 summary : '3412 Piedmont Rd NE, GA 3032' ,
1929 color : '#e6add8'
2030 } ,
2131 {
22- start : '2017-09-07 00:30:00' ,
23- end : '2017-09-07 01:30:00' ,
32+ start : ` ${ getDate ( 1 ) } 00:30:00` ,
33+ end : ` ${ getDate ( 1 ) } 01:30:00` ,
2434 title : 'Visit Grand Mother' ,
2535 summary : 'Visit Grand Mother and bring some fruits.' ,
2636 color : '#ade6d8'
2737 } ,
2838 {
29- start : '2017-09-07 02:30:00' ,
30- end : '2017-09-07 03:20:00' ,
39+ start : ` ${ getDate ( 1 ) } 02:30:00` ,
40+ end : ` ${ getDate ( 1 ) } 03:20:00` ,
3141 title : 'Meeting with Prof. Behjet Zuhaira' ,
3242 summary : 'Meeting with Prof. Behjet at 130 in her office.' ,
3343 color : '#e6add8'
3444 } ,
3545 {
36- start : '2017-09-07 04:10:00' ,
37- end : '2017-09-07 04:40:00' ,
46+ start : ` ${ getDate ( 1 ) } 04:10:00` ,
47+ end : ` ${ getDate ( 1 ) } 04:40:00` ,
3848 title : 'Tea Time with Dr. Hasan' ,
3949 summary : 'Tea Time with Dr. Hasan, Talk about Project'
4050 } ,
4151 {
42- start : '2017-09-07 01:05:00' ,
43- end : '2017-09-07 01:35:00' ,
52+ start : ` ${ getDate ( 1 ) } 01:05:00` ,
53+ end : ` ${ getDate ( 1 ) } 01:35:00` ,
4454 title : 'Dr. Mariana Joseph' ,
4555 summary : '3412 Piedmont Rd NE, GA 3032'
4656 } ,
4757 {
48- start : '2017-09-07 14:30:00' ,
49- end : '2017-09-07 16:30:00' ,
58+ start : ` ${ getDate ( 1 ) } 14:30:00` ,
59+ end : ` ${ getDate ( 1 ) } 16:30:00` ,
5060 title : 'Meeting Some Friends in ARMED' ,
5161 summary : 'Arsalan, Hasnaat, Talha, Waleed, Bilal' ,
5262 color : '#d8ade6'
5363 } ,
5464 {
55- start : '2017-09-08 01:40:00' ,
56- end : '2017-09-08 02:25:00' ,
65+ start : ` ${ getDate ( 2 ) } 01:40:00` ,
66+ end : ` ${ getDate ( 2 ) } 02:25:00` ,
5767 title : 'Meet Sir Khurram Iqbal' ,
5868 summary : 'Computer Science Dept. Comsats Islamabad' ,
5969 color : '#e6bcad'
6070 } ,
6171 {
62- start : '2017-09-08 04:10:00' ,
63- end : '2017-09-08 04:40:00' ,
72+ start : ` ${ getDate ( 2 ) } 04:10:00` ,
73+ end : ` ${ getDate ( 2 ) } 04:40:00` ,
6474 title : 'Tea Time with Colleagues' ,
6575 summary : 'WeRplay'
6676 } ,
6777 {
68- start : '2017-09-08 00:45:00' ,
69- end : '2017-09-08 01:45:00' ,
78+ start : ` ${ getDate ( 2 ) } 00:45:00` ,
79+ end : ` ${ getDate ( 2 ) } 01:45:00` ,
7080 title : 'Lets Play Apex Legends' ,
7181 summary : 'with Boys at Work'
7282 } ,
7383 {
74- start : '2017-09-08 11:30:00' ,
75- end : '2017-09-08 12:30:00' ,
84+ start : ` ${ getDate ( 2 ) } 11:30:00` ,
85+ end : ` ${ getDate ( 2 ) } 12:30:00` ,
7686 title : 'Dr. Mariana Joseph' ,
7787 summary : '3412 Piedmont Rd NE, GA 3032'
7888 } ,
7989 {
80- start : '2017-09-10 12:10:00' ,
81- end : '2017-09-10 13:45:00' ,
90+ start : ` ${ getDate ( 4 ) } 12:10:00` ,
91+ end : ` ${ getDate ( 4 ) } 13:45:00` ,
8292 title : 'Merge Request to React Native Calendars' ,
8393 summary : 'Merge Timeline Calendar to React Native Calendars'
8494 }
8595] ;
8696
8797export default class TimelineCalendarScreen extends Component {
8898 state = {
89- currentDate : '2017-09-10' ,
99+ currentDate : getDate ( ) ,
90100 events : EVENTS ,
91101 eventsByDate : _ . groupBy ( EVENTS , e => CalendarUtils . getCalendarDateString ( e . start ) ) as {
92102 [ key : string ] : TimelineEventProps [ ] ;
93103 }
94104 } ;
95105
96106 marked = {
97- '2017-09-06' : { marked : true } ,
98- '2017-09-07' : { marked : true } ,
99- '2017-09-08' : { marked : true } ,
100- '2017-09-10' : { marked : true }
107+ [ `${ getDate ( - 1 ) } ` ] : { marked : true } ,
108+ [ `${ getDate ( ) } ` ] : { marked : true } ,
109+ [ `${ getDate ( 1 ) } ` ] : { marked : true } ,
110+ [ `${ getDate ( 2 ) } ` ] : { marked : true } ,
111+ [ `${ getDate ( 4 ) } ` ] : { marked : true }
101112 } ;
102113
103114 onDateChanged = ( date : string ) => {
@@ -197,7 +208,14 @@ export default class TimelineCalendarScreen extends Component {
197208 rightArrowImageSource = { require ( '../img/next.png' ) }
198209 markedDates = { this . marked }
199210 />
200- < TimelineList events = { eventsByDate } timelineProps = { this . timelineProps } showNowIndicator />
211+ < TimelineList
212+ events = { eventsByDate }
213+ timelineProps = { this . timelineProps }
214+ showNowIndicator
215+ scrollToNow
216+ scrollToFirst
217+ initialTime = { INITIAL_TIME }
218+ />
201219 </ CalendarProvider >
202220 ) ;
203221 }
0 commit comments