From a0de34f5700415e4ad32de21cda4703e5eaf8a0e Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me> Date: Sun, 1 Mar 2020 17:52:36 +0100 Subject: [PATCH] Added nebula cloud section with shooting star. --- package.json | 127 +++++++++++++++-------------- src/components/Layout.tsx | 1 - src/pages/index.tsx | 107 +++++++++++++++++++----- src/styles/scroll-animate.scss | 41 ++++++++++ static/comet.png | Bin 0 -> 2941 bytes static/{clouds3.png => nebula.png} | Bin 6 files changed, 193 insertions(+), 83 deletions(-) create mode 100644 src/styles/scroll-animate.scss create mode 100644 static/comet.png rename static/{clouds3.png => nebula.png} (100%) diff --git a/package.json b/package.json index fb003db..087bfb7 100644 --- a/package.json +++ b/package.json @@ -4,100 +4,103 @@ "version": "1.0.0", "author": "LuÃs Rodrigues <hello@goblindegook.com>", "dependencies": { - "@emotion/core": "^10.0.4", - "@emotion/styled": "^10.0.4", - "@mdx-js/mdx": "^1.0.20", - "@mdx-js/react": "^1.0.20", - "@pacote/react-use-outside": "^1.0.2", - "@reach/router": "^1.2.0", + "@emotion/core": "^10.0.28", + "@emotion/styled": "^10.0.27", + "@mdx-js/mdx": "^1.5.7", + "@mdx-js/react": "^1.5.7", + "@pacote/react-use-outside": "^1.1.1", + "@reach/router": "^1.3.3", "@types/lunr": "^2.1.6", "compass-sass-stylesheets": "^1.0.3", - "core-js": "^3.1.4", - "emotion": "^10.0.4", - "emotion-server": "^10.0.4", - "gatsby": "^2.0.7", - "gatsby-plugin-catch-links": "^2.0.2", - "gatsby-plugin-emotion": "^4.0.4", - "gatsby-plugin-feed": "^2.0.5", + "core-js": "^3.6.4", + "emotion": "^10.0.27", + "emotion-server": "^10.0.27", + "gatsby": "^2.19.23", + "gatsby-plugin-catch-links": "^2.1.26", + "gatsby-plugin-emotion": "^4.1.22", + "gatsby-plugin-feed": "^2.3.27", "gatsby-plugin-lunr": "^1.2.0", - "gatsby-plugin-manifest": "^2.0.2", - "gatsby-plugin-mdx": "^1.0.17", - "gatsby-plugin-netlify": "^2.0.0", - "gatsby-plugin-nprogress": "^2.0.5", - "gatsby-plugin-offline": "^3.0.8", - "gatsby-plugin-react-helmet": "^3.0.0", - "gatsby-plugin-sass": "^2.1.28", - "gatsby-plugin-sharp": "^2.0.5", - "gatsby-plugin-sitemap": "^2.0.1", + "gatsby-plugin-manifest": "^2.2.42", + "gatsby-plugin-mdx": "^1.0.74", + "gatsby-plugin-netlify": "^2.1.33", + "gatsby-plugin-nprogress": "^2.1.19", + "gatsby-plugin-offline": "^3.0.35", + "gatsby-plugin-react-helmet": "^3.1.22", + "gatsby-plugin-sass": "^2.1.29", + "gatsby-plugin-sharp": "^2.4.5", + "gatsby-plugin-sitemap": "^2.2.27", "gatsby-plugin-typegen": "^0.2.0", - "gatsby-plugin-typescript": "^2.0.0", - "gatsby-plugin-typography": "^2.2.0", - "gatsby-remark-copy-linked-files": "^2.0.9", - "gatsby-remark-images": "^3.0.6", - "gatsby-remark-prismjs": "^3.2.6", - "gatsby-remark-smartypants": "^2.0.8", - "gatsby-source-filesystem": "^2.0.1", - "gatsby-transformer-remark": "^2.6.10", - "gatsby-transformer-sharp": "^2.1.1", - "graphql": "^14.5.8", - "graphql-tag-pluck": "^0.8.5", + "gatsby-plugin-typescript": "^2.1.27", + "gatsby-plugin-typography": "^2.3.22", + "gatsby-remark-copy-linked-files": "^2.1.37", + "gatsby-remark-images": "^3.1.44", + "gatsby-remark-prismjs": "^3.3.31", + "gatsby-remark-smartypants": "^2.1.21", + "gatsby-source-filesystem": "^2.1.48", + "gatsby-transformer-remark": "^2.6.53", + "gatsby-transformer-sharp": "^2.3.16", + "graphql": "^14.6.0", + "graphql-tag-pluck": "^0.8.7", "gray-percentage": "^2.0.0", "lodash": "^4.17.5", - "lunr": "^2.3.3", + "lunr": "^2.3.8", "node-sass": "^4.13.1", "normalize.css": "^8.0.0", - "prismjs": "^1.15.0", + "prismjs": "^1.19.0", "ramda": "^0.26.1", - "react": "^16.5.2", - "react-dom": "^16.2.0", + "react": "^16.13.0", + "react-dom": "^16.13.0", "react-helmet": "^5.2.0", "react-typography": "^0.16.13", "regenerator-runtime": "^0.13.2", + "react-scrollmagic": "^2.1.1", + "react-gsap": "^1.2.0", + "styled-components": "^5.0.1", "typeface-domine": "^0.0.72", "typeface-montserrat": "^0.0.75", "typography": "^0.16.17", "typography-breakpoint-constants": "^0.16.18" }, "devDependencies": { - "@babel/core": "^7.1.0", - "@babel/polyfill": "^7.2.5", + "@babel/core": "^7.8.6", + "@babel/polyfill": "^7.8.3", "@pacote/eslint-config": "^2.0.0", "@pacote/eslint-config-jest": "^1.0.0", "@pacote/eslint-config-react": "^1.0.0", - "@testing-library/jest-dom": "^5.0.2", - "@testing-library/react": "^9.0.2", + "@testing-library/jest-dom": "^5.1.1", + "@testing-library/react": "^9.4.1", "@types/compass-vertical-rhythm": "^1.4.0", "@types/gray-percentage": "^2.0.0", - "@types/jest": "^24.0.9", - "@types/lodash": "^4.14.104", - "@types/node": "^13.1.4", - "@types/ramda": "^0.26.3", - "@types/react": "^16.4.14", - "@types/react-dom": "^16.0.7", - "@types/react-helmet": "^5.0.5", + "@types/jest": "^24.9.1", + "@types/lodash": "^4.14.149", + "@types/node": "^13.7.7", + "@types/ramda": "^0.26.43", + "@types/react": "^16.9.23", + "@types/react-dom": "^16.9.5", + "@types/react-helmet": "^5.0.15", "@types/typography": "^0.16.0", "@types/typography-breakpoint-constants": "^0.16.0", - "@typescript-eslint/eslint-plugin": "^2.0.0", - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^6.0.1", - "eslint-config-prettier": "^6.0.0", + "@typescript-eslint/eslint-plugin": "^2.21.0", + "@typescript-eslint/parser": "^2.21.0", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.10.0", "eslint-config-standard": "^14.0.0", - "eslint-plugin-import": "^2.18.0", + "eslint-plugin-import": "^2.20.1", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-react": "^7.14.2", - "eslint-plugin-react-hooks": "^2.1.2", + "eslint-plugin-react": "^7.18.3", + "eslint-plugin-react-hooks": "^2.5.0", "eslint-plugin-standard": "^4.0.0", - "husky": "^4.2.1", + "husky": "^4.2.3", "identity-obj-proxy": "^3.0.0", "jest": "^25.1.0", - "lint-staged": "^10.0.2", - "prettier": "^1.11.1", - "ts-jest": "^25.0.0", - "typescript": "^3.0.3", - "webpack": "^4.19.1" + "lint-staged": "^10.0.8", + "prettier": "^1.19.1", + "ts-jest": "^25.2.1", + "typescript": "^3.8.3", + "webpack": "^4.41.6" }, "keywords": [ "gatsby", diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 8e62e22..3cad170 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -7,7 +7,6 @@ import { Header } from './Header' const wrapper = css` margin: 0 auto; - max-width: 960px; padding: 0 1.0875rem 1.45rem; ` diff --git a/src/pages/index.tsx b/src/pages/index.tsx index e2eb680..005928c 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,35 +1,102 @@ import React from 'react' import { css } from '@emotion/core' -import { Link } from 'gatsby' +import { withPrefix, Link } from 'gatsby' import { Layout } from '../components/Layout' import '../styles/title-animate.scss' import '../styles/stars.scss' +import '../styles/scroll-animate.scss' +import Helmet from 'react-helmet' +import { Controller, Scene } from 'react-scrollmagic' +import { Tween, Timeline } from 'react-gsap' +import styled from 'styled-components' const style = { - emphesis: css` - color: yellow; - ` + emphesis: css` + color: yellow; + ` } +const TweenStyled = styled.div` + .section { + height: 100vh; + } + + .tween { + width: 100px; + height: 100px; + background-color: red; + margin: 0 !important; + position: relative; + left: calc(50% - 50px); + } + + .stagger { + width: 50px; + height: 50px; + left: 700px; + background-color: green; + position: relative; + } +` + export const IndexPage = () => ( <> - <div class='stars'></div> - <div class='stars1'></div> - <div class='stars2'></div> - <div class='stars3'></div> - <div class='twinkling'></div> - <div class='title-content'> - <div class="title-content__container"> - <div class="title-content__container__text"> - Clever - </div> - <ul class="title-content__container__list"> - <li class="tite-content__container__list__item">Me</li> - <li class="title-content__container__list__item">You</li> - <li class="title-content__container__list__item">Us</li> - <li class="title-content__container__list__item logo-emphesis">This</li> - </ul> + <div className="stars"></div> + <div className="stars1"></div> + <div className="stars2"></div> + <div className="stars3"></div> + <div className="twinkling"></div> + <div className="title-content"> + <div className="title-content__container"> + <div className="title-content__container__text">Clever</div> + <ul className="title-content__container__list"> + <li className="tite-content__container__list__item">Me</li> + <li className="title-content__container__list__item">You</li> + <li className="title-content__container__list__item">Us</li> + <li className="title-content__container__list__item logo-emphesis">This</li> + </ul> + </div> + </div> + <div> + <TweenStyled> + <div id="trigger-comet" /> + <Controller> + <Scene triggerElement="#trigger-comet" duration={1200} pin={false}> + {progress => ( + <Tween + from={{ + css: { + left: '-150px', + top: '-35vh' + } + }} + to={{ + css: { + left: '120vw', + top: '30vh' + } + }} + totalProgress={progress} + paused + > + <div className="comet"></div> + </Tween> + )} + </Scene> + </Controller> + </TweenStyled> + <div className="nebula" /> + <div className="textcard textcard-cloud"> + <div className="textcard-content"> + <h2>The Cloud</h2> + <p> + The cloud is a place of fluffiness with things of fluff and rain and rainbows. + Fluffiness is how soft something is, rocks arent fluffy, clouds are. So buy our product + and be fluffy! + </p> </div> + </div> + <div id="animation-end"></div> </div> {/* <div> <h2>Hi people</h2> diff --git a/src/styles/scroll-animate.scss b/src/styles/scroll-animate.scss new file mode 100644 index 0000000..2304b0a --- /dev/null +++ b/src/styles/scroll-animate.scss @@ -0,0 +1,41 @@ +.comet { + background:url(/comet.png) no-repeat; + z-index:0; + width: 93px; + height: 43px; + margin: 0 !important; + position: relative; + left: -150px; +} + +.nebula { + background:url(/nebula.png) no-repeat; + z-index:0; + width: 1985px; + height: 669px; + margin: 0 !important; + position: relative; + left: -500px; +} + +.textcard { + background: #ffffff; + color: #000000; + border-radius: 10px; + width: 40vh; +} + +.textcard-cloud { + position: relative; + top: -300px; + float: right; + margin-right: 100px; +} + +.textcard-content { + margin: 25px; +} + +#animation-end { + margin-top: 10000px; +} diff --git a/static/comet.png b/static/comet.png new file mode 100644 index 0000000000000000000000000000000000000000..6a4b7d0e728874d4486be8c419b5dc79a43ffc39 GIT binary patch literal 2941 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 literal 0 HcmV?d00001 diff --git a/static/clouds3.png b/static/nebula.png similarity index 100% rename from static/clouds3.png rename to static/nebula.png -- GitLab