Skip to content

Commit d4657a9

Browse files
Merge pull request cerebral#125 from cerebral/workshop2
docs(website): add workshop and introduction video
2 parents 3db8972 + a727c56 commit d4657a9

File tree

6 files changed

+142
-6
lines changed

6 files changed

+142
-6
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import styled from '../../styled-components'
22

33
export const Wrapper = styled.div`
4-
font-family: 'Source Sans Pro', 'helvetica neue';
4+
font-family: 'Code Sans Pro', 'helvetica neue';
55
background-color: inherit;
66
`

packages/overmind-website/src/components/App/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import Api from '../Api'
1111
import TopBar from '../TopBar'
1212
import MobileTopBar from '../MobileTopBar'
1313
import { Wrapper } from './elements'
14+
import Workshop from '../Workshop'
1415

1516
const routesMap = {
1617
'/': FrontPage,
@@ -19,6 +20,7 @@ const routesMap = {
1920
'/videos': Videos,
2021
'/videos/:title': Videos,
2122
'/api/:title': Api,
23+
'/workshop': Workshop,
2224
}
2325

2426
export type TVideo = {

packages/overmind-website/src/components/FrontPage/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class FrontPage extends React.Component {
1818
this.node = node
1919
}}
2020
>
21-
<Quickstart>
21+
<Quickstart href="/videos/overmind-introduction">
2222
<Icon>movie</Icon>
2323
{viewport.isMobile ? null : <span>Video introduction</span>}
2424
</Quickstart>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import styled from '../../styled-components'
2+
3+
export const Iframe = styled.iframe`
4+
margin: ${({ theme }) => theme.padding.small};
5+
`
6+
7+
export const Wrapper = styled.div`
8+
display: flex;
9+
justify-content: center;
10+
padding-top: ${({ theme }) => theme.padding.large};
11+
`
12+
13+
export const Container = styled.div`
14+
display: flex;
15+
`
16+
17+
export const Column = styled.div`
18+
display: flex;
19+
flex-direction: column;
20+
`
21+
22+
export const Cell = styled.div`
23+
max-width: 400px;
24+
color: ${({ theme }) => theme.color.white};
25+
padding: ${({ theme }) => theme.padding.normal};
26+
`
27+
28+
export const Title = styled.div`
29+
font-weight: bold;
30+
color: ${({ theme }) => theme.color.white};
31+
font-size: ${({ theme }) => theme.fontSize.large};
32+
`
33+
34+
export const List = styled.ul`
35+
padding-left: ${({ theme }) => theme.padding.normal};
36+
color: ${({ theme }) => theme.color.white};
37+
`
38+
39+
export const ListItem = styled.li`
40+
margin-bottom: ${({ theme }) => theme.padding.small};
41+
`
42+
43+
export const Link = styled.a`
44+
color: ${({ theme }) => theme.color.primary};
45+
text-decoration: none;
46+
`
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import * as React from 'react'
2+
import {
3+
Wrapper,
4+
Container,
5+
Column,
6+
Title,
7+
Cell,
8+
List,
9+
ListItem,
10+
Link,
11+
Iframe,
12+
} from './elements'
13+
14+
const Workshop: React.SFC = () => (
15+
<Wrapper>
16+
<Container>
17+
<Column>
18+
<Cell>
19+
<Title>introduction</Title>
20+
<Iframe
21+
width="400"
22+
height="225"
23+
src="https://www.youtube.com/embed/xk9uS9yc4Ns"
24+
frameBorder="0"
25+
// @ts-ignore
26+
allow="autoplay; encrypted-media"
27+
allowFullscreen
28+
/>
29+
</Cell>
30+
<Cell>
31+
<Title>resources</Title>
32+
<List>
33+
<ListItem>
34+
<Link href="/guides">Overmind guides</Link>
35+
</ListItem>
36+
<ListItem>
37+
<Link href="https://jsonplaceholder.typicode.com/" target="_new">
38+
Jsonplaceholder
39+
</Link>
40+
</ListItem>
41+
<ListItem>
42+
<Link href="https://visionmedia.github.io/page.js/" target="_new">
43+
Page js
44+
</Link>
45+
</ListItem>
46+
</List>
47+
</Cell>
48+
</Column>
49+
<Column>
50+
<Cell>
51+
<Title>tasks</Title>
52+
<List>
53+
<ListItem>Create a simple counter application</ListItem>
54+
<ListItem>
55+
In the same app, go grab some posts from <b>Jsonplaceholder</b>{' '}
56+
and show 10 of them in a list
57+
</ListItem>
58+
<ListItem>
59+
Introduce tabs to choose either of the example apps. Hook up a
60+
router to the tabs, either using your favorite router or try using
61+
the guide
62+
</ListItem>
63+
<ListItem>
64+
In the list of posts, implement a click interaction on a post to
65+
open a modal. This interaction should not only open the modal, but
66+
also download information about the user from{' '}
67+
<b>Jsonplaceholder</b> and display it
68+
</ListItem>
69+
<ListItem>Create a route for showing the user modal</ListItem>
70+
</List>
71+
</Cell>
72+
<Cell>
73+
<Title>feedback</Title>
74+
Please provide your feedback by going to the following{' '}
75+
<Link
76+
href="https://spectrum.chat/?t=ddc61ecd-56c7-4c54-8029-c42118d52975"
77+
target="_new"
78+
>
79+
Spectrum chat
80+
</Link>{' '}
81+
thread.
82+
</Cell>
83+
</Column>
84+
</Container>
85+
</Wrapper>
86+
)
87+
88+
export default Workshop
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[
22
{
3-
"title": "My awesome video",
4-
"shortName": "my-awesome-video",
5-
"url": "https://www.youtube.com/watch?v=RA1_cCgEWws",
3+
"title": "Overmind Introduction",
4+
"shortName": "overmind-introduction",
5+
"url": "https://www.youtube.com/watch?v=xk9uS9yc4Ns",
66
"type": "beginner",
7-
"duration": "45:00"
7+
"duration": "19:52"
88
}
99
]

0 commit comments

Comments
 (0)