@@ -3,12 +3,104 @@ import * as React from 'react';
3
3
import Layout from '../components/shared/layout' ;
4
4
import Listing from '../components/index/listing' ;
5
5
import { GlobalStyles } from '../styles' ;
6
+ import {
7
+ Heading ,
8
+ Box ,
9
+ Flex ,
10
+ Text ,
11
+ Button ,
12
+ Image ,
13
+ } from '../components/shared/base' ;
14
+ import { styled } from '../styles' ;
15
+ import { TutorialButton } from '../components/shared/buttons' ;
16
+ import { Space } from '../components/shared/Space' ;
6
17
7
18
const IndexPage : React . FunctionComponent < RouterProps > = ( { location } ) => (
8
19
< Layout location = { location } >
9
20
< GlobalStyles />
10
- < Listing />
21
+ < Flex flexDirection = "column" alignItems = "center" >
22
+ < Space height = { 119 } />
23
+ < MainHero alignItems = "center" flexDirection = "column" >
24
+ < Title width = { 2 / 3 } > The Fullstack Tutorial for GraphQL</ Title >
25
+ < Space height = { 32 } />
26
+ < Box width = { 4 / 7 } >
27
+ < HeroText textAlign = "center" >
28
+ How to GraphQL is a free tutorial website that teaches all aspects
29
+ of GraphQL - from writing your first GraphQL query to taking your
30
+ GraphQL server to production.
31
+ </ HeroText >
32
+ </ Box >
33
+ < Space height = { 54 } />
34
+ < TutorialButton > Start with Introduction</ TutorialButton >
35
+ < Space height = { 82 } />
36
+ < Fundamentals width = { 2 / 3 } px = { 4 } pt = { 4 } >
37
+ < Flex >
38
+ < Box width = { 1 / 2 } mx = { 4 } mt = { 3 } >
39
+ < Heading > GraphQL Fundamentals</ Heading >
40
+ < Image
41
+ width = { 1 / 20 }
42
+ src = "https://image.flaticon.com/icons/svg/84/84510.svg"
43
+ />
44
+ < Space height = { 12 } />
45
+ < Text >
46
+ A general introduction to GraphQL for frontend and backend
47
+ developers.
48
+ < br /> < br />
49
+ Read this tutorial to learn about GraphQL's basic concepts and
50
+ prepare yourself for a hands-on beginner tutorial.
51
+ </ Text >
52
+ </ Box >
53
+ < Box width = { 1 / 2 } px = { 3 } pt = { 3 } >
54
+ < Image src = "https://i.ibb.co/vHkQHv7/Chapters.png" />
55
+ </ Box >
56
+ </ Flex >
57
+ </ Fundamentals >
58
+ </ MainHero >
59
+ < Box width = { 2 / 3 } backgroundColor = "yellow" >
60
+ < Flex backgroundColor = "green" >
61
+ < CommunityText width = { 2 / 3 } >
62
+ < Heading > Community Tutorials</ Heading >
63
+ Community tutorials are targeting a wide range of topics. Client or
64
+ server, beginner or advanced, theoretical or code-along, high-level
65
+ or niche – discover the amazing tutorials contributed by the GraphQL
66
+ community!
67
+ </ CommunityText >
68
+ < Box backgroundColor = "red" width = { 1 / 3 } >
69
+ < TutorialButton > View All Tutorials</ TutorialButton >
70
+ </ Box >
71
+ </ Flex >
72
+ < Listing />
73
+ </ Box >
74
+ </ Flex >
11
75
</ Layout >
12
76
) ;
13
77
78
+ const MainHero = styled ( Flex ) `
79
+ background-image: url('https://i.ibb.co/rmNKQGk/Group-2.png');
80
+ background-position: center;
81
+ background-size: cover;
82
+ ` ;
83
+
84
+ const HeroText = styled ( Text ) `
85
+ font-family: Open Sans;
86
+ font-size: 24px;
87
+ ` ;
88
+
89
+ const Fundamentals = styled ( Box ) `
90
+ box-shadow: 0px 4px 27px rgba(14, 15, 59, 0.072);
91
+ border-radius: 8px 8px 0px 0px;
92
+ background: #ffffff;
93
+ ` ;
94
+
95
+ const Title = styled ( Heading ) `
96
+ font-size: 64pt;
97
+ text-align: center;
98
+ color: #515273;
99
+ font-weight: bold;
100
+ letter-spacing: -0.03em;
101
+ ` ;
102
+
103
+ const CommunityText = styled ( Text ) `
104
+ margin: 0 auto;
105
+ ` ;
14
106
export default IndexPage ;
0 commit comments