From 7b5d085b9e9ae313c3bd380081efbf113203d387 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Sirois Date: Sat, 27 Jul 2019 01:10:49 -0400 Subject: [PATCH] ui: prepare base layout --- gatsby-config.js | 1 + package-lock.json | 93 ++++++++++++++++++++++++ package.json | 1 + src/components/Container/index.tsx | 12 ++++ src/components/Container/styles.tsx | 18 +++++ src/components/Layout/index.tsx | 32 +++++---- src/components/Layout/layout.scss | 106 +--------------------------- src/components/Layout/styles.tsx | 20 +++++- src/components/Sidebar/index.tsx | 31 ++++++++ src/components/Sidebar/styles.tsx | 29 ++++++++ src/icons/arrow-right.svg | 3 + src/images/tph-logo.png | Bin 0 -> 12232 bytes typings.d.ts | 1 + 13 files changed, 225 insertions(+), 122 deletions(-) create mode 100644 src/components/Container/index.tsx create mode 100644 src/components/Container/styles.tsx create mode 100644 src/components/Sidebar/index.tsx create mode 100644 src/components/Sidebar/styles.tsx create mode 100644 src/icons/arrow-right.svg create mode 100644 src/images/tph-logo.png create mode 100644 typings.d.ts diff --git a/gatsby-config.js b/gatsby-config.js index 5a932e3..b61de85 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -27,6 +27,7 @@ module.exports = { }, }, `gatsby-transformer-sharp`, + `gatsby-plugin-react-svg`, `gatsby-plugin-sharp`, `gatsby-plugin-sass`, { diff --git a/package-lock.json b/package-lock.json index 4c5c51c..96ede04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4089,6 +4089,24 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", @@ -7307,6 +7325,14 @@ "@babel/runtime": "^7.0.0" } }, + "gatsby-plugin-react-svg": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-svg/-/gatsby-plugin-react-svg-2.1.1.tgz", + "integrity": "sha512-aWG283AvueCS0U4yZ+QujQnz4GDNoIBYMQ8MpQEvB+k6o+5DPZ473Cz+rlEejoevVxVeCVwuuu4K9phGIGk+7Q==", + "requires": { + "svg-react-loader": "^0.4.4" + } + }, "gatsby-plugin-sass": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-2.1.3.tgz", @@ -12734,6 +12760,11 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" }, + "ramda": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -13573,6 +13604,11 @@ "aproba": "^1.1.1" } }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -15095,6 +15131,58 @@ "has-flag": "^3.0.0" } }, + "svg-react-loader": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz", + "integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==", + "requires": { + "css": "2.2.4", + "loader-utils": "1.1.0", + "ramda": "0.21.0", + "rx": "4.1.0", + "traverse": "0.6.6", + "xml2js": "0.4.17" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, + "xml2js": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "^4.1.0" + } + }, + "xmlbuilder": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", + "requires": { + "lodash": "^4.0.0" + } + } + } + }, "svgo": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", @@ -15470,6 +15558,11 @@ } } }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, "trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", diff --git a/package.json b/package.json index d5af87e..144058f 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "gatsby-plugin-manifest": "^2.2.4", "gatsby-plugin-offline": "^2.2.4", "gatsby-plugin-react-helmet": "^3.1.2", + "gatsby-plugin-react-svg": "^2.1.1", "gatsby-plugin-sass": "^2.1.3", "gatsby-plugin-sharp": "^2.2.9", "gatsby-plugin-styled-components": "^3.1.2", diff --git a/src/components/Container/index.tsx b/src/components/Container/index.tsx new file mode 100644 index 0000000..c209636 --- /dev/null +++ b/src/components/Container/index.tsx @@ -0,0 +1,12 @@ +import React from "react" +import * as SC from "./styles" + +interface ContainerProps { + children: React.ReactNode +} + +const Container = ({ children, ...restProps }: ContainerProps): JSX.Element => ( + {children} +) + +export default Container diff --git a/src/components/Container/styles.tsx b/src/components/Container/styles.tsx new file mode 100644 index 0000000..7c6616c --- /dev/null +++ b/src/components/Container/styles.tsx @@ -0,0 +1,18 @@ +import styled from "styled-components" + +export const ContainerWrapper = styled.div` + display: flex; + flex-direction: column; + padding: 0 32px; + margin: 0 auto; + width: 100%; + max-width: 1015px; + + & > :first-child { + margin-top: 0; + } + + & > :last-child { + margin-bottom: 0; + } +` diff --git a/src/components/Layout/index.tsx b/src/components/Layout/index.tsx index 52359df..bfe4f70 100644 --- a/src/components/Layout/index.tsx +++ b/src/components/Layout/index.tsx @@ -8,11 +8,13 @@ import React, { PropsWithChildren } from "react" import { useStaticQuery, graphql } from "gatsby" +import Container from "../Container" import Navbar from "../Navbar" +import Sidebar from "../Sidebar" import "./layout.scss" -import { MainContent } from "./styles"; +import { Main, MainContent } from "./styles" import Scrollbar from "react-perfect-scrollbar" -import "react-perfect-scrollbar/dist/css/styles.css"; +import "react-perfect-scrollbar/dist/css/styles.css" const Layout = ({ children }: PropsWithChildren<{}>) => { const data = useStaticQuery(graphql` @@ -27,22 +29,22 @@ const Layout = ({ children }: PropsWithChildren<{}>) => { return ( - -
- {children} -
+ +
+ + +

{data.site.siteMetadata.title}

+ {children} +
+
+
+
+ © {new Date().getFullYear()}, Built with {` `} Gatsby -
-
+ +
) } diff --git a/src/components/Layout/layout.scss b/src/components/Layout/layout.scss index a868107..5b224f1 100644 --- a/src/components/Layout/layout.scss +++ b/src/components/Layout/layout.scss @@ -1,7 +1,8 @@ // @import "~prismjs/themes/prism-tomorrow.css"; html { - font-family: sans-serif; + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, + sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } @@ -37,106 +38,3 @@ body { padding-left: 2.8em; overflow: initial; } - -h1 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 2.25rem; - line-height: 1.1; -} -h2 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1.62671rem; - line-height: 1.1; -} -h3 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1.38316rem; - line-height: 1.1; -} -h4 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1rem; - line-height: 1.1; -} -h5 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 0.85028rem; - line-height: 1.1; -} -h6 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 0.78405rem; - line-height: 1.1; -} diff --git a/src/components/Layout/styles.tsx b/src/components/Layout/styles.tsx index ce77c09..5bc63b3 100644 --- a/src/components/Layout/styles.tsx +++ b/src/components/Layout/styles.tsx @@ -1,5 +1,19 @@ -import styled from "styled-components"; +import styled from "styled-components" + +export const Main = styled.div` + display: flex; + margin: 128px auto 64px !important; + width: 100%; +` export const MainContent = styled.main` - padding: 2.5em 0; -`; + flex: 1 0 auto; + + & > :first-child { + margin-top: 0; + } + + & > :last-child { + margin-bottom: 0; + } +` diff --git a/src/components/Sidebar/index.tsx b/src/components/Sidebar/index.tsx new file mode 100644 index 0000000..d30938c --- /dev/null +++ b/src/components/Sidebar/index.tsx @@ -0,0 +1,31 @@ +import React from "react" +import logo from "../../images/tph-logo.png" +import * as SC from "./styles" +import ArrowRight from "../../icons/arrow-right.svg" + +function MenuItem({ children }: { children: React.ReactNode }) { + return ( + + {children} + + ) +} + +const Sidebar = () => { + return ( + + + + + about + rules + faq + hotbot + documentation + tech spotlight + + + ) +} + +export default Sidebar diff --git a/src/components/Sidebar/styles.tsx b/src/components/Sidebar/styles.tsx new file mode 100644 index 0000000..fd9488d --- /dev/null +++ b/src/components/Sidebar/styles.tsx @@ -0,0 +1,29 @@ +import styled from "styled-components" + +export const SidebarWrapper = styled.aside` + width: 200px; +` + +export const Logo = styled.img` + width: 122px; +` + +export const Menu = styled.nav` + margin-top: 16px; +` + +export const MenuItem = styled.div` + display: flex; + align-items: center; + font-size: 22px; + + & + & { + margin-top: 8px; + } + + svg { + margin-left: 6px; + width: 8px; + height: 15px; + } +` diff --git a/src/icons/arrow-right.svg b/src/icons/arrow-right.svg new file mode 100644 index 0000000..d84390b --- /dev/null +++ b/src/icons/arrow-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/images/tph-logo.png b/src/images/tph-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a30f36354c25495cd3858fc3a1ce7ca7bf441e48 GIT binary patch literal 12232 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 literal 0 HcmV?d00001 diff --git a/typings.d.ts b/typings.d.ts new file mode 100644 index 0000000..677e3d5 --- /dev/null +++ b/typings.d.ts @@ -0,0 +1 @@ +declare module "*.svg"