All language subtitles for 015 Building the Login Screen_Downloadly.ir_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian Download
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,050 --> 00:00:02,950 Over the next couple of lectures 2 00:00:02,950 --> 00:00:06,939 we will add the login functionality to our website. 3 00:00:06,939 --> 00:00:07,939 And in this lecture, 4 00:00:07,939 --> 00:00:10,420 we will start by actually rendering out 5 00:00:10,420 --> 00:00:12,610 the login screen to make it easy 6 00:00:12,610 --> 00:00:14,083 for users to login. 7 00:00:15,880 --> 00:00:19,620 Once more, I actually want this to be a challenge for you 8 00:00:19,620 --> 00:00:22,810 so that you can actually practice some of the skills 9 00:00:22,810 --> 00:00:24,890 that you've been learning. 10 00:00:24,890 --> 00:00:28,230 What I want you to do is to create a 11 00:00:28,230 --> 00:00:29,463 slash login route. 12 00:00:31,550 --> 00:00:33,240 Then create a controller, 13 00:00:33,240 --> 00:00:34,930 and, of course, a template. 14 00:00:34,930 --> 00:00:36,720 And that template is really easy. 15 00:00:36,720 --> 00:00:39,610 It's just some static html and we don't need 16 00:00:39,610 --> 00:00:41,783 to pass any variables into it. 17 00:00:43,030 --> 00:00:45,050 There's a template for that, actually, 18 00:00:45,050 --> 00:00:47,375 here in the template folder. 19 00:00:47,375 --> 00:00:50,623 So that should be, then, really easy for you to complete. 20 00:00:52,211 --> 00:00:55,133 So pause this video and come back once you're ready. 21 00:00:58,580 --> 00:00:59,850 Okay, welcome back. 22 00:00:59,850 --> 00:01:04,300 I hope you completed this challenge successfully. 23 00:01:04,300 --> 00:01:05,963 So here is my take on it. 24 00:01:07,080 --> 00:01:09,670 Router dot get 25 00:01:09,670 --> 00:01:11,360 the route is 26 00:01:11,360 --> 00:01:12,380 slash login 27 00:01:14,661 --> 00:01:17,223 and then we use controller dot get 28 00:01:19,430 --> 00:01:20,650 login form. 29 00:01:20,650 --> 00:01:23,783 So that's the route handler that I'm going to create next. 30 00:01:29,820 --> 00:01:33,150 Export dot get login form 31 00:01:35,740 --> 00:01:36,680 response 32 00:01:39,470 --> 00:01:41,540 and here we don't need any more than just the 33 00:01:41,540 --> 00:01:43,590 request and response. 34 00:01:43,590 --> 00:01:45,100 Actually up here I'm seeing 35 00:01:45,100 --> 00:01:46,563 that we're missing the next. 36 00:01:48,190 --> 00:01:51,360 Always, when we have async functions wrapped in 37 00:01:51,360 --> 00:01:53,833 catchAsync we should always specify next. 38 00:01:55,950 --> 00:01:57,980 But here, all we really need to do 39 00:01:57,980 --> 00:02:01,270 is to now render a login template. 40 00:02:01,270 --> 00:02:03,950 So we didn't create that template just yet. 41 00:02:03,950 --> 00:02:06,320 But, it's going to be called login. 42 00:02:06,320 --> 00:02:09,240 So, let's say res dot status 43 00:02:10,280 --> 00:02:11,113 200, 44 00:02:13,390 --> 00:02:14,940 render template called 45 00:02:16,060 --> 00:02:17,640 login. 46 00:02:17,640 --> 00:02:19,790 Then as with all our other pages, 47 00:02:19,790 --> 00:02:23,090 we actually want to give it a custom title. 48 00:02:23,090 --> 00:02:26,010 For that we've always passed in an object 49 00:02:26,010 --> 00:02:28,240 with the title property. 50 00:02:28,240 --> 00:02:29,090 Right? 51 00:02:29,090 --> 00:02:32,010 So the base template will then read that title 52 00:02:32,010 --> 00:02:34,543 and put it in the title html element. 53 00:02:35,581 --> 00:02:37,480 In this case, the title is simply 54 00:02:38,770 --> 00:02:43,770 log into your account. 55 00:02:43,890 --> 00:02:46,690 And that's it for the route handler. 56 00:02:46,690 --> 00:02:47,963 Now let's go 'head, 57 00:02:48,820 --> 00:02:51,520 open the login template, 58 00:02:51,520 --> 00:02:53,230 select all, copy all, 59 00:02:53,230 --> 00:02:57,663 close it and create the new view in here. 60 00:02:59,860 --> 00:03:02,923 Call, of course, login dot pug. 61 00:03:04,480 --> 00:03:06,380 Then, pasting that code here, 62 00:03:06,380 --> 00:03:09,900 and now comes again that trick where we extend 63 00:03:09,900 --> 00:03:11,063 our base template. 64 00:03:14,740 --> 00:03:19,740 This one extends to base file extend don't forget 65 00:03:20,120 --> 00:03:22,660 that in here we need to create a block with the 66 00:03:22,660 --> 00:03:25,443 exact same name as we have in the base file. 67 00:03:26,950 --> 00:03:28,163 So that is content. 68 00:03:29,610 --> 00:03:33,130 And with this we're actually done, 69 00:03:33,130 --> 00:03:33,963 I believe. 70 00:03:36,000 --> 00:03:38,770 Of course, we need to indent to make it a child 71 00:03:38,770 --> 00:03:39,913 off this block. 72 00:03:40,760 --> 00:03:42,233 But, that's actually it. 73 00:03:43,602 --> 00:03:46,110 Now, just one more thing that we need to do 74 00:03:46,110 --> 00:03:49,160 is to actually set a link to the login page 75 00:03:49,160 --> 00:03:52,163 so that we can actually access that. 76 00:03:54,462 --> 00:03:57,480 Right now, the login and sign up buttons are actually 77 00:03:57,480 --> 00:03:59,393 using the button element. 78 00:04:00,630 --> 00:04:03,260 But like this, we cannot really specify 79 00:04:03,260 --> 00:04:05,110 the href attribute. 80 00:04:05,110 --> 00:04:09,360 So let's change them actually to a real link. 81 00:04:09,360 --> 00:04:12,763 And in here, we can specify the href. 82 00:04:16,290 --> 00:04:20,543 So this one simply points to login. 83 00:04:21,970 --> 00:04:23,400 And a second one here, 84 00:04:23,400 --> 00:04:25,540 the sign up we will actually not implement 85 00:04:27,210 --> 00:04:29,080 so you can implement this on your own 86 00:04:29,080 --> 00:04:30,660 if you feel like it. 87 00:04:30,660 --> 00:04:33,190 So basically a sign up form. 88 00:04:33,190 --> 00:04:34,490 But, since all that, 89 00:04:34,490 --> 00:04:37,440 so the whole process of signing up is going to be 90 00:04:37,440 --> 00:04:39,220 very similar to logging in, 91 00:04:39,220 --> 00:04:42,130 I decided not to include that here in this section 92 00:04:42,130 --> 00:04:44,800 because that would just be a lot of duplicate content 93 00:04:44,800 --> 00:04:47,663 and I don't want to make the course unnecessary long. 94 00:04:50,240 --> 00:04:52,480 Give this a safe, 95 00:04:52,480 --> 00:04:55,730 I don't know if this now restarts the server, 96 00:04:55,730 --> 00:04:56,730 actually it doesn't, 97 00:04:57,630 --> 00:05:00,113 so let's save one of these java script files. 98 00:05:01,930 --> 00:05:02,763 Now 99 00:05:03,980 --> 00:05:06,470 this is our reference website. 100 00:05:06,470 --> 00:05:08,450 Remember, that's what we want, 101 00:05:08,450 --> 00:05:09,357 is this one. 102 00:05:11,030 --> 00:05:12,890 Let's come to all tours 103 00:05:12,890 --> 00:05:16,320 and now let's try our login route. 104 00:05:16,320 --> 00:05:19,550 And, indeed, here goes our form. 105 00:05:19,550 --> 00:05:20,383 Great. 106 00:05:21,650 --> 00:05:23,950 Now here we can put in some email 107 00:05:23,950 --> 00:05:25,730 let's say admin 108 00:05:25,730 --> 00:05:29,140 dot naders 109 00:05:29,140 --> 00:05:30,100 dot io. 110 00:05:30,100 --> 00:05:32,100 And you see that it nicely formats 111 00:05:32,100 --> 00:05:34,790 this input here whether the email address 112 00:05:34,790 --> 00:05:36,860 is actually valid or not. 113 00:05:36,860 --> 00:05:40,770 For example, if I don't have the extension here correct, 114 00:05:40,770 --> 00:05:43,100 then it will become orange 115 00:05:43,100 --> 00:05:45,580 telling me that something is wrong. 116 00:05:45,580 --> 00:05:47,730 And the same thing for the password. 117 00:05:47,730 --> 00:05:50,400 As long as I have less than eight characters, 118 00:05:50,400 --> 00:05:52,200 this will always be red, 119 00:05:52,200 --> 00:05:54,423 basically telling me that there's an error. 120 00:05:56,520 --> 00:05:58,260 That now that I have eight characters, 121 00:05:58,260 --> 00:05:59,690 it turns green. 122 00:05:59,690 --> 00:06:01,970 And if you're interested in how to do this 123 00:06:01,970 --> 00:06:04,020 kind of magic with css, 124 00:06:04,020 --> 00:06:07,670 then please feel free to check out the css file that I coded 125 00:06:07,670 --> 00:06:09,390 just for this course. 126 00:06:09,390 --> 00:06:12,270 Anyways, of course, clicking this button here now 127 00:06:12,270 --> 00:06:15,200 does absolutely anything, right? 128 00:06:15,200 --> 00:06:17,390 So in the next video, we will actually really 129 00:06:17,390 --> 00:06:20,390 start to implement the login functionality 130 00:06:20,390 --> 00:06:23,570 actually by doing a request to our api end point 131 00:06:23,570 --> 00:06:24,823 that we already created. 9311

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.