Merge pull request #57 from carljbowman/hoc-landing-updates
Update HOC with Banner Hoverstates & Assets
|
@ -8,40 +8,50 @@ var Box = require('../../components/box/box.jsx');
|
||||||
|
|
||||||
var Hoc = React.createClass({
|
var Hoc = React.createClass({
|
||||||
type: 'Hoc',
|
type: 'Hoc',
|
||||||
|
|
||||||
|
getInitialState: function () {
|
||||||
|
return {
|
||||||
|
bgClass: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onCardEnter: function (bgClass) {
|
||||||
|
this.setState({
|
||||||
|
bgClass: bgClass
|
||||||
|
});
|
||||||
|
},
|
||||||
render: function () {
|
render: function () {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div className="top-banner">
|
<div className={'top-banner ' + this.state.bgClass}>
|
||||||
<h1>Get Creative with Coding</h1>
|
<h1>Get Creative with Coding</h1>
|
||||||
|
|
||||||
<div className="card-deck">
|
|
||||||
<div className="card">
|
|
||||||
<div className="card-info">
|
|
||||||
<img src="/images/name-tutorial.png" />
|
|
||||||
<a href="/projects/editor/?tip_bar=name"><Button>Animate Your Name</Button></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="card">
|
|
||||||
<div className="card-info">
|
|
||||||
<img src="/images/hide-seek-tutorial.png" />
|
|
||||||
<a href="#"><Button>Hide-and-Seek Game</Button></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="card">
|
|
||||||
<div className="card-info">
|
|
||||||
<img src="/images/dance-tutorial.png" />
|
|
||||||
<a href="/projects/editor/?tip_bar=dance"><Button>Dance, Dance, Dance</Button></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
With Scratch, you can program your own stories, games, and animations —
|
With Scratch, you can program your own stories, games, and animations —
|
||||||
and share them online.
|
and share them online.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<div className="card-deck">
|
||||||
|
<div className="card">
|
||||||
|
<div className="card-info" onMouseEnter={this.onCardEnter.bind(this, 'name-bg')}>
|
||||||
|
<img src="/images/name-tutorial.jpg" />
|
||||||
|
<a href="/projects/editor/?tip_bar=name"><Button>Animate Your Name</Button></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="card" onMouseEnter={this.onCardEnter.bind(this, 'wbb-bg')}>
|
||||||
|
<div className="card-info">
|
||||||
|
<img src="/images/hide-seek-tutorial.jpg" />
|
||||||
|
<a href="/hide"><Button> Hide-and-Seek Game</Button></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="card" onMouseEnter={this.onCardEnter.bind(this, 'dance-bg')}>
|
||||||
|
<div className="card-info">
|
||||||
|
<img src="/images/dance-tutorial.jpg" />
|
||||||
|
<a href="/projects/editor/?tip_bar=dance"><Button>Dance, Dance, Dance</Button></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ul className="sub-nav">
|
<ul className="sub-nav">
|
||||||
<li className="info">Find out more:</li>
|
<li className="info">Find out more:</li>
|
||||||
<a href="/about"><li className="link">About Scratch</li></a>
|
<a href="/about"><li className="link">About Scratch</li></a>
|
||||||
|
@ -66,24 +76,27 @@ var Hoc = React.createClass({
|
||||||
<div className="resource">
|
<div className="resource">
|
||||||
<img src="/svgs/tips-card.svg" />
|
<img src="/svgs/tips-card.svg" />
|
||||||
<div className="resource-info">
|
<div className="resource-info">
|
||||||
<a href="#">Animate Your Name</a>
|
<h5>Animate Your Name</h5>
|
||||||
<div className="file-size">13 mb</div>
|
<a href="#">Activity Cards</a>
|
||||||
|
<a href="#">Facilitator Guide</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="resource">
|
<div className="resource">
|
||||||
<img src="/svgs/tips-card.svg" />
|
<img src="/svgs/tips-card.svg" />
|
||||||
<div className="resource-info">
|
<div className="resource-info">
|
||||||
<a href="#">Hide-and-Seek</a>
|
<h5>Hide-and-Seek</h5>
|
||||||
<div className="file-size">5 mb</div>
|
<a href="#">Activity Cards</a>
|
||||||
|
<a href="#">Facilitator Guide</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="resource">
|
<div className="resource">
|
||||||
<img src="/svgs/tips-card.svg" />
|
<img src="/svgs/tips-card.svg" />
|
||||||
<div className="resource-info">
|
<div className="resource-info">
|
||||||
<a href="#">Dance, Dance, Dance</a>
|
<h5>Dance, Dance, Dance</h5>
|
||||||
<div className="file-size">11 mb</div>
|
<a href="#">Activity Cards</a>
|
||||||
|
<a href="#">Facilitator Guide</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -103,6 +116,16 @@ var Hoc = React.createClass({
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
|
<section className="one-up">
|
||||||
|
<h3>Collaborators</h3>
|
||||||
|
<div className="logos">
|
||||||
|
<img src="/images/code-org-logo.png" />
|
||||||
|
<img src="/images/cn-logo.png" />
|
||||||
|
<img src="/images/paa-logo.png" />
|
||||||
|
<img src="/images/pocketcode-logo.png" />
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -17,20 +17,35 @@ $base-bg: $ui-white;
|
||||||
max-width: 960px;
|
max-width: 960px;
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
margin-bottom: 100px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-banner {
|
.top-banner {
|
||||||
|
transition: background-image .5s ease, background-color .5s ease;
|
||||||
|
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 40px;
|
margin-bottom: 40px;
|
||||||
|
|
||||||
background-color: $ui-aqua;
|
background-color: $ui-aqua;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
&.wbb-bg {
|
||||||
|
background-image: url("/images/hide-bg.jpg");
|
||||||
|
}
|
||||||
|
|
||||||
|
&.dance-bg {
|
||||||
|
background-image: url("/images/dance-bg.jpg");
|
||||||
|
}
|
||||||
|
|
||||||
|
&.name-bg {
|
||||||
|
background-image: url("/images/name-bg.jpg");
|
||||||
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
p {
|
p {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
@ -135,7 +150,7 @@ $base-bg: $ui-white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box section {
|
section {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
border-bottom: 1px solid $ui-border;
|
border-bottom: 1px solid $ui-border;
|
||||||
|
@ -147,7 +162,7 @@ $base-bg: $ui-white;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-bottom: none;
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3,
|
h3,
|
||||||
|
@ -155,6 +170,19 @@ $base-bg: $ui-white;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logos {
|
||||||
|
margin: 10px 0;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin: 0 20px;
|
||||||
|
max-width: 200px;
|
||||||
|
max-height: 75px;
|
||||||
|
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.resource {
|
.resource {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
|
@ -170,24 +198,18 @@ $base-bg: $ui-white;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin-right: 10px;
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
margin: 8px 0;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
display: block;
|
||||||
|
margin: 5px 0;
|
||||||
font-size: .8em;
|
font-size: .8em;
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-size {
|
|
||||||
margin-top: 5px;
|
|
||||||
width: inherit;
|
|
||||||
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: .5px;
|
|
||||||
color: $ui-orange;
|
|
||||||
font-size: .7em;
|
|
||||||
font-weight: 500;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,6 +220,10 @@ $base-bg: $ui-white;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.two-up {
|
&.two-up {
|
||||||
|
@ -216,5 +242,4 @@ $base-bg: $ui-white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
BIN
static/images/cn-logo.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
static/images/code-org-logo.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
static/images/dance-bg.jpg
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
static/images/dance-tutorial.jpg
Normal file
After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 244 KiB |
BIN
static/images/hide-bg.jpg
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
static/images/hide-seek-tutorial.jpg
Normal file
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 130 KiB |
BIN
static/images/name-bg.jpg
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
static/images/name-tutorial.jpg
Normal file
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 151 KiB |
BIN
static/images/paa-logo.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
static/images/pocketcode-logo.png
Normal file
After Width: | Height: | Size: 9.4 KiB |