1
- import { useState } from "react"
1
+ import { useEffect , useState } from "react"
2
2
import { db } from './firebase'
3
- // import SignUp from './signUp'
3
+ import SignUp from './signUp'
4
4
5
5
function Todo ( ) {
6
6
@@ -10,6 +10,44 @@ function Todo() {
10
10
const [ dis , setDis ] = useState ( '' )
11
11
const [ day , setDay ] = useState ( '' )
12
12
const [ time , setTime ] = useState ( '' )
13
+ const [ tod , setTod ] = useState ( [ ] ) //tod = today's list
14
+ const [ yesRem , setYRem ] = useState ( [ ] ) //yesRem = yesterday's remaining
15
+ const [ tom , setTom ] = useState ( [ ] ) //tomorrow's list
16
+ const [ cur , setCur ] = useState ( { } )
17
+
18
+ useEffect ( ( ) => {
19
+ let yesIdx = ( ( idx - 1 ) % arr . length + arr . length ) % arr . length
20
+ db . collection ( 'user' ) . doc ( `${ arr [ yesIdx ] } ` ) . collection ( 'tasks' ) . get ( )
21
+ . then ( doc => {
22
+ let yArr = [ ]
23
+ doc . forEach ( document => {
24
+ if ( ! document . data ( ) . status ) yArr . push ( document . data ( ) )
25
+ } )
26
+ setYRem ( yArr )
27
+ } )
28
+ . catch ( err => alert ( err ) )
29
+
30
+ let todIdx = idx
31
+ db . collection ( 'user' ) . doc ( `${ arr [ todIdx ] } ` ) . collection ( 'tasks' ) . get ( )
32
+ . then ( doc => {
33
+ let todArr = [ ]
34
+ doc . forEach ( document => {
35
+ todArr . push ( document . data ( ) )
36
+ } )
37
+ setTod ( todArr )
38
+ } )
39
+ . catch ( err => alert ( err ) )
40
+
41
+ let tomIdx = ( idx + 1 ) % arr . length
42
+ db . collection ( 'user' ) . doc ( `${ arr [ tomIdx ] } ` ) . collection ( 'tasks' ) . get ( )
43
+ . then ( doc => {
44
+ let tomArr = [ ]
45
+ doc . forEach ( document => {
46
+ tomArr . push ( document . data ( ) )
47
+ } )
48
+ setTom ( tomArr )
49
+ } )
50
+ } , [ cur ] )
13
51
14
52
const handleChange = ( e ) => {
15
53
e . preventDefault ( )
@@ -19,15 +57,17 @@ function Todo() {
19
57
EventDisc : "" ,
20
58
Day : "" ,
21
59
status : false ,
22
- RemindMe : ""
60
+ RemindMe : "" ,
61
+ CreatedAt : ""
23
62
}
24
63
25
64
const obj2 = {
26
65
EventName : name ,
27
66
EventDisc : dis ,
28
67
Day : day ,
29
68
status : false ,
30
- RemindMe : time
69
+ RemindMe : time ,
70
+ CreatedAt : new Date ( ) . getTime ( )
31
71
}
32
72
33
73
let yesIdx = ( ( idx - 2 ) % arr . length + arr . length ) % arr . length
@@ -54,11 +94,14 @@ function Todo() {
54
94
docRef . doc ( `${ el . id } ` ) . update ( obj2 )
55
95
}
56
96
} )
97
+ setCur ( obj2 )
57
98
if ( flag === 0 ) alert ( "Only 4 todos are to be done in a day" )
99
+ else docRef . orderBy ( "CreatedAt" , "asc" )
58
100
} )
59
101
} )
60
102
} )
61
103
104
+
62
105
const form = document . getElementById ( 'form' )
63
106
form . reset ( )
64
107
}
@@ -81,14 +124,14 @@ function Todo() {
81
124
name = "day"
82
125
value = { arr [ idx % arr . length ] }
83
126
onClick = { e => setDay ( arr [ idx % arr . length ] ) }
84
- /> { arr [ idx % arr . length ] }
127
+ /> Today ( { arr [ idx ] } )
85
128
86
129
< input
87
130
type = "radio"
88
131
name = "day"
89
132
value = { arr [ ( idx + 1 ) % arr . length ] }
90
133
onClick = { e => setDay ( arr [ ( idx + 1 ) % arr . length ] ) }
91
- /> { arr [ ( idx + 1 ) % arr . length ] }
134
+ /> Tomorrow ( { arr [ ( idx + 1 ) % arr . length ] } )
92
135
</ div >
93
136
< div >
94
137
< label > Remind me at</ label >
@@ -102,8 +145,22 @@ function Todo() {
102
145
< input type = "submit" value = "Submit" />
103
146
</ div >
104
147
</ form >
148
+
149
+ < div >
150
+ { yesRem . map ( val => ( < div > { JSON . stringify ( val ) } </ div > ) ) }
151
+ </ div >
152
+ < br />
153
+ < br />
154
+ < div >
155
+ { tod . map ( val => ( < div > { JSON . stringify ( val ) } </ div > ) ) }
156
+ </ div >
157
+ < br />
158
+ < br />
159
+ < div >
160
+ { tom . map ( val => ( < div > { JSON . stringify ( val ) } </ div > ) ) }
161
+ </ div >
162
+ { /* <SignUp /> */ }
105
163
</ div >
106
- // <SignUp />
107
164
)
108
165
}
109
166
0 commit comments