Skip to content
This repository was archived by the owner on Jun 10, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
86833fa
Initial Commit
ksmacleod99 Jan 26, 2018
4dbb403
Fixes styles
ksmacleod99 Jan 26, 2018
e74642c
makes a file pretty
ksmacleod99 Jan 26, 2018
a8c1483
Updating media queries
ksmacleod99 Jan 30, 2018
73977ca
Storybook info
ksmacleod99 Feb 3, 2018
95a3559
idk what or why this is happening
ksmacleod99 Feb 3, 2018
8607bfb
progress so far
ksmacleod99 Feb 16, 2018
cf3ca4f
Styles Header
ksmacleod99 Feb 18, 2018
ff84649
more styling
ksmacleod99 Feb 18, 2018
3cad47f
updates styles
ksmacleod99 Feb 18, 2018
2cea7b2
Revert "Storybook info"
ksmacleod99 Feb 20, 2018
9ea46bf
Revert "Storybook info"
ksmacleod99 Feb 25, 2018
9ab45de
Remove static Storybook files
jjhampton Mar 1, 2018
685751e
removed link button
ksmacleod99 Mar 6, 2018
05e904c
FA check
ksmacleod99 Mar 6, 2018
6418f1e
updates FA icons
ksmacleod99 Mar 17, 2018
ef7816a
Merge remote-tracking branch 'upstream/master' into getInvolved
jjhampton Apr 14, 2018
ffa9e62
Fix ESLint max-length errors
jjhampton Apr 14, 2018
86bcce0
Remove imageSize script again
jjhampton Apr 14, 2018
692c092
Adjust heroBanner propTypes, per code-review requests
jjhampton Apr 14, 2018
0a023da
CSS cleanup
jjhampton Apr 14, 2018
4e87850
Clean up markup/CSS for whyGive, use Section component
jjhampton Apr 14, 2018
db00d66
Adjust heroBanner height media queries for mobile
jjhampton Apr 14, 2018
7e1af95
DRY up shared CSS for GetInvolved sub sections
jjhampton Apr 14, 2018
5784d04
Remove SuccessStories from this page
jjhampton Apr 14, 2018
580b7cc
Remove SVG checkmark file
jjhampton Apr 16, 2018
fbccbc4
Remove duplicate SuccessStories files
jjhampton Apr 16, 2018
bc03553
Clean up local names for image URLs
jjhampton Apr 16, 2018
e1a5dde
Switch images to using S3 URLs
jjhampton Apr 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions src/scenes/home/getInvolved/getInvolved.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/* Shared styles for Get Involved sections: Why Give, Volunteer, etc. */

.wrapper {
display: flex;
}

.half {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 50%;
}

.halfPhotoWrapper {
composes: half;
}

.photo {
width: 100%;
max-width: 500px;
height: auto;
}

.list {
list-style-type: none;
margin: 0;
padding: 0;
}

.listItem {
display: flex;
align-items: center;
}

.itemText {
margin-left: 20px;
}

.button {
margin-top: 1rem;
}

@media only screen and (min-width: 1112px) {
.half {
padding: 2rem;
}
}

@media only screen and (min-width: 320px) and (max-width: 1111px) {
.wrapper {
display: flex;
flex-direction: column;
align-items: center;
}

.half {
padding: 1rem 0;
width: 100%;
}

.halfPhotoWrapper {
order: -1;
}
}
19 changes: 19 additions & 0 deletions src/scenes/home/getInvolved/getInvolved.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import React from 'react';
import HeroBanner from 'shared/components/heroBanner/heroBanner';
import WhyGive from './whyGive/whyGive';
import Volunteer from './volunteer/volunteer';

const getInvolved = () => (
<div>
<HeroBanner
imageSrc="https://s3.amazonaws.com/operationcode-assets/page-get_involved/banner_people1.jpg"
title="Get Involved"
subtitle="See the magic happen..."
/>

<WhyGive />
<Volunteer />
</div>
);

export default getInvolved;
54 changes: 54 additions & 0 deletions src/scenes/home/getInvolved/volunteer/volunteer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import React from 'react';
import FontAwesomeIcon from '@fortawesome/react-fontawesome';
import faCheck from '@fortawesome/fontawesome-free-solid/faCheck';
import LinkButton from 'shared/components/linkButton/linkButton';
import Section from 'shared/components/section/section';
import styles from '../getInvolved.css';

const Volunteer = () => (
<Section title="Become a Volunteer">
<div className={styles.wrapper}>
<div className={styles.half}>
<ul className={styles.list}>
<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Join our community on Slack, and work with new software developers
to help grow and mentor them in learning to code and enter the
tech industry. Answer questions, participate in mock interviews,
and review resumes.
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Lead a squad of new developers in learning new skills in Linux,
Python, cloud infrastructure, web development, and more.
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Meet up with a local chapter (or start your own!) and network with
other new developers eager to build cool apps and code the future!
</p>
</li>
</ul>
</div>
<div className={styles.halfPhotoWrapper}>
<img
src="https://s3.amazonaws.com/operationcode-assets/page-get_involved/hackathon1.jpg"
alt="Operation Code Members at Operation Spark"
className={styles.photo}
/>
</div>
</div>
<div className={styles.button}>
<LinkButton text="Volunteer" theme="red" link="/signup" />
</div>
</Section>
);

export default Volunteer;
78 changes: 78 additions & 0 deletions src/scenes/home/getInvolved/whyGive/whyGive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
import React from 'react';
import FontAwesomeIcon from '@fortawesome/react-fontawesome';
import faCheck from '@fortawesome/fontawesome-free-solid/faCheck';
import LinkButton from 'shared/components/linkButton/linkButton';
import Section from 'shared/components/section/section';
import styles from '../getInvolved.css';

const WhyGive = () => (
<Section title="Why give to Operation Code?" theme="white">
<div className={styles.wrapper}>
<div className={styles.half}>
<img
src="https://s3.amazonaws.com/operationcode-assets/page-get_involved/benefit_dinner_2017.jpg"
alt="Benefit Dinner 2017"
className={styles.photo}
/>
</div>
<div className={styles.half}>
<ul className={styles.list}>
<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
To provide veterans, transitioning servicemembers, and military
spouses with transformative educational experiences
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
To advocate for more diversity and opportunity in the tech
industry
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
To enable our mission to reach more members of the military
community
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Scholarship funding for comp sci education, industry certification
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Sending veterans to conferences and major tech industry events
</p>
</li>

<li className={styles.listItem}>
<FontAwesomeIcon icon={faCheck} size="2x" />
<p className={styles.itemText}>
Building more tech communities near military installations
</p>
</li>
</ul>
</div>
</div>
<div className={styles.button}>
<LinkButton
text="Donate"
theme="red"
link="https://opencollective.com/operationcode#support"
isExternal
/>
</div>
</Section>
);

export default WhyGive;
2 changes: 2 additions & 0 deletions src/scenes/home/home.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import Gala from './gala/gala';
import Terms from './termsOfService/termsOfService';
import OurPrograms from './ourPrograms/ourPrograms';
import ChapterLeader from './chapterLeader/chapterLeader';
import GetInvolved from './getInvolved/getInvolved';
import Policy from './policy/policy';
import OpCodeCon from './opCodeCon/opCodeCon';
import styles from './home.css';
Expand Down Expand Up @@ -205,6 +206,7 @@ class Home extends Component {
<Route path="/terms" component={Terms} />
<Route path="/chapter_leader" component={ChapterLeader} />
<Route path="/leadership_circle" component={LeadershipCircle} />
<Route path="/get-involved" component={GetInvolved} />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you also add a Route for "/get_involved". I think you can use <Redirect>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kylemh Is this due to usage of kebap-case vs snake_case? This won't be the only route that could use redirect to address that - there's several others in home.js already - we've had inconsistencies with route naming for quite some time.

Let's just create another issue to add redirects for all of those at once, so we can finish up this Get Involved page.

<Route
exact
path="/"
Expand Down
24 changes: 24 additions & 0 deletions src/shared/components/heroBanner/heroBanner.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.heroBanner {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
display: flex;
height: 480px;
width: 100%;
}

.header {
flex-grow: 1;
box-sizing: border-box;
padding: 4rem;
}

@media only screen and (min-width: 320px) and (max-width: 768px) {
.heroBanner {
height: 320px;
}

.header {
padding: 2rem;
}
}
32 changes: 32 additions & 0 deletions src/shared/components/heroBanner/heroBanner.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React from 'react';
import PropTypes from 'prop-types';
import styles from './heroBanner.css';

const HeroBanner = ({ imageSrc, title, subtitle }) => {
const bannerStyles = {
backgroundImage: `url(${imageSrc})`
};

return (
<div style={bannerStyles} className={styles.heroBanner}>
<div className={styles.header}>
<h1>{title}</h1>
{ subtitle &&
<h4>{subtitle}</h4>
}
</div>
</div>
);
};

HeroBanner.propTypes = {
imageSrc: PropTypes.node.isRequired,
title: PropTypes.string.isRequired,
subtitle: PropTypes.string
};

HeroBanner.defaultProps = {
subtitle: ''
};

export default HeroBanner;
9 changes: 9 additions & 0 deletions stories/components/heroBanner/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import react from 'react';
import { storiesOf } from '@storybook/react';
import HeroBanner from 'shared/components/heroBanner/heroBanner';

import jamesBondJpg from '../../asset/james-bond.jpg';

storiesOf('HeroBanner', module).add('Default', () => (
<HeroBanner imageSrc={jamesBondJpg} title="Bond" subtitle="James Bond" />
));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bless your soul for keeping Storybook up-to-date.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying. I have no idea what I'm doing and it's not working, but I'm trying lol