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 fff5c21..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",
@@ -6295,7 +6313,8 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -6313,11 +6332,13 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6330,15 +6351,18 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -6441,7 +6465,8 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -6451,6 +6476,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -6463,17 +6489,20 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -6490,6 +6519,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -6562,7 +6592,8 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -6572,6 +6603,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -6647,7 +6679,8 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -6677,6 +6710,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -6694,6 +6728,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -6732,11 +6767,13 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
}
}
},
@@ -7288,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",
@@ -8736,12 +8781,14 @@
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "optional": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "optional": true
},
"slice-ansi": {
"version": "1.0.0",
@@ -8767,6 +8814,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "optional": true,
"requires": {
"ansi-regex": "^4.1.0"
}
@@ -9864,7 +9912,8 @@
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "optional": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -9887,6 +9936,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "optional": true,
"requires": {
"ansi-regex": "^4.1.0"
}
@@ -12710,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",
@@ -13549,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",
@@ -15071,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",
@@ -15446,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}
-
+
+
)
}
diff --git a/src/components/Layout/layout.scss b/src/components/Layout/layout.scss
index 0536a75..e033dcd 100644
--- a/src/components/Layout/layout.scss
+++ b/src/components/Layout/layout.scss
@@ -1,7 +1,8 @@
// TODO: refactor this into styled components
html {
- font-family: 'Lato', 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,4 +38,4 @@ body {
padding: 0;
padding-left: 2.8em;
overflow: initial;
-}
\ No newline at end of file
+}
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/Navbar/index.tsx b/src/components/Navbar/index.tsx
deleted file mode 100644
index f391816..0000000
--- a/src/components/Navbar/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import {Link} from "gatsby";
-import React from "react";
-import icon from "./icon.png";
-import {NavbarWrapper, NavbarItems} from "./styles";
-
-const Navbar = ({siteTitle = ""}) => (
-
-
- {/*
*/}
-
-
- {siteTitle}
-
-
-
-
-
-
-
-
-)
-
-export default Navbar;
diff --git a/src/components/Navbar/styles.tsx b/src/components/Navbar/styles.tsx
deleted file mode 100644
index 37dd501..0000000
--- a/src/components/Navbar/styles.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import styled from "styled-components";
-
-export const NavbarWrapper = styled.header`
- background: #ba1a2e;
- marginBottom: 1.45rem;
- padding: 1.3rem;
- display: flex;
- justify-content: space-between;
-`;
-
-export const NavbarItems = styled.div`
- display: flex;
- flex-direction: row;
- align-items: center;
-`
\ No newline at end of file
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 (
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+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 0000000..a30f363
Binary files /dev/null and b/src/images/tph-logo.png differ
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"