Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,730 --> 00:00:04,490
okay then gang so now what I'd like to
2
00:00:04,490 --> 00:00:04,500
okay then gang so now what I'd like to
3
00:00:04,500 --> 00:00:07,039
okay then gang so now what I'd like to
do is take this signing page because
4
00:00:07,039 --> 00:00:07,049
do is take this signing page because
5
00:00:07,049 --> 00:00:08,480
do is take this signing page because
currently we can only press this button
6
00:00:08,480 --> 00:00:08,490
currently we can only press this button
7
00:00:08,490 --> 00:00:10,760
currently we can only press this button
to sign in anonymously and turn it into
8
00:00:10,760 --> 00:00:10,770
to sign in anonymously and turn it into
9
00:00:10,770 --> 00:00:12,950
to sign in anonymously and turn it into
a signing form where we can put in an
10
00:00:12,950 --> 00:00:12,960
a signing form where we can put in an
11
00:00:12,960 --> 00:00:15,440
a signing form where we can put in an
email and a password and then signing
12
00:00:15,440 --> 00:00:15,450
email and a password and then signing
13
00:00:15,450 --> 00:00:16,429
email and a password and then signing
with those credentials
14
00:00:16,429 --> 00:00:16,439
with those credentials
15
00:00:16,439 --> 00:00:18,740
with those credentials
instead of anonymously so we're gonna
16
00:00:18,740 --> 00:00:18,750
instead of anonymously so we're gonna
17
00:00:18,750 --> 00:00:21,140
instead of anonymously so we're gonna
reflect this page now and the first
18
00:00:21,140 --> 00:00:21,150
reflect this page now and the first
19
00:00:21,150 --> 00:00:23,120
reflect this page now and the first
thing I'm going to do is get rid of
20
00:00:23,120 --> 00:00:23,130
thing I'm going to do is get rid of
21
00:00:23,130 --> 00:00:25,100
thing I'm going to do is get rid of
everything inside this child property
22
00:00:25,100 --> 00:00:25,110
everything inside this child property
23
00:00:25,110 --> 00:00:27,380
everything inside this child property
right here inside the container so we're
24
00:00:27,380 --> 00:00:27,390
right here inside the container so we're
25
00:00:27,390 --> 00:00:29,150
right here inside the container so we're
going to keep this scaffold and the app
26
00:00:29,150 --> 00:00:29,160
going to keep this scaffold and the app
27
00:00:29,160 --> 00:00:30,980
going to keep this scaffold and the app
bar and we're going to keep this padding
28
00:00:30,980 --> 00:00:30,990
bar and we're going to keep this padding
29
00:00:30,990 --> 00:00:33,080
bar and we're going to keep this padding
but get rid of the raised button right
30
00:00:33,080 --> 00:00:33,090
but get rid of the raised button right
31
00:00:33,090 --> 00:00:34,250
but get rid of the raised button right
here we don't want that anymore
32
00:00:34,250 --> 00:00:34,260
here we don't want that anymore
33
00:00:34,260 --> 00:00:35,959
here we don't want that anymore
and instead in here we're going to
34
00:00:35,959 --> 00:00:35,969
and instead in here we're going to
35
00:00:35,969 --> 00:00:38,509
and instead in here we're going to
create some kind of form so the first
36
00:00:38,509 --> 00:00:38,519
create some kind of form so the first
37
00:00:38,519 --> 00:00:41,419
create some kind of form so the first
thing I'll do is a form widget and this
38
00:00:41,419 --> 00:00:41,429
thing I'll do is a form widget and this
39
00:00:41,429 --> 00:00:43,189
thing I'll do is a form widget and this
form widget is going to allow us to do
40
00:00:43,189 --> 00:00:43,199
form widget is going to allow us to do
41
00:00:43,199 --> 00:00:46,790
form widget is going to allow us to do
some form validation later on now inside
42
00:00:46,790 --> 00:00:46,800
some form validation later on now inside
43
00:00:46,800 --> 00:00:48,319
some form validation later on now inside
this form widget we need a few different
44
00:00:48,319 --> 00:00:48,329
this form widget we need a few different
45
00:00:48,329 --> 00:00:50,719
this form widget we need a few different
things so I'm going to create a column
46
00:00:50,719 --> 00:00:50,729
things so I'm going to create a column
47
00:00:50,729 --> 00:00:54,619
things so I'm going to create a column
so the child will be a column and inside
48
00:00:54,619 --> 00:00:54,629
so the child will be a column and inside
49
00:00:54,629 --> 00:00:56,569
so the child will be a column and inside
this column we're going to have a list
50
00:00:56,569 --> 00:00:56,579
this column we're going to have a list
51
00:00:56,579 --> 00:00:59,000
this column we're going to have a list
basically of different form field
52
00:00:59,000 --> 00:00:59,010
basically of different form field
53
00:00:59,010 --> 00:01:01,669
basically of different form field
widgets so let me now open up this
54
00:01:01,669 --> 00:01:01,679
widgets so let me now open up this
55
00:01:01,679 --> 00:01:03,559
widgets so let me now open up this
column and say the children property
56
00:01:03,559 --> 00:01:03,569
column and say the children property
57
00:01:03,569 --> 00:01:05,990
column and say the children property
should be a widget list and the first
58
00:01:05,990 --> 00:01:06,000
should be a widget list and the first
59
00:01:06,000 --> 00:01:08,450
should be a widget list and the first
thing inside this list is gonna be a
60
00:01:08,450 --> 00:01:08,460
thing inside this list is gonna be a
61
00:01:08,460 --> 00:01:11,209
thing inside this list is gonna be a
sized box and I'm only doing this to
62
00:01:11,209 --> 00:01:11,219
sized box and I'm only doing this to
63
00:01:11,219 --> 00:01:13,370
sized box and I'm only doing this to
give myself a bit of breathing room so
64
00:01:13,370 --> 00:01:13,380
give myself a bit of breathing room so
65
00:01:13,380 --> 00:01:17,020
give myself a bit of breathing room so
this is going to be height 20 like so
66
00:01:17,020 --> 00:01:17,030
this is going to be height 20 like so
67
00:01:17,030 --> 00:01:20,660
this is going to be height 20 like so
okay so after that size box we want our
68
00:01:20,660 --> 00:01:20,670
okay so after that size box we want our
69
00:01:20,670 --> 00:01:22,789
okay so after that size box we want our
first form field and this is going to be
70
00:01:22,789 --> 00:01:22,799
first form field and this is going to be
71
00:01:22,799 --> 00:01:25,609
first form field and this is going to be
a text form field for the email so I'll
72
00:01:25,609 --> 00:01:25,619
a text form field for the email so I'll
73
00:01:25,619 --> 00:01:29,840
a text form field for the email so I'll
say text form field and then inside this
74
00:01:29,840 --> 00:01:29,850
say text form field and then inside this
75
00:01:29,850 --> 00:01:32,660
say text form field and then inside this
widget we need to specify what's going
76
00:01:32,660 --> 00:01:32,670
widget we need to specify what's going
77
00:01:32,670 --> 00:01:35,090
widget we need to specify what's going
to happen when this farm field changes
78
00:01:35,090 --> 00:01:35,100
to happen when this farm field changes
79
00:01:35,100 --> 00:01:38,060
to happen when this farm field changes
so we can do that by adding an unchanged
80
00:01:38,060 --> 00:01:38,070
so we can do that by adding an unchanged
81
00:01:38,070 --> 00:01:41,080
so we can do that by adding an unchanged
property so let me enter down and say on
82
00:01:41,080 --> 00:01:41,090
property so let me enter down and say on
83
00:01:41,090 --> 00:01:44,029
property so let me enter down and say on
changed and set that equal to a function
84
00:01:44,029 --> 00:01:44,039
changed and set that equal to a function
85
00:01:44,039 --> 00:01:47,539
changed and set that equal to a function
which takes in the value and then inside
86
00:01:47,539 --> 00:01:47,549
which takes in the value and then inside
87
00:01:47,549 --> 00:01:50,749
which takes in the value and then inside
that we'll do something later on okay so
88
00:01:50,749 --> 00:01:50,759
that we'll do something later on okay so
89
00:01:50,759 --> 00:01:52,489
that we'll do something later on okay so
this value is going to represent
90
00:01:52,489 --> 00:01:52,499
this value is going to represent
91
00:01:52,499 --> 00:01:54,529
this value is going to represent
whatever is in the form field at that
92
00:01:54,529 --> 00:01:54,539
whatever is in the form field at that
93
00:01:54,539 --> 00:01:57,169
whatever is in the form field at that
point and unchanged means that every
94
00:01:57,169 --> 00:01:57,179
point and unchanged means that every
95
00:01:57,179 --> 00:01:59,660
point and unchanged means that every
time a user typed something extra into
96
00:01:59,660 --> 00:01:59,670
time a user typed something extra into
97
00:01:59,670 --> 00:02:01,459
time a user typed something extra into
the form field or presses a Delete key
98
00:02:01,459 --> 00:02:01,469
the form field or presses a Delete key
99
00:02:01,469 --> 00:02:03,139
the form field or presses a Delete key
or a space or something like that
100
00:02:03,139 --> 00:02:03,149
or a space or something like that
101
00:02:03,149 --> 00:02:05,539
or a space or something like that
every time the value changes this
102
00:02:05,539 --> 00:02:05,549
every time the value changes this
103
00:02:05,549 --> 00:02:07,819
every time the value changes this
function is going to run and get us the
104
00:02:07,819 --> 00:02:07,829
function is going to run and get us the
105
00:02:07,829 --> 00:02:10,370
function is going to run and get us the
value that are currently inside that
106
00:02:10,370 --> 00:02:10,380
value that are currently inside that
107
00:02:10,380 --> 00:02:13,220
value that are currently inside that
farm field so after that we want our
108
00:02:13,220 --> 00:02:13,230
farm field so after that we want our
109
00:02:13,230 --> 00:02:15,240
farm field so after that we want our
next farm field widget but
110
00:02:15,240 --> 00:02:15,250
next farm field widget but
111
00:02:15,250 --> 00:02:16,650
next farm field widget but
before we do that let's do another sized
112
00:02:16,650 --> 00:02:16,660
before we do that let's do another sized
113
00:02:16,660 --> 00:02:19,680
before we do that let's do another sized
box so we get some space between these
114
00:02:19,680 --> 00:02:19,690
box so we get some space between these
115
00:02:19,690 --> 00:02:22,020
box so we get some space between these
different form fields and then we'll do
116
00:02:22,020 --> 00:02:22,030
different form fields and then we'll do
117
00:02:22,030 --> 00:02:24,540
different form fields and then we'll do
another text form field because this is
118
00:02:24,540 --> 00:02:24,550
another text form field because this is
119
00:02:24,550 --> 00:02:26,400
another text form field because this is
going to be for our password now and
120
00:02:26,400 --> 00:02:26,410
going to be for our password now and
121
00:02:26,410 --> 00:02:29,220
going to be for our password now and
inside this one we want to do pretty
122
00:02:29,220 --> 00:02:29,230
inside this one we want to do pretty
123
00:02:29,230 --> 00:02:30,210
inside this one we want to do pretty
much the same thing
124
00:02:30,210 --> 00:02:30,220
much the same thing
125
00:02:30,220 --> 00:02:32,520
much the same thing
so we'll say on changed and that is
126
00:02:32,520 --> 00:02:32,530
so we'll say on changed and that is
127
00:02:32,530 --> 00:02:34,020
so we'll say on changed and that is
going to be a function which takes in
128
00:02:34,020 --> 00:02:34,030
going to be a function which takes in
129
00:02:34,030 --> 00:02:36,540
going to be a function which takes in
the value and we'll do something in here
130
00:02:36,540 --> 00:02:36,550
the value and we'll do something in here
131
00:02:36,550 --> 00:02:40,470
the value and we'll do something in here
later on now inside this password field
132
00:02:40,470 --> 00:02:40,480
later on now inside this password field
133
00:02:40,480 --> 00:02:43,890
later on now inside this password field
we also want to obscure the text so when
134
00:02:43,890 --> 00:02:43,900
we also want to obscure the text so when
135
00:02:43,900 --> 00:02:45,660
we also want to obscure the text so when
we type into it over here we don't want
136
00:02:45,660 --> 00:02:45,670
we type into it over here we don't want
137
00:02:45,670 --> 00:02:47,010
we type into it over here we don't want
to see what we're typing in case
138
00:02:47,010 --> 00:02:47,020
to see what we're typing in case
139
00:02:47,020 --> 00:02:48,720
to see what we're typing in case
someone's over your shoulder trying to
140
00:02:48,720 --> 00:02:48,730
someone's over your shoulder trying to
141
00:02:48,730 --> 00:02:51,420
someone's over your shoulder trying to
find out what your password is so what
142
00:02:51,420 --> 00:02:51,430
find out what your password is so what
143
00:02:51,430 --> 00:02:52,710
find out what your password is so what
we're gonna do is add on another
144
00:02:52,710 --> 00:02:52,720
we're gonna do is add on another
145
00:02:52,720 --> 00:02:56,310
we're gonna do is add on another
property to this called obscure text and
146
00:02:56,310 --> 00:02:56,320
property to this called obscure text and
147
00:02:56,320 --> 00:02:59,610
property to this called obscure text and
set that to be true so if I save this
148
00:02:59,610 --> 00:02:59,620
set that to be true so if I save this
149
00:02:59,620 --> 00:03:01,770
set that to be true so if I save this
now we should see so far we have two
150
00:03:01,770 --> 00:03:01,780
now we should see so far we have two
151
00:03:01,780 --> 00:03:03,360
now we should see so far we have two
form fields and we can type something
152
00:03:03,360 --> 00:03:03,370
form fields and we can type something
153
00:03:03,370 --> 00:03:06,030
form fields and we can type something
into this one and also we can type
154
00:03:06,030 --> 00:03:06,040
into this one and also we can type
155
00:03:06,040 --> 00:03:07,860
into this one and also we can type
something into the next one but when we
156
00:03:07,860 --> 00:03:07,870
something into the next one but when we
157
00:03:07,870 --> 00:03:08,910
something into the next one but when we
type in the next one
158
00:03:08,910 --> 00:03:08,920
type in the next one
159
00:03:08,920 --> 00:03:11,699
type in the next one
it's obscured so you only see the last
160
00:03:11,699 --> 00:03:11,709
it's obscured so you only see the last
161
00:03:11,709 --> 00:03:13,979
it's obscured so you only see the last
letter for a couple of seconds before it
162
00:03:13,979 --> 00:03:13,989
letter for a couple of seconds before it
163
00:03:13,989 --> 00:03:16,650
letter for a couple of seconds before it
obscures and now someone trying to steal
164
00:03:16,650 --> 00:03:16,660
obscures and now someone trying to steal
165
00:03:16,660 --> 00:03:19,020
obscures and now someone trying to steal
your password standing behind you
166
00:03:19,020 --> 00:03:19,030
your password standing behind you
167
00:03:19,030 --> 00:03:22,560
your password standing behind you
can't do so anymore so there's two farm
168
00:03:22,560 --> 00:03:22,570
can't do so anymore so there's two farm
169
00:03:22,570 --> 00:03:24,630
can't do so anymore so there's two farm
fields now we also need a button at the
170
00:03:24,630 --> 00:03:24,640
fields now we also need a button at the
171
00:03:24,640 --> 00:03:27,120
fields now we also need a button at the
bottom so let me come down here and
172
00:03:27,120 --> 00:03:27,130
bottom so let me come down here and
173
00:03:27,130 --> 00:03:29,070
bottom so let me come down here and
there were coming after this I'm gonna
174
00:03:29,070 --> 00:03:29,080
there were coming after this I'm gonna
175
00:03:29,080 --> 00:03:31,440
there were coming after this I'm gonna
do another sized box and the height is
176
00:03:31,440 --> 00:03:31,450
do another sized box and the height is
177
00:03:31,450 --> 00:03:34,229
do another sized box and the height is
gonna be 20 pixels again just to give us
178
00:03:34,229 --> 00:03:34,239
gonna be 20 pixels again just to give us
179
00:03:34,239 --> 00:03:36,330
gonna be 20 pixels again just to give us
a bit more breathing room and then we're
180
00:03:36,330 --> 00:03:36,340
a bit more breathing room and then we're
181
00:03:36,340 --> 00:03:39,259
a bit more breathing room and then we're
gonna do a raised button so raised
182
00:03:39,259 --> 00:03:39,269
gonna do a raised button so raised
183
00:03:39,269 --> 00:03:43,229
gonna do a raised button so raised
button like so okay so inside this
184
00:03:43,229 --> 00:03:43,239
button like so okay so inside this
185
00:03:43,239 --> 00:03:44,970
button like so okay so inside this
raised button first of all I'm going to
186
00:03:44,970 --> 00:03:44,980
raised button first of all I'm going to
187
00:03:44,980 --> 00:03:47,880
raised button first of all I'm going to
specify a color now I want this to be a
188
00:03:47,880 --> 00:03:47,890
specify a color now I want this to be a
189
00:03:47,890 --> 00:03:50,940
specify a color now I want this to be a
pink color so I'll say colors dot pink
190
00:03:50,940 --> 00:03:50,950
pink color so I'll say colors dot pink
191
00:03:50,950 --> 00:03:55,050
pink color so I'll say colors dot pink
and then strength of 400 we also need a
192
00:03:55,050 --> 00:03:55,060
and then strength of 400 we also need a
193
00:03:55,060 --> 00:03:56,910
and then strength of 400 we also need a
child property which is going to be the
194
00:03:56,910 --> 00:03:56,920
child property which is going to be the
195
00:03:56,920 --> 00:03:59,069
child property which is going to be the
text that sits inside the button so
196
00:03:59,069 --> 00:03:59,079
text that sits inside the button so
197
00:03:59,079 --> 00:04:01,050
text that sits inside the button so
we'll do a child property that will be
198
00:04:01,050 --> 00:04:01,060
we'll do a child property that will be
199
00:04:01,060 --> 00:04:04,229
we'll do a child property that will be
text and then inside this text I want to
200
00:04:04,229 --> 00:04:04,239
text and then inside this text I want to
201
00:04:04,239 --> 00:04:06,600
text and then inside this text I want to
first of all specify the text itself
202
00:04:06,600 --> 00:04:06,610
first of all specify the text itself
203
00:04:06,610 --> 00:04:10,170
first of all specify the text itself
which is going to be signed in and then
204
00:04:10,170 --> 00:04:10,180
which is going to be signed in and then
205
00:04:10,180 --> 00:04:12,990
which is going to be signed in and then
we also want to do a style property
206
00:04:12,990 --> 00:04:13,000
we also want to do a style property
207
00:04:13,000 --> 00:04:15,509
we also want to do a style property
which will be text style and this is so
208
00:04:15,509 --> 00:04:15,519
which will be text style and this is so
209
00:04:15,519 --> 00:04:16,979
which will be text style and this is so
we can change the color of the text
210
00:04:16,979 --> 00:04:16,989
we can change the color of the text
211
00:04:16,989 --> 00:04:19,199
we can change the color of the text
because by default I think it's black
212
00:04:19,199 --> 00:04:19,209
because by default I think it's black
213
00:04:19,209 --> 00:04:23,100
because by default I think it's black
and we want to be white so colors dot
214
00:04:23,100 --> 00:04:23,110
and we want to be white so colors dot
215
00:04:23,110 --> 00:04:27,750
and we want to be white so colors dot
white okay now after the child property
216
00:04:27,750 --> 00:04:27,760
white okay now after the child property
217
00:04:27,760 --> 00:04:29,040
white okay now after the child property
I also want
218
00:04:29,040 --> 00:04:29,050
I also want
219
00:04:29,050 --> 00:04:32,010
I also want
on pressed property which is a function
220
00:04:32,010 --> 00:04:32,020
on pressed property which is a function
221
00:04:32,020 --> 00:04:34,260
on pressed property which is a function
that's going to fire when this button is
222
00:04:34,260 --> 00:04:34,270
that's going to fire when this button is
223
00:04:34,270 --> 00:04:36,180
that's going to fire when this button is
pressed now this is going to eventually
224
00:04:36,180 --> 00:04:36,190
pressed now this is going to eventually
225
00:04:36,190 --> 00:04:38,969
pressed now this is going to eventually
be an asynchronous function because at
226
00:04:38,969 --> 00:04:38,979
be an asynchronous function because at
227
00:04:38,979 --> 00:04:40,320
be an asynchronous function because at
the end of the day what we want to do at
228
00:04:40,320 --> 00:04:40,330
the end of the day what we want to do at
229
00:04:40,330 --> 00:04:43,409
the end of the day what we want to do at
this point is go out and interact with
230
00:04:43,409 --> 00:04:43,419
this point is go out and interact with
231
00:04:43,419 --> 00:04:46,110
this point is go out and interact with
firebase to log this person in or to
232
00:04:46,110 --> 00:04:46,120
firebase to log this person in or to
233
00:04:46,120 --> 00:04:47,879
firebase to log this person in or to
sign them in and that takes some time
234
00:04:47,879 --> 00:04:47,889
sign them in and that takes some time
235
00:04:47,889 --> 00:04:49,619
sign them in and that takes some time
it's an asynchronous task
236
00:04:49,619 --> 00:04:49,629
it's an asynchronous task
237
00:04:49,629 --> 00:04:50,730
it's an asynchronous task
so I may as well label it as
238
00:04:50,730 --> 00:04:50,740
so I may as well label it as
239
00:04:50,740 --> 00:04:53,790
so I may as well label it as
asynchronous now so now we pretty much
240
00:04:53,790 --> 00:04:53,800
asynchronous now so now we pretty much
241
00:04:53,800 --> 00:04:57,210
asynchronous now so now we pretty much
have this all sorted so let me save this
242
00:04:57,210 --> 00:04:57,220
have this all sorted so let me save this
243
00:04:57,220 --> 00:04:59,430
have this all sorted so let me save this
now and preview and now we can see we
244
00:04:59,430 --> 00:04:59,440
now and preview and now we can see we
245
00:04:59,440 --> 00:05:01,710
now and preview and now we can see we
have these two form fields email and
246
00:05:01,710 --> 00:05:01,720
have these two form fields email and
247
00:05:01,720 --> 00:05:04,290
have these two form fields email and
password and we have a sign-in button as
248
00:05:04,290 --> 00:05:04,300
password and we have a sign-in button as
249
00:05:04,300 --> 00:05:06,420
password and we have a sign-in button as
well but at the minute this does nothing
250
00:05:06,420 --> 00:05:06,430
well but at the minute this does nothing
251
00:05:06,430 --> 00:05:09,240
well but at the minute this does nothing
and also when we enter some information
252
00:05:09,240 --> 00:05:09,250
and also when we enter some information
253
00:05:09,250 --> 00:05:11,460
and also when we enter some information
into these fields it does nothing either
254
00:05:11,460 --> 00:05:11,470
into these fields it does nothing either
255
00:05:11,470 --> 00:05:13,559
into these fields it does nothing either
because we have nothing inside these
256
00:05:13,559 --> 00:05:13,569
because we have nothing inside these
257
00:05:13,569 --> 00:05:16,170
because we have nothing inside these
unchanged functions right here and also
258
00:05:16,170 --> 00:05:16,180
unchanged functions right here and also
259
00:05:16,180 --> 00:05:18,529
unchanged functions right here and also
nothing inside this on pressed function
260
00:05:18,529 --> 00:05:18,539
nothing inside this on pressed function
261
00:05:18,539 --> 00:05:21,270
nothing inside this on pressed function
so first of all let's do these things
262
00:05:21,270 --> 00:05:21,280
so first of all let's do these things
263
00:05:21,280 --> 00:05:23,939
so first of all let's do these things
what do we want to happen when a user
264
00:05:23,939 --> 00:05:23,949
what do we want to happen when a user
265
00:05:23,949 --> 00:05:26,520
what do we want to happen when a user
starts typing in here well what we want
266
00:05:26,520 --> 00:05:26,530
starts typing in here well what we want
267
00:05:26,530 --> 00:05:28,890
starts typing in here well what we want
to do is track what the user is typing
268
00:05:28,890 --> 00:05:28,900
to do is track what the user is typing
269
00:05:28,900 --> 00:05:31,619
to do is track what the user is typing
into those fields and then maybe store
270
00:05:31,619 --> 00:05:31,629
into those fields and then maybe store
271
00:05:31,629 --> 00:05:34,320
into those fields and then maybe store
the current value of those fields inside
272
00:05:34,320 --> 00:05:34,330
the current value of those fields inside
273
00:05:34,330 --> 00:05:36,779
the current value of those fields inside
some kind of local state variable so
274
00:05:36,779 --> 00:05:36,789
some kind of local state variable so
275
00:05:36,789 --> 00:05:38,370
some kind of local state variable so
what I'm going to do is create two
276
00:05:38,370 --> 00:05:38,380
what I'm going to do is create two
277
00:05:38,380 --> 00:05:40,110
what I'm going to do is create two
pieces of state right here and these
278
00:05:40,110 --> 00:05:40,120
pieces of state right here and these
279
00:05:40,120 --> 00:05:42,990
pieces of state right here and these
pieces of state are going to store these
280
00:05:42,990 --> 00:05:43,000
pieces of state are going to store these
281
00:05:43,000 --> 00:05:45,719
pieces of state are going to store these
two fields or these two values that are
282
00:05:45,719 --> 00:05:45,729
two fields or these two values that are
283
00:05:45,729 --> 00:05:49,830
two fields or these two values that are
in these fields so let's say text field
284
00:05:49,830 --> 00:05:49,840
in these fields so let's say text field
285
00:05:49,840 --> 00:05:52,469
in these fields so let's say text field
state and then underneath we'll do a
286
00:05:52,469 --> 00:05:52,479
state and then underneath we'll do a
287
00:05:52,479 --> 00:05:55,260
state and then underneath we'll do a
string for the email and set it to be an
288
00:05:55,260 --> 00:05:55,270
string for the email and set it to be an
289
00:05:55,270 --> 00:05:57,450
string for the email and set it to be an
empty string to begin with and then also
290
00:05:57,450 --> 00:05:57,460
empty string to begin with and then also
291
00:05:57,460 --> 00:06:00,600
empty string to begin with and then also
a string for the password and that is
292
00:06:00,600 --> 00:06:00,610
a string for the password and that is
293
00:06:00,610 --> 00:06:02,370
a string for the password and that is
going to be an empty string to begin
294
00:06:02,370 --> 00:06:02,380
going to be an empty string to begin
295
00:06:02,380 --> 00:06:05,879
going to be an empty string to begin
with as well so now when a user starts
296
00:06:05,879 --> 00:06:05,889
with as well so now when a user starts
297
00:06:05,889 --> 00:06:08,790
with as well so now when a user starts
to type into this one the email we want
298
00:06:08,790 --> 00:06:08,800
to type into this one the email we want
299
00:06:08,800 --> 00:06:11,490
to type into this one the email we want
to update the state's so that this email
300
00:06:11,490 --> 00:06:11,500
to update the state's so that this email
301
00:06:11,500 --> 00:06:13,620
to update the state's so that this email
property is now equal to the value
302
00:06:13,620 --> 00:06:13,630
property is now equal to the value
303
00:06:13,630 --> 00:06:16,080
property is now equal to the value
whatever is in the fall field at that
304
00:06:16,080 --> 00:06:16,090
whatever is in the fall field at that
305
00:06:16,090 --> 00:06:18,540
whatever is in the fall field at that
moment in time so to do that we can use
306
00:06:18,540 --> 00:06:18,550
moment in time so to do that we can use
307
00:06:18,550 --> 00:06:22,379
moment in time so to do that we can use
set state set state like so and this
308
00:06:22,379 --> 00:06:22,389
set state set state like so and this
309
00:06:22,389 --> 00:06:25,320
set state set state like so and this
accepts a function and in that function
310
00:06:25,320 --> 00:06:25,330
accepts a function and in that function
311
00:06:25,330 --> 00:06:28,890
accepts a function and in that function
all we want to do is say email is equal
312
00:06:28,890 --> 00:06:28,900
all we want to do is say email is equal
313
00:06:28,900 --> 00:06:32,550
all we want to do is say email is equal
to value so we're taking the email state
314
00:06:32,550 --> 00:06:32,560
to value so we're taking the email state
315
00:06:32,560 --> 00:06:34,290
to value so we're taking the email state
and we're setting it equal to whatever
316
00:06:34,290 --> 00:06:34,300
and we're setting it equal to whatever
317
00:06:34,300 --> 00:06:37,409
and we're setting it equal to whatever
the value currently is inside that farm
318
00:06:37,409 --> 00:06:37,419
the value currently is inside that farm
319
00:06:37,419 --> 00:06:38,670
the value currently is inside that farm
field that makes sense right
320
00:06:38,670 --> 00:06:38,680
field that makes sense right
321
00:06:38,680 --> 00:06:41,159
field that makes sense right
now we want to do something similar for
322
00:06:41,159 --> 00:06:41,169
now we want to do something similar for
323
00:06:41,169 --> 00:06:42,690
now we want to do something similar for
the password so let me copy this
324
00:06:42,690 --> 00:06:42,700
the password so let me copy this
325
00:06:42,700 --> 00:06:46,230
the password so let me copy this
dude and paste it down here and this
326
00:06:46,230 --> 00:06:46,240
dude and paste it down here and this
327
00:06:46,240 --> 00:06:48,540
dude and paste it down here and this
time we want to update the password a
328
00:06:48,540 --> 00:06:48,550
time we want to update the password a
329
00:06:48,550 --> 00:06:51,180
time we want to update the password a
bit of state with whatever the value is
330
00:06:51,180 --> 00:06:51,190
bit of state with whatever the value is
331
00:06:51,190 --> 00:06:54,150
bit of state with whatever the value is
so now we're tracking those two things
332
00:06:54,150 --> 00:06:54,160
so now we're tracking those two things
333
00:06:54,160 --> 00:06:57,420
so now we're tracking those two things
so now what we could do at the end when
334
00:06:57,420 --> 00:06:57,430
so now what we could do at the end when
335
00:06:57,430 --> 00:07:00,270
so now what we could do at the end when
we press this button is print out the
336
00:07:00,270 --> 00:07:00,280
we press this button is print out the
337
00:07:00,280 --> 00:07:03,960
we press this button is print out the
state the password and the email so
338
00:07:03,960 --> 00:07:03,970
state the password and the email so
339
00:07:03,970 --> 00:07:04,500
state the password and the email so
let's do that
340
00:07:04,500 --> 00:07:04,510
let's do that
341
00:07:04,510 --> 00:07:07,830
let's do that
let's say print and first of all the
342
00:07:07,830 --> 00:07:07,840
let's say print and first of all the
343
00:07:07,840 --> 00:07:10,620
let's say print and first of all the
email so we're referencing the email
344
00:07:10,620 --> 00:07:10,630
email so we're referencing the email
345
00:07:10,630 --> 00:07:13,470
email so we're referencing the email
state right here and then secondly we
346
00:07:13,470 --> 00:07:13,480
state right here and then secondly we
347
00:07:13,480 --> 00:07:14,820
state right here and then secondly we
want to print out the password as well
348
00:07:14,820 --> 00:07:14,830
want to print out the password as well
349
00:07:14,830 --> 00:07:19,980
want to print out the password as well
so let's do that print password like so
350
00:07:19,980 --> 00:07:19,990
so let's do that print password like so
351
00:07:19,990 --> 00:07:23,100
so let's do that print password like so
and save so now I'm going to open up
352
00:07:23,100 --> 00:07:23,110
and save so now I'm going to open up
353
00:07:23,110 --> 00:07:25,950
and save so now I'm going to open up
this debug console and I'm going to
354
00:07:25,950 --> 00:07:25,960
this debug console and I'm going to
355
00:07:25,960 --> 00:07:28,980
this debug console and I'm going to
delete these things in fact I'm going to
356
00:07:28,980 --> 00:07:28,990
delete these things in fact I'm going to
357
00:07:28,990 --> 00:07:31,170
delete these things in fact I'm going to
just refresh over here so we can start
358
00:07:31,170 --> 00:07:31,180
just refresh over here so we can start
359
00:07:31,180 --> 00:07:34,260
just refresh over here so we can start
from scratch and now if I type in an
360
00:07:34,260 --> 00:07:34,270
from scratch and now if I type in an
361
00:07:34,270 --> 00:07:37,860
from scratch and now if I type in an
email like Mario the net oops that's not
362
00:07:37,860 --> 00:07:37,870
email like Mario the net oops that's not
363
00:07:37,870 --> 00:07:41,340
email like Mario the net oops that's not
the at symbol that's the net ninja code
364
00:07:41,340 --> 00:07:41,350
the at symbol that's the net ninja code
365
00:07:41,350 --> 00:07:43,440
the at symbol that's the net ninja code
at UK and then down here we'll just say
366
00:07:43,440 --> 00:07:43,450
at UK and then down here we'll just say
367
00:07:43,450 --> 00:07:45,960
at UK and then down here we'll just say
test one two three four if we sign in
368
00:07:45,960 --> 00:07:45,970
test one two three four if we sign in
369
00:07:45,970 --> 00:07:48,630
test one two three four if we sign in
now we should see those values logged
370
00:07:48,630 --> 00:07:48,640
now we should see those values logged
371
00:07:48,640 --> 00:07:51,390
now we should see those values logged
down here in the console so now we're
372
00:07:51,390 --> 00:07:51,400
down here in the console so now we're
373
00:07:51,400 --> 00:07:53,550
down here in the console so now we're
able to keep track of these values and
374
00:07:53,550 --> 00:07:53,560
able to keep track of these values and
375
00:07:53,560 --> 00:07:54,960
able to keep track of these values and
in the future instead of just printing
376
00:07:54,960 --> 00:07:54,970
in the future instead of just printing
377
00:07:54,970 --> 00:07:56,310
in the future instead of just printing
them here and what we'll do is take
378
00:07:56,310 --> 00:07:56,320
them here and what we'll do is take
379
00:07:56,320 --> 00:07:58,710
them here and what we'll do is take
those values and interact with firebase
380
00:07:58,710 --> 00:07:58,720
those values and interact with firebase
381
00:07:58,720 --> 00:08:01,110
those values and interact with firebase
to sign that user up with their email
382
00:08:01,110 --> 00:08:01,120
to sign that user up with their email
383
00:08:01,120 --> 00:08:02,970
to sign that user up with their email
and their password that makes sense
384
00:08:02,970 --> 00:08:02,980
and their password that makes sense
385
00:08:02,980 --> 00:08:03,390
and their password that makes sense
right
386
00:08:03,390 --> 00:08:03,400
right
387
00:08:03,400 --> 00:08:07,530
right
cool so now we have the sign in form we
388
00:08:07,530 --> 00:08:07,540
cool so now we have the sign in form we
389
00:08:07,540 --> 00:08:09,360
cool so now we have the sign in form we
need to also do something very similar
390
00:08:09,360 --> 00:08:09,370
need to also do something very similar
391
00:08:09,370 --> 00:08:12,990
need to also do something very similar
for the register form so let us first of
392
00:08:12,990 --> 00:08:13,000
for the register form so let us first of
393
00:08:13,000 --> 00:08:15,480
for the register form so let us first of
all create that file over here inside
394
00:08:15,480 --> 00:08:15,490
all create that file over here inside
395
00:08:15,490 --> 00:08:17,790
all create that file over here inside
the authenticate folder so a new file
396
00:08:17,790 --> 00:08:17,800
the authenticate folder so a new file
397
00:08:17,800 --> 00:08:21,170
the authenticate folder so a new file
and we'll call it register dot dot and
398
00:08:21,170 --> 00:08:21,180
and we'll call it register dot dot and
399
00:08:21,180 --> 00:08:23,550
and we'll call it register dot dot and
inside that file first of all we want to
400
00:08:23,550 --> 00:08:23,560
inside that file first of all we want to
401
00:08:23,560 --> 00:08:27,960
inside that file first of all we want to
import material so material like so and
402
00:08:27,960 --> 00:08:27,970
import material so material like so and
403
00:08:27,970 --> 00:08:30,510
import material so material like so and
then we want to create a stateful widget
404
00:08:30,510 --> 00:08:30,520
then we want to create a stateful widget
405
00:08:30,520 --> 00:08:33,540
then we want to create a stateful widget
so SD ful tab and we'll call this
406
00:08:33,540 --> 00:08:33,550
so SD ful tab and we'll call this
407
00:08:33,550 --> 00:08:37,620
so SD ful tab and we'll call this
register and then down here we want to
408
00:08:37,620 --> 00:08:37,630
register and then down here we want to
409
00:08:37,630 --> 00:08:40,650
register and then down here we want to
return some kind of template again now
410
00:08:40,650 --> 00:08:40,660
return some kind of template again now
411
00:08:40,660 --> 00:08:42,030
return some kind of template again now
I'm not going to write all of this out
412
00:08:42,030 --> 00:08:42,040
I'm not going to write all of this out
413
00:08:42,040 --> 00:08:43,860
I'm not going to write all of this out
again instead what I'm going to do is
414
00:08:43,860 --> 00:08:43,870
again instead what I'm going to do is
415
00:08:43,870 --> 00:08:46,770
again instead what I'm going to do is
just grab all of the return statement
416
00:08:46,770 --> 00:08:46,780
just grab all of the return statement
417
00:08:46,780 --> 00:08:51,000
just grab all of the return statement
here the scaffold and copy it and I'm
418
00:08:51,000 --> 00:08:51,010
here the scaffold and copy it and I'm
419
00:08:51,010 --> 00:08:53,370
here the scaffold and copy it and I'm
going to paste it right here instead of
420
00:08:53,370 --> 00:08:53,380
going to paste it right here instead of
421
00:08:53,380 --> 00:08:56,250
going to paste it right here instead of
this container so paste that in
422
00:08:56,250 --> 00:08:56,260
this container so paste that in
423
00:08:56,260 --> 00:08:57,720
this container so paste that in
and you'll notice at the minute we do
424
00:08:57,720 --> 00:08:57,730
and you'll notice at the minute we do
425
00:08:57,730 --> 00:08:59,790
and you'll notice at the minute we do
get a few errors because this doesn't
426
00:08:59,790 --> 00:08:59,800
get a few errors because this doesn't
427
00:08:59,800 --> 00:09:02,190
get a few errors because this doesn't
exist in this widget the email states
428
00:09:02,190 --> 00:09:02,200
exist in this widget the email states
429
00:09:02,200 --> 00:09:04,380
exist in this widget the email states
and the password doesn't and down here
430
00:09:04,380 --> 00:09:04,390
and the password doesn't and down here
431
00:09:04,390 --> 00:09:06,480
and the password doesn't and down here
as well but we'll address those errors
432
00:09:06,480 --> 00:09:06,490
as well but we'll address those errors
433
00:09:06,490 --> 00:09:08,820
as well but we'll address those errors
in a second first of all I want to say
434
00:09:08,820 --> 00:09:08,830
in a second first of all I want to say
435
00:09:08,830 --> 00:09:12,930
in a second first of all I want to say
here register or rather we'll say sign
436
00:09:12,930 --> 00:09:12,940
here register or rather we'll say sign
437
00:09:12,940 --> 00:09:16,560
here register or rather we'll say sign
up not register sign up to blue group
438
00:09:16,560 --> 00:09:16,570
up not register sign up to blue group
439
00:09:16,570 --> 00:09:19,950
up not register sign up to blue group
and then down here on the button instead
440
00:09:19,950 --> 00:09:19,960
and then down here on the button instead
441
00:09:19,960 --> 00:09:22,110
and then down here on the button instead
of saying sign in wherever the butt of
442
00:09:22,110 --> 00:09:22,120
of saying sign in wherever the butt of
443
00:09:22,120 --> 00:09:22,920
of saying sign in wherever the butt of
it there it is
444
00:09:22,920 --> 00:09:22,930
it there it is
445
00:09:22,930 --> 00:09:27,720
it there it is
will say register like so and then we
446
00:09:27,720 --> 00:09:27,730
will say register like so and then we
447
00:09:27,730 --> 00:09:30,540
will say register like so and then we
have to create this state so let me go
448
00:09:30,540 --> 00:09:30,550
have to create this state so let me go
449
00:09:30,550 --> 00:09:32,220
have to create this state so let me go
back to sign-in where we have that state
450
00:09:32,220 --> 00:09:32,230
back to sign-in where we have that state
451
00:09:32,230 --> 00:09:36,750
back to sign-in where we have that state
at the top and grab it and paste it over
452
00:09:36,750 --> 00:09:36,760
at the top and grab it and paste it over
453
00:09:36,760 --> 00:09:40,860
at the top and grab it and paste it over
here so inside the state object paste
454
00:09:40,860 --> 00:09:40,870
here so inside the state object paste
455
00:09:40,870 --> 00:09:44,220
here so inside the state object paste
that in also gonna grab this thing
456
00:09:44,220 --> 00:09:44,230
that in also gonna grab this thing
457
00:09:44,230 --> 00:09:46,140
that in also gonna grab this thing
because we don't need it just yet the
458
00:09:46,140 --> 00:09:46,150
because we don't need it just yet the
459
00:09:46,150 --> 00:09:48,480
because we don't need it just yet the
auth service but we will be using it in
460
00:09:48,480 --> 00:09:48,490
auth service but we will be using it in
461
00:09:48,490 --> 00:09:50,370
auth service but we will be using it in
the future in both of these widgets so
462
00:09:50,370 --> 00:09:50,380
the future in both of these widgets so
463
00:09:50,380 --> 00:09:51,840
the future in both of these widgets so
I'm going to copy that and I'm going to
464
00:09:51,840 --> 00:09:51,850
I'm going to copy that and I'm going to
465
00:09:51,850 --> 00:09:54,480
I'm going to copy that and I'm going to
paste that in here as well so we can use
466
00:09:54,480 --> 00:09:54,490
paste that in here as well so we can use
467
00:09:54,490 --> 00:09:56,880
paste that in here as well so we can use
in future tutorials now obviously we've
468
00:09:56,880 --> 00:09:56,890
in future tutorials now obviously we've
469
00:09:56,890 --> 00:09:59,010
in future tutorials now obviously we've
not imported that so let's import that
470
00:09:59,010 --> 00:09:59,020
not imported that so let's import that
471
00:09:59,020 --> 00:10:01,440
not imported that so let's import that
first of all so import and then we need
472
00:10:01,440 --> 00:10:01,450
first of all so import and then we need
473
00:10:01,450 --> 00:10:03,720
first of all so import and then we need
to go into the services folder and we
474
00:10:03,720 --> 00:10:03,730
to go into the services folder and we
475
00:10:03,730 --> 00:10:05,910
to go into the services folder and we
also need the auth file inside that
476
00:10:05,910 --> 00:10:05,920
also need the auth file inside that
477
00:10:05,920 --> 00:10:08,490
also need the auth file inside that
that's the auth service and then I think
478
00:10:08,490 --> 00:10:08,500
that's the auth service and then I think
479
00:10:08,500 --> 00:10:10,860
that's the auth service and then I think
that is just about it so if I was to
480
00:10:10,860 --> 00:10:10,870
that is just about it so if I was to
481
00:10:10,870 --> 00:10:13,620
that is just about it so if I was to
save this now then I should yeah there's
482
00:10:13,620 --> 00:10:13,630
save this now then I should yeah there's
483
00:10:13,630 --> 00:10:15,780
save this now then I should yeah there's
no more errors I should be able to go to
484
00:10:15,780 --> 00:10:15,790
no more errors I should be able to go to
485
00:10:15,790 --> 00:10:18,540
no more errors I should be able to go to
the authenticate widget and instead of
486
00:10:18,540 --> 00:10:18,550
the authenticate widget and instead of
487
00:10:18,550 --> 00:10:20,550
the authenticate widget and instead of
returning the sign-in I'm gonna return
488
00:10:20,550 --> 00:10:20,560
returning the sign-in I'm gonna return
489
00:10:20,560 --> 00:10:24,060
returning the sign-in I'm gonna return
the register widget like so obviously we
490
00:10:24,060 --> 00:10:24,070
the register widget like so obviously we
491
00:10:24,070 --> 00:10:26,460
the register widget like so obviously we
need to import that so let me come down
492
00:10:26,460 --> 00:10:26,470
need to import that so let me come down
493
00:10:26,470 --> 00:10:29,220
need to import that so let me come down
here and say import and it's going to be
494
00:10:29,220 --> 00:10:29,230
here and say import and it's going to be
495
00:10:29,230 --> 00:10:32,210
here and say import and it's going to be
inside screens and we want to go inside
496
00:10:32,210 --> 00:10:32,220
inside screens and we want to go inside
497
00:10:32,220 --> 00:10:35,790
inside screens and we want to go inside
authenticate and then register so let me
498
00:10:35,790 --> 00:10:35,800
authenticate and then register so let me
499
00:10:35,800 --> 00:10:37,890
authenticate and then register so let me
save that and now we should see the
500
00:10:37,890 --> 00:10:37,900
save that and now we should see the
501
00:10:37,900 --> 00:10:40,260
save that and now we should see the
register screen sign up to brew crew and
502
00:10:40,260 --> 00:10:40,270
register screen sign up to brew crew and
503
00:10:40,270 --> 00:10:42,530
register screen sign up to brew crew and
this should work exactly the same way
504
00:10:42,530 --> 00:10:42,540
this should work exactly the same way
505
00:10:42,540 --> 00:10:44,670
this should work exactly the same way
I'm just going to enter in any old
506
00:10:44,670 --> 00:10:44,680
I'm just going to enter in any old
507
00:10:44,680 --> 00:10:47,220
I'm just going to enter in any old
rubbish and register but let me open up
508
00:10:47,220 --> 00:10:47,230
rubbish and register but let me open up
509
00:10:47,230 --> 00:10:50,220
rubbish and register but let me open up
the debug console first of all so we can
510
00:10:50,220 --> 00:10:50,230
the debug console first of all so we can
511
00:10:50,230 --> 00:10:52,770
the debug console first of all so we can
see this register and now we see those
512
00:10:52,770 --> 00:10:52,780
see this register and now we see those
513
00:10:52,780 --> 00:10:55,620
see this register and now we see those
values down in the console so this is
514
00:10:55,620 --> 00:10:55,630
values down in the console so this is
515
00:10:55,630 --> 00:10:58,200
values down in the console so this is
all working so far we have a couple of
516
00:10:58,200 --> 00:10:58,210
all working so far we have a couple of
517
00:10:58,210 --> 00:11:00,570
all working so far we have a couple of
different forms now one for signing in
518
00:11:00,570 --> 00:11:00,580
different forms now one for signing in
519
00:11:00,580 --> 00:11:03,450
different forms now one for signing in
and want for registering and we just
520
00:11:03,450 --> 00:11:03,460
and want for registering and we just
521
00:11:03,460 --> 00:11:06,270
and want for registering and we just
need to now hook this up with firebase
522
00:11:06,270 --> 00:11:06,280
need to now hook this up with firebase
523
00:11:06,280 --> 00:11:08,310
need to now hook this up with firebase
but before we do that I want to do a
524
00:11:08,310 --> 00:11:08,320
but before we do that I want to do a
525
00:11:08,320 --> 00:11:10,050
but before we do that I want to do a
couple more things first
526
00:11:10,050 --> 00:11:10,060
couple more things first
527
00:11:10,060 --> 00:11:11,880
couple more things first
and the first thing I want to do is
528
00:11:11,880 --> 00:11:11,890
and the first thing I want to do is
529
00:11:11,890 --> 00:11:13,620
and the first thing I want to do is
allow the user to be able to switch
530
00:11:13,620 --> 00:11:13,630
allow the user to be able to switch
531
00:11:13,630 --> 00:11:17,100
allow the user to be able to switch
between the register screen and also the
532
00:11:17,100 --> 00:11:17,110
between the register screen and also the
533
00:11:17,110 --> 00:11:19,410
between the register screen and also the
sign-in screen because if they have an
534
00:11:19,410 --> 00:11:19,420
sign-in screen because if they have an
535
00:11:19,420 --> 00:11:20,790
sign-in screen because if they have an
account they don't want to re-register
536
00:11:20,790 --> 00:11:20,800
account they don't want to re-register
537
00:11:20,800 --> 00:11:23,490
account they don't want to re-register
they want to sign in and if they don't
538
00:11:23,490 --> 00:11:23,500
they want to sign in and if they don't
539
00:11:23,500 --> 00:11:24,540
they want to sign in and if they don't
have an account and they're on the
540
00:11:24,540 --> 00:11:24,550
have an account and they're on the
541
00:11:24,550 --> 00:11:26,700
have an account and they're on the
sign-in page they want a way to get to
542
00:11:26,700 --> 00:11:26,710
sign-in page they want a way to get to
543
00:11:26,710 --> 00:11:28,920
sign-in page they want a way to get to
the register page instead so we need
544
00:11:28,920 --> 00:11:28,930
the register page instead so we need
545
00:11:28,930 --> 00:11:30,330
the register page instead so we need
some kind of link and I'm going to place
546
00:11:30,330 --> 00:11:30,340
some kind of link and I'm going to place
547
00:11:30,340 --> 00:11:32,880
some kind of link and I'm going to place
it up here in the app bar so we'll
548
00:11:32,880 --> 00:11:32,890
it up here in the app bar so we'll
549
00:11:32,890 --> 00:11:34,650
it up here in the app bar so we'll
tackle that switching between these two
550
00:11:34,650 --> 00:11:34,660
tackle that switching between these two
551
00:11:34,660 --> 00:11:38,310
tackle that switching between these two
views in the next video
50985
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.