From ff85e8beac3a17c889010577cde3f5c6c1df527d Mon Sep 17 00:00:00 2001 From: Dan Wilt Date: Thu, 12 Jul 2018 15:15:43 -0400 Subject: [PATCH] put in landing page --- src/App.component.js | 13 ++- src/components/Checkbox/Checkbox.component.js | 2 +- .../CompletedResultsList.component.js | 4 +- .../EmailCapture/EmailCapture.component.js | 18 +++- .../EmailCapture/EmailCapture.container.js | 9 ++ .../EmailCapture/EmailCapture/index.js | 2 +- .../Landing/Landing/Landing.component.js | 46 +++++++++ src/components/Landing/Landing/Landing.css | 48 ++++++++++ src/components/Landing/Landing/index.js | 1 + .../LandingGetStartedButton.component.js | 15 +++ .../LandingGetStartedButton.container.js | 13 +++ .../Landing/LandingGetStartedButton/index.js | 3 + src/components/Landing/index.js | 2 + .../NameCapture/NameCapture.component.js | 20 ++-- .../NameCapture/NameCapture/NameCapture.css | 4 + src/components/Quiz/Quiz.component.js | 80 ++++------------ src/components/Quiz/Quiz.container.js | 26 ----- src/components/Quiz/Quiz.css | 16 ---- src/components/Quiz/index.js | 2 +- .../QuizProgressIndicator.component.js | 2 +- .../progress-indicator-bg.png | Bin 64958 -> 0 bytes .../QuizQuestion/QuizQuestion.component.js | 2 +- .../QuizTitle/QuizTitle.component.js | 9 ++ src/components/QuizTitle/QuizTitle.css | 15 +++ src/components/QuizTitle/index.js | 1 + src/components/index.js | 2 + src/{components/Checkbox => images}/check.svg | 0 src/images/devices-and-shield.svg | 90 ++++++++++++++++++ .../green-checkmark.svg | 0 .../CompletedResultsList => images}/red-x.svg | 0 .../shield.svg} | 0 src/store/quiz/quiz.actions.js | 26 ++--- src/store/quiz/quiz.reducer.js | 6 -- 33 files changed, 335 insertions(+), 142 deletions(-) create mode 100644 src/components/EmailCapture/EmailCapture/EmailCapture.container.js create mode 100644 src/components/Landing/Landing/Landing.component.js create mode 100644 src/components/Landing/Landing/Landing.css create mode 100644 src/components/Landing/Landing/index.js create mode 100644 src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.component.js create mode 100644 src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.container.js create mode 100644 src/components/Landing/LandingGetStartedButton/index.js create mode 100644 src/components/Landing/index.js delete mode 100644 src/components/Quiz/Quiz.container.js delete mode 100644 src/components/QuizProgressIndicator/progress-indicator-bg.png create mode 100644 src/components/QuizTitle/QuizTitle.component.js create mode 100644 src/components/QuizTitle/QuizTitle.css create mode 100644 src/components/QuizTitle/index.js rename src/{components/Checkbox => images}/check.svg (100%) create mode 100644 src/images/devices-and-shield.svg rename src/{components/Completed/CompletedResultsList => images}/green-checkmark.svg (100%) rename src/{components/Completed/CompletedResultsList => images}/red-x.svg (100%) rename src/{components/QuizProgressIndicator/progress-indicator-bg.svg => images/shield.svg} (100%) diff --git a/src/App.component.js b/src/App.component.js index 2a28801..41e901c 100644 --- a/src/App.component.js +++ b/src/App.component.js @@ -4,7 +4,13 @@ import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import './App.css'; -import { Quiz, Completed } from 'src/components'; +import { + Quiz, + Completed, + Landing, + NameCapture, + EmailCapture, +} from 'src/components'; class App extends Component { render() { @@ -12,7 +18,10 @@ class App extends Component {
- + + + +
diff --git a/src/components/Checkbox/Checkbox.component.js b/src/components/Checkbox/Checkbox.component.js index 75623e5..20fc212 100644 --- a/src/components/Checkbox/Checkbox.component.js +++ b/src/components/Checkbox/Checkbox.component.js @@ -7,7 +7,7 @@ import PropTypes from 'prop-types'; import './Checkbox.css'; -const greenCheckmark = require('./check.svg'); +const greenCheckmark = require('../../images/check.svg'); type CheckboxProps = { onChange: Function, diff --git a/src/components/Completed/CompletedResultsList/CompletedResultsList.component.js b/src/components/Completed/CompletedResultsList/CompletedResultsList.component.js index 0f6a388..6588844 100644 --- a/src/components/Completed/CompletedResultsList/CompletedResultsList.component.js +++ b/src/components/Completed/CompletedResultsList/CompletedResultsList.component.js @@ -12,9 +12,9 @@ import { Question, Answer, CodeFigure } from 'src/components'; import './CompletedResultsList.css'; -const greenCheckmark = require('./green-checkmark.svg'); +const greenCheckmark = require('../../../images/green-checkmark.svg'); -const redX = require('./red-x.svg'); +const redX = require('../../../images/red-x.svg'); export default class CompletedResultsList extends PureComponent { static propTypes = { diff --git a/src/components/EmailCapture/EmailCapture/EmailCapture.component.js b/src/components/EmailCapture/EmailCapture/EmailCapture.component.js index 3a2881d..840d98d 100644 --- a/src/components/EmailCapture/EmailCapture/EmailCapture.component.js +++ b/src/components/EmailCapture/EmailCapture/EmailCapture.component.js @@ -6,12 +6,26 @@ import { SubscribeToMailingListCheckbox, } from 'src/components'; +import PropTypes from 'prop-types'; + import './EmailCapture.css'; export default class EmailCapture extends PureComponent { + static propTypes = { + onSubmit: PropTypes.func.isRequired, + }; + + handleOnSubmit = (e) => { + const { onSubmit } = this.props; + + e.preventDefault(); + + onSubmit(); + }; + render() { return ( -
+

{`Ready to find out if you have what it takes to develop @@ -31,7 +45,7 @@ export default class EmailCapture extends PureComponent {

- + ); } } diff --git a/src/components/EmailCapture/EmailCapture/EmailCapture.container.js b/src/components/EmailCapture/EmailCapture/EmailCapture.container.js new file mode 100644 index 0000000..9b02931 --- /dev/null +++ b/src/components/EmailCapture/EmailCapture/EmailCapture.container.js @@ -0,0 +1,9 @@ +import { connect } from 'react-redux'; + +import EmailCapture from './EmailCapture.component'; + +import { submitQuizAction as onSubmit } from 'src/store/quiz/quiz.actions'; + +export default connect(null, { + onSubmit, +})(EmailCapture); diff --git a/src/components/EmailCapture/EmailCapture/index.js b/src/components/EmailCapture/EmailCapture/index.js index 840da0a..0966acc 100644 --- a/src/components/EmailCapture/EmailCapture/index.js +++ b/src/components/EmailCapture/EmailCapture/index.js @@ -1 +1 @@ -export { default as EmailCapture } from './EmailCapture.component'; +export { default as EmailCapture } from './EmailCapture.container'; diff --git a/src/components/Landing/Landing/Landing.component.js b/src/components/Landing/Landing/Landing.component.js new file mode 100644 index 0000000..0189c3a --- /dev/null +++ b/src/components/Landing/Landing/Landing.component.js @@ -0,0 +1,46 @@ +import * as React from 'react'; + +import { LandingGetStartedButton } from 'src/components'; + +import './Landing.css'; + +export default class Landing extends React.PureComponent { + render() { + return ( +
+
+

+ Do You Have What It Takes To Develop Mobile Apps? +

+

+ Note: This assessment is for developers who already have + a basic understanding of HTML, CSS and Javascript. To + get the most accurate results, use your current + knowledge and skills to answer each question to the best + of your ability, and avoid looking things up online. +

+

+ Don't worry about getting every answer correct. The + questions range in subject matter and difficulty to + accurately assess your readiness to successfully learn + mobile app development and determine the right next + steps for you should take to get started. +

+
+ +
+
+
+ {'iPhone +
+
+ ); + } +} diff --git a/src/components/Landing/Landing/Landing.css b/src/components/Landing/Landing/Landing.css new file mode 100644 index 0000000..24205b0 --- /dev/null +++ b/src/components/Landing/Landing/Landing.css @@ -0,0 +1,48 @@ +.Landing { + display: flex; +} + +.Landing__main-content { + margin-right: 100px; +} + +@media (max-width: 767px) { + .Landing__main-content { + margin-right: 0; + } +} + +.Landing__start-button { + margin-top: 24px; +} + +.Landing__title { + margin-top: 120px; + font-size: 3.2rem; + line-height: 4.2rem; + font-weight: 800; + margin-bottom: 20px; +} + +.Landing__image { + flex-shrink: 0; + width: 40.4980237%; + position: relative; + display: flex; + align-items: center; + justify-content: center; + margin-right: 24px; +} + +@media (max-width: 767px) { + .Landing__image { + display: none; + } +} + + +.Landing__devices { + display: block; + width: 100%; + height: auto; +} diff --git a/src/components/Landing/Landing/index.js b/src/components/Landing/Landing/index.js new file mode 100644 index 0000000..c76fd14 --- /dev/null +++ b/src/components/Landing/Landing/index.js @@ -0,0 +1 @@ +export { default as Landing } from './Landing.component'; diff --git a/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.component.js b/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.component.js new file mode 100644 index 0000000..dc9263e --- /dev/null +++ b/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.component.js @@ -0,0 +1,15 @@ +import * as React from 'react'; + +import PropTypes from 'prop-types'; + +import { ActionButton } from 'src/components'; + +export default class LandingGetStartedButton extends React.PureComponent { + static propTypes = { + onClick: PropTypes.func.isRequired, + }; + + render() { + return Get Started; + } +} diff --git a/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.container.js b/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.container.js new file mode 100644 index 0000000..ce30449 --- /dev/null +++ b/src/components/Landing/LandingGetStartedButton/LandingGetStartedButton.container.js @@ -0,0 +1,13 @@ +import { connect } from 'react-redux'; + +import { withRouter } from 'react-router-dom'; + +import { startQuizAction } from 'src/store/quiz/quiz.actions'; + +import LandingGetStartedButton from './LandingGetStartedButton.component'; + +export default withRouter( + connect(null, (dispatch, { history }) => ({ + onClick: () => dispatch(startQuizAction(history)), + }))(LandingGetStartedButton) +); diff --git a/src/components/Landing/LandingGetStartedButton/index.js b/src/components/Landing/LandingGetStartedButton/index.js new file mode 100644 index 0000000..f628f96 --- /dev/null +++ b/src/components/Landing/LandingGetStartedButton/index.js @@ -0,0 +1,3 @@ +export { + default as LandingGetStartedButton, +} from './LandingGetStartedButton.container'; diff --git a/src/components/Landing/index.js b/src/components/Landing/index.js new file mode 100644 index 0000000..5855e3f --- /dev/null +++ b/src/components/Landing/index.js @@ -0,0 +1,2 @@ +export * from './Landing'; +export * from './LandingGetStartedButton'; diff --git a/src/components/NameCapture/NameCapture/NameCapture.component.js b/src/components/NameCapture/NameCapture/NameCapture.component.js index 3f6ee79..f21b96e 100644 --- a/src/components/NameCapture/NameCapture/NameCapture.component.js +++ b/src/components/NameCapture/NameCapture/NameCapture.component.js @@ -3,6 +3,7 @@ import React, { PureComponent } from 'react'; import { NameCaptureNameInput, NameCaptureContinueButton, + QuizTitle, } from 'src/components'; import './NameCapture.css'; @@ -11,14 +12,17 @@ export default class NameCapture extends PureComponent { render() { return (
-
-

- {'What\'s your first name?'} -

-
- -
- + +
+
+

+ {'What\'s your first name?'} +

+
+ +
+ +
diff --git a/src/components/NameCapture/NameCapture/NameCapture.css b/src/components/NameCapture/NameCapture/NameCapture.css index 60fa9e0..e739574 100644 --- a/src/components/NameCapture/NameCapture/NameCapture.css +++ b/src/components/NameCapture/NameCapture/NameCapture.css @@ -1,4 +1,8 @@ .NameCapture { + flex: 1 +} + +.NameCapture__container { flex: 1; display: flex; flex-direction: column; diff --git a/src/components/Quiz/Quiz.component.js b/src/components/Quiz/Quiz.component.js index b022e4a..5b59c0d 100644 --- a/src/components/Quiz/Quiz.component.js +++ b/src/components/Quiz/Quiz.component.js @@ -1,77 +1,29 @@ import React, { PureComponent } from 'react'; -import PropTypes from 'prop-types'; - -import { - QuizQuestion, - QuizProgressIndicator, - NameCapture, - EmailCapture, -} from 'src/components'; +import { QuizQuestion, QuizProgressIndicator, QuizTitle } from 'src/components'; import { questions } from 'src/questions'; import './Quiz.css'; export default class Quiz extends PureComponent { - static propTypes = { - state: PropTypes.string.isRequired, - onSubmit: PropTypes.func.isRequired, - quizComplete: PropTypes.bool.isRequired, - }; - - handleOnSubmit = (e) => { - const { onSubmit, quizComplete, history } = this.props; - - e.preventDefault(); - - if (!quizComplete) { - return false; - } else { - onSubmit(history); - } - }; - render() { - const { state } = this.props; - - let content =
; - - switch (state) { - case 'nameCapture': - content = ; - break; - - case 'emailCapture': - content = ; - break; - - case 'question': - content = ( -
-
- -
- {questions.map((question, i) => ( - - ))} -
- ); - break; - - default: - content =
; - } - return ( -
-

Javascript Quiz

-
{content}
-
+
+ +
+
+ +
+ {questions.map((question, i) => ( + + ))} +
+
); } } diff --git a/src/components/Quiz/Quiz.container.js b/src/components/Quiz/Quiz.container.js deleted file mode 100644 index 5880619..0000000 --- a/src/components/Quiz/Quiz.container.js +++ /dev/null @@ -1,26 +0,0 @@ -import { connect } from 'react-redux'; - -import { withRouter } from 'react-router-dom'; - -import { quizStateSelector, quizIsCompleteSelector } from 'src/selectors'; - -import { submitQuizAction as onSubmit } from 'src/store/quiz/quiz.actions'; - -import Quiz from './Quiz.component'; - -export default withRouter( - connect( - (st) => { - const state = quizStateSelector(st); - const quizComplete = quizIsCompleteSelector(st); - - return { - state, - quizComplete, - }; - }, - { - onSubmit, - } - )(Quiz) -); diff --git a/src/components/Quiz/Quiz.css b/src/components/Quiz/Quiz.css index 46c84e6..ca968d8 100644 --- a/src/components/Quiz/Quiz.css +++ b/src/components/Quiz/Quiz.css @@ -9,22 +9,6 @@ } } -.Quiz__title { - font-size: 2.4rem; - line-height: 1; - color: var(--very-dark-blue); - font-weight: 700; - padding: 35px 0; - margin-bottom: 20px; -} - -@media (max-width: 600px) { - .Quiz__title { - font-size: 2rem; - padding: 25px 0; - } -} - .Quiz__progress-indicator { position: absolute; top: 0; diff --git a/src/components/Quiz/index.js b/src/components/Quiz/index.js index 07f08ac..575415a 100644 --- a/src/components/Quiz/index.js +++ b/src/components/Quiz/index.js @@ -1 +1 @@ -export { default as Quiz } from './Quiz.container'; +export { default as Quiz } from './Quiz.component'; diff --git a/src/components/QuizProgressIndicator/QuizProgressIndicator.component.js b/src/components/QuizProgressIndicator/QuizProgressIndicator.component.js index 3959863..ecb4229 100644 --- a/src/components/QuizProgressIndicator/QuizProgressIndicator.component.js +++ b/src/components/QuizProgressIndicator/QuizProgressIndicator.component.js @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import bg from './progress-indicator-bg.svg'; +import bg from '../../images/shield.svg'; import './QuizProgressIndicator.css'; diff --git a/src/components/QuizProgressIndicator/progress-indicator-bg.png b/src/components/QuizProgressIndicator/progress-indicator-bg.png deleted file mode 100644 index 5fa6b787786c3186d21bd9923dcce3387f277968..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64958 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 Quiz; + } +} diff --git a/src/components/QuizTitle/QuizTitle.css b/src/components/QuizTitle/QuizTitle.css new file mode 100644 index 0000000..cd0b72b --- /dev/null +++ b/src/components/QuizTitle/QuizTitle.css @@ -0,0 +1,15 @@ +.Quiz__title { + font-size: 2.4rem; + line-height: 1; + color: var(--very-dark-blue); + font-weight: 700; + padding: 35px 0; + margin-bottom: 20px; +} + +@media (max-width: 600px) { + .Quiz__title { + font-size: 2rem; + padding: 25px 0; + } +} diff --git a/src/components/QuizTitle/index.js b/src/components/QuizTitle/index.js new file mode 100644 index 0000000..6e5ce9d --- /dev/null +++ b/src/components/QuizTitle/index.js @@ -0,0 +1 @@ +export { default as QuizTitle } from './QuizTitle.component'; diff --git a/src/components/index.js b/src/components/index.js index 3eb7fde..9cc7c36 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -5,11 +5,13 @@ export * from './Checkbox'; export * from './CodeFigure'; export * from './Completed'; export * from './EmailCapture'; +export * from './Landing'; export * from './NameCapture'; export * from './Question'; export * from './QuestionAnswer'; export * from './Quiz'; export * from './QuizProgressIndicator'; export * from './QuizQuestion'; +export * from './QuizTitle'; export * from './SubscribeToMailingListCheckbox'; export * from './TextInput'; diff --git a/src/components/Checkbox/check.svg b/src/images/check.svg similarity index 100% rename from src/components/Checkbox/check.svg rename to src/images/check.svg diff --git a/src/images/devices-and-shield.svg b/src/images/devices-and-shield.svg new file mode 100644 index 0000000..b137c70 --- /dev/null +++ b/src/images/devices-and-shield.svg @@ -0,0 +1,90 @@ + + + + Group 16 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/Completed/CompletedResultsList/green-checkmark.svg b/src/images/green-checkmark.svg similarity index 100% rename from src/components/Completed/CompletedResultsList/green-checkmark.svg rename to src/images/green-checkmark.svg diff --git a/src/components/Completed/CompletedResultsList/red-x.svg b/src/images/red-x.svg similarity index 100% rename from src/components/Completed/CompletedResultsList/red-x.svg rename to src/images/red-x.svg diff --git a/src/components/QuizProgressIndicator/progress-indicator-bg.svg b/src/images/shield.svg similarity index 100% rename from src/components/QuizProgressIndicator/progress-indicator-bg.svg rename to src/images/shield.svg diff --git a/src/store/quiz/quiz.actions.js b/src/store/quiz/quiz.actions.js index 40ab520..65e95f4 100644 --- a/src/store/quiz/quiz.actions.js +++ b/src/store/quiz/quiz.actions.js @@ -16,13 +16,6 @@ import { fireFetch } from 'src/services/firebase.service'; import { getRating } from 'firebaseFunctions/services/scoring.service'; -export const setStateAction = (state) => ({ - type: 'SET_QUIZ_STATE', - payload: { - state, - }, -}); - export const setSelectedAnswerAction = (selectedAnswer) => ({ type: 'SET_QUIZ_SELECTED_ANSWER', payload: { @@ -63,8 +56,15 @@ export const submitNameAction = () => ({ type: 'SUBMIT_NAME', }); +export const startQuizAction = (history) => ({ + type: 'START_QUIZ', + payload: { + history, + }, +}); + export const submitQuizAction = (history) => ({ - type: 'SUBMIT_QUIZ_ACTION', + type: 'SUBMIT_QUIZ', payload: { history, }, @@ -111,9 +111,13 @@ function* submitQuiz() { } export default function*() { + const { payload: { history } } = yield take(startQuizAction().type); + + yield call(history.push, '/name'); + yield take(submitNameAction().type); - yield put(setStateAction('question')); + yield call(history.push, '/questions'); for (let i = 0; i < questions.length; i++) { yield take(setSelectedAnswerAction().type); @@ -123,9 +127,9 @@ export default function*() { yield* addAnswer(); } - yield put(setStateAction('emailCapture')); + yield call(history.push, '/email'); - const { payload: { history } } = yield take(submitQuizAction().type); + yield take(submitQuizAction().type); yield fork(submitQuiz); diff --git a/src/store/quiz/quiz.reducer.js b/src/store/quiz/quiz.reducer.js index 8b3e3da..c7b6d6c 100644 --- a/src/store/quiz/quiz.reducer.js +++ b/src/store/quiz/quiz.reducer.js @@ -1,5 +1,4 @@ import { - setStateAction, setSelectedAnswerAction, addAnswerAction, setNameAction, @@ -11,7 +10,6 @@ import { createReducer } from 'src/helpers'; export default createReducer( { - state: 'nameCapture', selectedAnswer: null, answers: [], email: '', @@ -19,10 +17,6 @@ export default createReducer( subscribedToMailingList: false, }, { - [setStateAction().type]: (st, { state }) => ({ - ...st, - state, - }), [setSelectedAnswerAction().type]: (st, { selectedAnswer }) => ({ ...st, selectedAnswer,