Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,180 --> 00:00:06,150
Section 7 brings us even closer to the completion of the website.
2
00:00:06,310 --> 00:00:10,980
This time starting on our Contact Us page.
3
00:00:10,990 --> 00:00:16,570
This is an important page on the site because anytime your users are trying to get in touch with you
4
00:00:16,810 --> 00:00:22,350
you're going to need to make sure that that's an easy pain free and reliable system.
5
00:00:23,830 --> 00:00:31,090
Luckily for us material UI has some components that will make putting this page together very easy.
6
00:00:31,240 --> 00:00:38,490
And then we'll go into some of the complications around this functionality but let's go look at the
7
00:00:38,490 --> 00:00:39,830
screenshot for this.
8
00:00:39,930 --> 00:00:44,300
And here is our Contact Us page.
9
00:00:44,310 --> 00:00:50,100
The only difference about what we will be building in this screenshot is it on the left side around
10
00:00:50,100 --> 00:00:56,730
the form and all of the information we're going to have a little bit more whitespace and so it actually
11
00:00:56,730 --> 00:01:00,920
won't be so close to the footer in the header or the call to action.
12
00:01:00,980 --> 00:01:06,540
It will have a nice big padding around it that will just make sure that it maintains an open and clean
13
00:01:06,540 --> 00:01:15,310
look we'll start out with this page by creating a grid container with a direction of row here.
14
00:01:15,310 --> 00:01:18,290
So this is a little different than some of our other pages.
15
00:01:18,340 --> 00:01:24,460
Actually I think all of the other pages so far where we've started with a grid container direction of
16
00:01:24,460 --> 00:01:25,270
column.
17
00:01:25,270 --> 00:01:32,380
But this time we're actually going to want the direction of row because as you can see we have two distinct
18
00:01:32,560 --> 00:01:35,390
horizontal sections.
19
00:01:35,410 --> 00:01:40,170
The first item in this container will be a grid item container.
20
00:01:40,270 --> 00:01:44,480
And this might surprise you as well but we're going to have to do this for alignment.
21
00:01:44,590 --> 00:01:51,010
And then the second item will also be a grid item container and that one might be a little more obvious
22
00:01:52,430 --> 00:01:54,540
over in the first item container.
23
00:01:54,560 --> 00:01:58,060
We'll start off with a grid item container.
24
00:01:58,160 --> 00:02:04,190
Now with a direction of column and that is going to hold all of our content on the inside and I didn't
25
00:02:04,190 --> 00:02:09,770
actually have enough space to include this but we'll actually be wrapping that entire item container
26
00:02:10,040 --> 00:02:12,140
within an item as well.
27
00:02:12,140 --> 00:02:18,950
And remember the we can't use the aligned items or the justified properties on a wrapping container.
28
00:02:18,950 --> 00:02:24,140
If we're trying to move a container inside of it we have to be applying that to an item.
29
00:02:24,140 --> 00:02:30,590
And so since this is a grid item container direction of column if we tried to center this container
30
00:02:30,620 --> 00:02:35,980
by putting a justify or a line items on the wrapping item container it won't work.
31
00:02:35,990 --> 00:02:42,560
And so we have to wrap the inner container direction column all of that with an item and that will allow
32
00:02:42,560 --> 00:02:47,060
us to align it but hopefully that didn't just confuse you it'll make more sense in the code.
33
00:02:47,330 --> 00:02:55,050
And this is just one of those grid tricks to be aware of but within the is direction of column container.
34
00:02:55,050 --> 00:03:03,390
We will have first in item wrapping a typography variant H2 for our Contact Us title as has been typical.
35
00:03:03,480 --> 00:03:09,110
And then we will have another typography this time a variant of body one for our text.
36
00:03:09,120 --> 00:03:18,650
We're waiting underneath will then have a grid item container because we will need first a grid item
37
00:03:18,770 --> 00:03:26,630
wrapping an image for the little icon of the phone and then following that a grid item wrapping a typography
38
00:03:26,660 --> 00:03:27,420
variant.
39
00:03:27,440 --> 00:03:31,460
Body one for the actual phone number.
40
00:03:31,490 --> 00:03:35,100
This will be followed by another grid item container.
41
00:03:35,150 --> 00:03:41,300
Following this similar structure with a grid item wrapping an image for the email icon followed by a
42
00:03:41,300 --> 00:03:44,010
grid item wrapping a typography variant.
43
00:03:44,030 --> 00:03:47,730
Body one for the actual email.
44
00:03:47,910 --> 00:03:53,070
I'm going to go ahead and clear some of this out now so that we have room for the next section.
45
00:03:53,160 --> 00:03:55,560
So I'm going to go ahead and clear those guys out.
46
00:03:55,800 --> 00:04:02,310
And if we continue down we'll now have a container for all of those three text fields.
47
00:04:02,310 --> 00:04:09,390
So this will be a grid item container with a direction of column and inside of here we will have a grid
48
00:04:09,420 --> 00:04:17,700
item wrapping each text field the text field component is a new component that we will be learning in
49
00:04:17,700 --> 00:04:24,090
this section and you'll see how material UI packs in a lot of functionality for us just like they do
50
00:04:24,090 --> 00:04:29,470
with all the rest of the components making it easy to set up a page like this.
51
00:04:30,580 --> 00:04:36,010
We'll go over all the options and functionality that they provide for us before we jump into creating
52
00:04:36,010 --> 00:04:36,160
it.
53
00:04:37,580 --> 00:04:45,710
Underneath that container with those three text fields so adjacent to that container we will have an
54
00:04:45,710 --> 00:04:48,400
item with the text field for the message.
55
00:04:48,410 --> 00:04:54,860
And this is a multi line text field and I will show you how we can create those and underneath that
56
00:04:54,860 --> 00:04:56,420
message text field.
57
00:04:56,420 --> 00:05:04,090
We will have finally a grid item wrapping the button for our Send Message button.
58
00:05:04,200 --> 00:05:09,600
All right now we'll jump over to the grid item container with the call to action here.
59
00:05:09,750 --> 00:05:17,560
And this isn't actually our call to action component you might think it is very similar to the call
60
00:05:17,560 --> 00:05:23,440
to action but it has a slightly different structure and it sits to the right of our content instead
61
00:05:23,440 --> 00:05:24,680
of underneath it.
62
00:05:24,700 --> 00:05:30,040
And so I'm probably sure there's a way I could have made an adaptable call to action that could fit
63
00:05:30,310 --> 00:05:37,690
both this situation and all the rest of the pages but I found that it was easier to just copy over some
64
00:05:37,690 --> 00:05:41,910
of the items and then change the style to the look that I want here.
65
00:05:41,980 --> 00:05:48,910
And so within this item container we'll first have an item wrapping all of the text and the learn more
66
00:05:48,910 --> 00:05:57,040
button there on the left followed by a grid item on the right containing our button inside of that first
67
00:05:57,040 --> 00:05:57,870
grid item.
68
00:05:57,940 --> 00:06:02,200
We will have a grid item container direction of column.
69
00:06:02,200 --> 00:06:09,220
And again we're having to wrap this with a grid item for alignment then in the second grid item like
70
00:06:09,220 --> 00:06:17,440
I said that is just wrapping our button component so back to that item container direction column that
71
00:06:17,440 --> 00:06:24,190
we'll be wrapping a grid item typography variant H four for the simple software revolutionary results
72
00:06:24,190 --> 00:06:29,200
text and I know it's getting kind of hard to see with all these boxes on top of it but then underneath
73
00:06:29,200 --> 00:06:36,250
that we have the text for take advantage of the 21st century and that is a typography variant subtitled
74
00:06:36,270 --> 00:06:44,480
to sitting on top of a button compared to some of the layouts that we've just created in the previous
75
00:06:44,480 --> 00:06:45,220
section.
76
00:06:45,290 --> 00:06:47,360
I don't think that this one is too crazy.
77
00:06:47,360 --> 00:06:52,670
So I think that we should be able to tackle this pretty easily and it will really just be about learning
78
00:06:52,670 --> 00:06:59,990
the functionality of the text field component now as well as some of the problems that arise with text
79
00:06:59,990 --> 00:07:05,750
fields such as validation confirmation and styling.
80
00:07:05,860 --> 00:07:12,910
On that note that is a good transition because once we press the send message button here on the Contact
81
00:07:12,940 --> 00:07:18,770
Us page I actually don't want that to immediately jump and send off our message.
82
00:07:18,850 --> 00:07:24,040
What if the user had accidentally type their name in wrong or maybe put in the wrong phone number or
83
00:07:24,070 --> 00:07:31,410
email even though we're going to have validation on the individual text fields to make sure that the
84
00:07:31,440 --> 00:07:37,800
number is valid or that the email is a valid email that doesn't accidentally stop them from misspelling
85
00:07:37,800 --> 00:07:39,890
something or hitting the wrong number.
86
00:07:39,900 --> 00:07:45,540
And so what we're going to do is after we hit the Send A Message button that's going to take you over
87
00:07:45,720 --> 00:07:48,390
to the confirm message page.
88
00:07:48,390 --> 00:07:54,990
And this actually is not a separate page you can see the background around the white box is great out.
89
00:07:54,990 --> 00:08:01,710
That's because this is actually going to be a dialogue or what some of you may know as a modal and no
90
00:08:01,710 --> 00:08:07,740
matter what you call it is essentially a pop up that is going to darken the back of the screen.
91
00:08:07,740 --> 00:08:14,610
So it's going to create a dark little opaque overlay across the screen and it's going to have this box
92
00:08:14,820 --> 00:08:16,020
floating on top of it.
93
00:08:16,050 --> 00:08:22,730
So that you know you have to interact with the box before you can go back to interacting with the screen.
94
00:08:22,810 --> 00:08:25,720
I'm sure all of you are familiar with confirmation boxes.
95
00:08:25,720 --> 00:08:27,070
It shouldn't be anything new.
96
00:08:27,220 --> 00:08:30,690
And here we're going to display the inputs again.
97
00:08:30,720 --> 00:08:36,190
So it will be really easy we'll just be copying over these same inputs and they'll be hooked up to the
98
00:08:36,190 --> 00:08:37,430
same values.
99
00:08:37,480 --> 00:08:41,320
So the user can actually go in and edit it right from there if they have to.
100
00:08:41,380 --> 00:08:48,010
And then after we press they send a message button here that will go off and send the message but that
101
00:08:48,010 --> 00:08:52,540
will be the next section when we get into actually working on doing that and setting that up.
102
00:08:52,540 --> 00:08:57,160
So for now we're just going to be building out this structure and getting all the way to this point
103
00:08:57,160 --> 00:09:03,280
where we have the working form the pop up and the working confirmation dialog and then we'll be ready
104
00:09:03,280 --> 00:09:06,700
to move on from there but that's going to be plenty of work for now.
105
00:09:06,700 --> 00:09:09,520
So I'll see you in the next video and we'll get started.
12119
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.