Skip to content

Commit

Permalink
Add demo files
Browse files Browse the repository at this point in the history
  • Loading branch information
webkreation committed Mar 20, 2017
1 parent a878d48 commit 8ee8fe3
Show file tree
Hide file tree
Showing 10 changed files with 257 additions and 24 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"normalize.css": "^5.0.0",
"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-router-dom": "^4.0.0",
"styled-components": "^1.4.4"
},
"devDependencies": {
Expand Down
68 changes: 47 additions & 21 deletions src/App.js
Original file line number Diff line number Diff line change
@@ -1,49 +1,75 @@
import React, { Component } from 'react';
import styled, { keyframes } from 'styled-components';
import logo from './reactStuttgartLogo.jpg';
import React, { Component } from 'react'
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
import styled, { keyframes } from 'styled-components'
import ThirdParty from './pages/ThirdParty'
import PassedProps from './pages/PassedProps'
import AdaptingProps from './pages/AdaptingProps'
import OverridingStyles from './pages/OverridingStyles'
import HoverState from './pages/HoverState'
import logo from './reactStuttgartLogo.jpg'

const AppWrapper = styled.div`
text-align: center;
display: flex;
flex-direction: column;
`;

const AppHeader = styled.div`
flex: 1;
background-color: #222;
height: 200px;
padding: 20px;
color: white;
`;
`

const ContentWrapper = styled.div`
display: flex;
flex-direction: row;
flex-wrap: wrap;
`

const DemoBox = styled.div`
flex: 0 1 50%;
`

const AppIntro = styled.p`
font-size: large;
`;
`

const rotate360 = keyframes`
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
`;
`

const Logo = styled.img`
animation: ${rotate360} infinite 20s linear;
height: 80px;
`;
`

class App extends Component {
render() {
return (
<AppWrapper>
<AppHeader>
<Logo src={logo} alt="logo" />
<h2>Welcome to ReactStuttgart</h2>
</AppHeader>
<AppIntro>
6. Meetup - React Stuttgart @ ITM
</AppIntro>
<AppIntro>
Freitag, 24. März 2017 - 18:30
</AppIntro>
</AppWrapper>
<Router>
<AppWrapper>
<AppHeader>
<Logo src={logo} alt="logo" />
<h2>Welcome to ReactStuttgart</h2>
</AppHeader>
<ContentWrapper>
<Route exact path="/" component={ThirdParty}/>
<Route path="/thirdparty" component={ThirdParty}/>
<Route path="/passedprops" component={PassedProps}/>
<Route path="/adaptingprops" component={AdaptingProps}/>
<Route path="/overridingstyles" component={OverridingStyles}/>
<Route path="/hoverstate" component={HoverState}/>
</ContentWrapper>
</AppWrapper>
</Router>
);
}
}

export default App;
export default App
13 changes: 13 additions & 0 deletions src/components/Button.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import styled from 'styled-components';

const Button = styled.button`
background-color: red;
color: white;
font-size: 1em;
margin: 1em;
padding: 0.25em 1em;
border: 2px solid yellow;
border-radius: 3px;
`;

export default Button;
7 changes: 6 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@ import App from './App';

injectGlobal`
body {
display: flex;
font-family: 'Roboto', sans-serif;
margin: 0;
padding: 0;
font-family: 'Roboto', sans-serif;
overflow: hidden;
}
#root {
flex: 1;
}
`

Expand Down
30 changes: 30 additions & 0 deletions src/pages/AdaptingProps.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import React, { Component } from 'react';
import styled from 'styled-components';

const Button = styled.button`
/* Adapt the colors based on primary prop */
background: ${props => props.primary ? 'red' : 'white'};
color: ${props => props.primary ? 'white' : 'red'};
font-size: ${props => props.bigger ? '2em' : '1em'};
margin: 1em;
padding: 0.25em 1em;
border: 2px solid palevioletred;
border-radius: 3px;
`;

class PassedProps extends Component {
render() {
return (
<div>
<h2>Adapting based on props</h2>
<p>
<Button>Normal</Button>
<Button primary>Primary</Button>
<Button primary bigger>Primary Bigger</Button>
</p>
</div>
);
}
}

export default PassedProps;
35 changes: 35 additions & 0 deletions src/pages/HoverState.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import React, { Component } from 'react';
import styled from 'styled-components';

const Button = styled.button`
/* Adapt the colors based on primary prop */
background: white;
color: red;
margin: 1em;
padding: 0.25em 1em;
border: 2px solid palevioletred;
border-radius: 3px;
cursor: pointer;
&:hover {
background-color: ${props => props.correct ? 'green' : 'red'};
}
`;

class PassedProps extends Component {

render() {
return (
<div>
<h2>Hover</h2>
<input type="checkbox"/>
<label>Bestätigung AGB</label>
<p>
<Button>Normal</Button>
</p>
</div>
);
}
}

export default PassedProps;
23 changes: 23 additions & 0 deletions src/pages/OverridingStyles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import React, { Component } from 'react'
import styled from 'styled-components'
import Button from '../components/Button'

const UppercaseButton = styled(Button)`
text-transform: uppercase;
`

class PassedProps extends Component {
render() {
return (
<div>
<h2>Overriding Styles</h2>
<p>
<Button>Normal</Button>
<UppercaseButton>Uppercase</UppercaseButton>
</p>
</div>
);
}
}

export default PassedProps;
27 changes: 27 additions & 0 deletions src/pages/PassedProps.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import React, { Component } from 'react';
import styled from 'styled-components';
import { Link } from 'react-router-dom';

const Input = styled.input`
font-size: 1.25em;
padding: 0.5em;
color: palevioletred;
background: gray;
border: none;
border-radius: 3px;
`;

class PassedProps extends Component {
render() {
return (
<div>
<h2>Passed Props</h2>
<p>
<Input placeholder="passedProps" type="text" />
</p>
</div>
);
}
}

export default PassedProps;
26 changes: 26 additions & 0 deletions src/pages/ThirdParty.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React, { Component } from 'react';
import styled from 'styled-components';
import { Link } from 'react-router-dom';

const StyledLink = styled(Link)`
background-color: red;
color: white;
`;

class ThirdPartyComponents extends Component {
render() {
return (
<div>
<h2>Third-party components</h2>
<p>
<Link to="/">Standard, unstyled Link</Link>
</p>
<p>
<StyledLink to="/">This Link is styled!</StyledLink>
</p>
</div>
);
}
}

export default ThirdPartyComponents;
51 changes: 49 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2423,6 +2423,16 @@ he@1.1.x:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"

history@^4.5.1, history@^4.6.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/history/-/history-4.6.1.tgz#911cf8eb65728555a94f2b12780a0c531a14d2fd"
dependencies:
invariant "^2.2.1"
loose-envify "^1.2.0"
resolve-pathname "^2.0.0"
value-equal "^0.2.0"
warning "^3.0.0"

hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
Expand Down Expand Up @@ -2627,7 +2637,7 @@ interpret@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"

invariant@^2.2.0, invariant@^2.2.2:
invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
Expand Down Expand Up @@ -3345,7 +3355,7 @@ longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"

loose-envify@^1.0.0, loose-envify@^1.1.0:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
Expand Down Expand Up @@ -3818,6 +3828,12 @@ path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"

path-to-regexp@^1.5.3:
version "1.7.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
dependencies:
isarray "0.0.1"

path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
Expand Down Expand Up @@ -4297,6 +4313,23 @@ react-dom:
loose-envify "^1.1.0"
object-assign "^4.1.0"

react-router-dom:
version "4.0.0"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.0.0.tgz#4fa4418e14b8cfc5bcc0bdea0c4083fb8c2aef10"
dependencies:
history "^4.5.1"
react-router "^4.0.0"

react-router@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.0.0.tgz#6532075231f0bb5077c2005c1d417ad6165b3997"
dependencies:
history "^4.6.0"
invariant "^2.2.2"
loose-envify "^1.3.1"
path-to-regexp "^1.5.3"
warning "^3.0.0"

react-scripts:
version "0.9.5"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-0.9.5.tgz#e9f05c8427e27131662a9b9d7a9786d1ff16bb3f"
Expand Down Expand Up @@ -4570,6 +4603,10 @@ resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"

resolve-pathname@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.0.2.tgz#e55c016eb2e9df1de98e85002282bfb38c630436"

resolve@^1.1.6, resolve@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
Expand Down Expand Up @@ -5209,6 +5246,10 @@ validate-npm-package-license@^3.0.1:
spdx-correct "~1.0.0"
spdx-expression-parse "~1.0.0"

value-equal@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.2.0.tgz#4f41c60a3fc011139a2ec3d3340a8998ae8b69c0"

vary@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140"
Expand All @@ -5235,6 +5276,12 @@ walker@~1.0.5:
dependencies:
makeerror "1.0.x"

warning@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
dependencies:
loose-envify "^1.0.0"

watch@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
Expand Down

0 comments on commit 8ee8fe3

Please sign in to comment.