diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test/fixtures/simple.jsx | 1420 |
1 files changed, 434 insertions, 986 deletions
diff --git a/src/test/fixtures/simple.jsx b/src/test/fixtures/simple.jsx index da7b81d15..5ece00d59 100644 --- a/src/test/fixtures/simple.jsx +++ b/src/test/fixtures/simple.jsx @@ -1,987 +1,435 @@ -// var Bar = () => { -// var foo = () => {}; - -// var hey = () => {}; -// return ( -// <div prop={1}> -// Plain text -// <div> -// ← A child div -// <Button>Red</Button> -// </div> -// </div> -// ); -// }; - -while (true) { - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; - console.log("hi"); - console.log("yo"); - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var foo = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var bar = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var baz = () => {}; - var hey = <div>true</div>; +import { Link } from "../routes"; +import Head from "../components/head"; +import Nav from "../components/nav"; +import withRedux from "next-redux-wrapper"; +import Header from "../components/Header"; +import Button from "../components/Button"; +import cookies from "next-cookies"; +import Text from "../components/Text"; +import _ from "lodash"; +import { updateEntities, setCurrentUser, initStore } from "../redux/store"; +import { getFeaturedProfiles, getCurrentUser } from "../api"; +import { bindActionCreators } from "redux"; +import { Router } from "../routes"; +import PageFooter from "../components/PageFooter"; +import withLogin from "../lib/withLogin"; +import qs from "qs"; +import LazyLoad from "react-lazyload"; +import { buildImgSrcSet } from "../lib/imgUri"; +import { buildProfileURL } from "../lib/routeHelpers"; +import LoginGate, { LOGIN_STATUSES } from "../components/LoginGate"; +import Divider from "../components/Divider"; +import { SPACING } from "../helpers/styles"; + +const FeaturedProfile = ({ profile }) => { + return ( + <Link route={buildProfileURL(profile.id)}> + <a className="Profile"> + <img + src={_.first(profile.photos)} + srcSet={buildImgSrcSet(_.first(profile.photos), 250)} + /> + <div className="Text"> + <div className="Title"> + <Text + font="sans-serif" + lineHeight="20px" + weight="semiBold" + size="18px" + color="#000" + > + {profile.name} + </Text> + </div> + + <div className="Tagline"> + <Text size="14px">{(profile.tagline || "").substr(0, 100)}</Text> + </div> + </div> + <style jsx>{` + .Profile { + background-color: #ffffff; + cursor: pointer; + text-decoration: none; + text-align: left; + width: 100%; + height: 100%; + border-radius: 6px; + display: flex; + flex-shrink: 0; + flex-grow: 0; + flex-direction: column; + } + + .Text { + flex: 1; + } + + .Profile:hover img { + opacity: 0.85; + } + + .Title { + margin-top: 1rem; + margin-bottom: 0.5rem; + } + + .Tagline { + margin-bottom: 1.5rem; + } + + img { + object-fit: cover; + flex: 0 0 250px; + flex-shrink: 0; + display: flex; + width: 250px; + height: 250px; + opacity: 1; + transition: opacity 0.1s linear; + } + + @media (max-width: 500px) { + .Profile { + margin-bottom: 2em; + } + } + `}</style> + </a> + </Link> + ); +}; + +class SignupForm extends React.Component { + constructor(props) { + super(props); + + this.state = { + email: this.props.email || "", + }; + } + + setEmail = (evt) => this.setState({ email: evt.target.value }); + + componentDidMount() { + Router.prefetchRoute(`/sign-up/verify`); + } + + handleSubmit = (evt) => { + evt.preventDefault(); + + Router.pushRoute( + `/sign-up/verify?${qs.stringify({ email: this.state.email })}` + ); + }; + + render() { + return ( + <form onSubmit={this.handleSubmit}> + <input + type="email" + name="email" + autoComplete="email" + onChange={this.setEmail} + placeholder="Your email" + value={this.state.email} + /> + <Button componentType="button" inline> + CREATE MY PAGE + </Button> + + <style jsx>{` + form { + display: flex; + } + + input { + font-size: 14px; + padding: 14px 22px; + border-radius: 33px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border: 1px solid #bababa; + border-right: 0px; + line-height: 18px; + color: #000; + outline: none; + width: auto; + display: flex; + flex: 1; + } + + input::-webkit-input-placeholder { + color: #c5cbd4; + } + + input:focus { + border-color: #b0b0b0; + } + `}</style> + </form> + ); + } } + +class Homepage extends React.Component { + constructor(props) { + super(props); + + this.state = { + isLoadingProfiles: true, + profiles: [], + }; + } + + static async getInitialProps(ctx) { + if (ctx.isServer && ctx.req.path === "/") { + const { currentUserId } = cookies(ctx); + + if (currentUserId) { + ctx.res.writeHead(302, { + Location: `${process.env.DOMAIN}/welcome`, + }); + + ctx.res.end(); + ctx.res.finished = true; + } + } + } + + async componentDidMount() { + const profileResponse = await getFeaturedProfiles(); + this.props.updateEntities(profileResponse.body); + + this.setState({ + isLoadingProfiles: false, + profiles: profileResponse.body.data, + }); + + Router.prefetchRoute(`/lucy`); + } + + render() { + return ( + <div> + <Head + title="Apply to Date – your own game of The Bachelor(ette)" + url={`${process.env.DOMAIN}/`} + disableGoogle={false} + /> + <Header /> + <article> + <main> + <div className="Copy"> + <img className="Logo Logo-Home" src="/static/animatedlogo.gif" /> + <div className="Copy-title"> + <Text font="serif" size="36px" lineHeight="44px" weight="bold"> + Your own game of The Bachelor(ette) + </Text> + </div> + <div className="Copy-body"> + <Text size="16px" lineHeight="24px" font="sans-serif"> + Create a page where people apply to go on a date with you. You + pick the winners. + </Text> + </div> + + {!this.props.currentUserId && <SignupForm />} + + <div className="AppStoreContainer"> + <Divider height={`${SPACING.normal}px`} color="transparent" /> + <a + className="AppStore AppStore--ios" + target="_blank" + href="https://itunes.apple.com/us/app/apply-to-date/id1357419725?mt=8" + > + <img src="https://devimages-cdn.apple.com/app-store/marketing/guidelines/images/badge-download-on-the-app-store.svg" /> + </a> + + <a + target="_blank" + className="AppStore AppStore--android" + href="https://play.google.com/store/apps/details?id=com.shipfirstlabs.applytodate&utm_source=homepage&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" + > + <img + alt="Get it on Google Play" + src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" + /> + </a> + </div> + </div> + </main> + </article> + + <footer> + <div className="divider" /> + + <Text size="36px" font="sans-serif" color="#000"> + Featured pages + </Text> + + <div className="FeaturedProfiles-wrapper"> + {this.state.isLoadingProfiles && <div className="Spinner" />} + <div className="FeaturedProfiles"> + {!_.isEmpty(this.state.profiles) && + this.state.profiles.map((profile) => ( + <FeaturedProfile key={profile.id} profile={profile} /> + ))} + </div> + </div> + </footer> + + <article> + <PageFooter center /> + </article> + <style jsx>{` + article { + max-width: 710px; + margin-left: auto; + margin-right: auto; + padding-left: 14px; + padding-right: 14px; + overflow-x: hidden; + } + + main { + display: flex; + margin-top: 6rem; + margin-bottom: 6rem; + + justify-content: center; + } + + footer { + display: flex; + flex-direction: column; + text-align: center; + overflow-x: hidden; + } + + .divider { + height: 2px; + width: 269px; + margin-bottom: 6rem; + margin-left: auto; + margin-right: auto; + background-color: #0aca9b; + } + + .Logo-Home { + margin-left: auto; + margin-right: auto; + width: 97px; + height: 152.02px; + margin-bottom: 28px; + } + + .Copy { + max-width: 710px; + margin: 0 auto; + text-align: center; + } + + .Copy-body { + margin-top: 1rem; + margin-bottom: 2rem; + font-weight: 200; + } + + .FeaturedProfiles-wrapper { + padding-top: 4rem; + padding-bottom: 6rem; + padding-left: 28px; + padding-right: 28px; + + overflow-x: auto; + width: 100vw; + } + + .Spinner { + display: flex; + content: ""; + margin: 84px auto; + height: 28px; + width: 28px; + animation: rotate 0.8s infinite linear; + border: 4px solid #4be1ab; + border-right-color: transparent; + border-radius: 50%; + } + + .AppStoreContainer { + display: flex; + justify-content: center; + align-items: center; + } + + .AppStore--ios img { + width: 180px; + } + + .AppStore--android img { + width: 230px; + } + + @keyframes rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + + .FeaturedProfiles { + display: grid; + grid-column-gap: 2rem; + grid-row-gap: 2rem; + text-align: center; + justify-content: center; + margin-left: auto; + margin-right: auto; + grid-template-columns: 250px 250px 250px 250px; + } + + @media (max-width: 1100px) { + .FeaturedProfiles { + grid-template-columns: 250px 250px 250px; + } + } + + @media (max-width: 900px) { + .FeaturedProfiles { + grid-template-columns: 250px 250px; + } + } + + @media (max-width: 554px) { + .FeaturedProfiles-wrapper { + padding-left: 14px; + padding-right: 14px; + } + + .AppStoreContainer { + flex-direction: column; + } + + .FeaturedProfiles { + grid-auto-flow: row dense; + grid-auto-rows: auto; + grid-template-columns: 250px; + grid-template-rows: 1fr; + justify-content: center; + } + } + `}</style> + </div> + ); + } +} + +const HomepageWithStore = withRedux(initStore, null, (dispatch) => + bindActionCreators({ updateEntities, setCurrentUser }, dispatch) +)(LoginGate(Homepage)); + +export default HomepageWithStore; |