From 2cbbeab97b4ca61904dfd6524807b4567722f319 Mon Sep 17 00:00:00 2001 From: Karol Wypchlo Date: Tue, 23 Mar 2021 13:07:19 +0100 Subject: [PATCH 001/130] initial homepage commit --- docker-compose.yml | 17 + packages/website/.gitignore | 73 + packages/website/.prettierignore | 4 + packages/website/.prettierrc | 3 + packages/website/.storybook/main.js | 49 + packages/website/.storybook/preview.js | 55 + packages/website/.storybook/tailwind.css | 3 + packages/website/Dockerfile | 20 + packages/website/gatsby-browser.js | 13 + packages/website/gatsby-config.js | 38 + packages/website/gatsby-node.js | 7 + packages/website/gatsby-ssr.js | 7 + packages/website/package.json | 70 + packages/website/postcss.config.js | 3 + .../CommunitySection/CommunitySection.js | 104 + .../CommunitySection.stories.js | 13 + .../src/components/CommunitySection/index.js | 1 + .../website/src/components/Footer/Footer.js | 32 + .../src/components/Footer/Footer.stories.js | 13 + .../FooterNavigation/FooterNavigation.js | 95 + .../FooterNavigation.stories.js | 13 + .../components/HeroStartPage/HeroStartPage.js | 29 + .../HeroStartPage/HeroStartPage.stories.js | 15 + .../src/components/Icons/ArrowRight.svg | 21 + .../components/Icons/ArrowRightPrimary.svg | 17 + .../src/components/Icons/CheckActive.svg | 13 + .../src/components/Icons/DiscordSmall.svg | 19 + .../components/Icons/DiscordSmallWhite.svg | 19 + .../src/components/Icons/LogoBlackText.svg | 19 + .../src/components/Icons/LogoWhiteText.svg | 19 + .../src/components/Icons/MediumSmall.svg | 20 + .../src/components/Icons/MenuMobile.svg | 13 + .../src/components/Icons/MenuMobileClose.svg | 9 + .../src/components/Icons/RedditSmall.svg | 20 + .../Icons/SkynetMonetizationSmall.svg | 34 + .../Icons/SkynetPersistenceSmall.svg | 26 + .../src/components/Icons/SkynetPowerBig.svg | 35 + .../src/components/Icons/SkynetSiaSmall.svg | 25 + .../src/components/Icons/SkynetSpeedSmall.svg | 27 + .../src/components/Icons/SkynetToolBig.svg | 31 + .../src/components/Icons/SkynetUsageSmall.svg | 30 + .../src/components/Icons/SkynetUserBig.svg | 37 + .../src/components/Icons/TikTokSmall.svg | 20 + .../src/components/Icons/TwitterSmall.svg | 20 + .../src/components/Icons/YoutubeSmall.svg | 20 + .../website/src/components/Icons/index.js | 22 + .../website/src/components/Layout/Layout.js | 58 + .../src/components/Navigation/Navigation.js | 130 + .../Navigation/Navigation.stories.js | 32 + .../src/components/NewsHeader/NewsHeader.js | 41 + .../NewsHeader/NewsHeader.stories.js | 13 + packages/website/src/components/header.js | 180 + packages/website/src/components/seo.js | 89 + .../website/src/images/gatsby-astronaut.png | Bin 0 -> 167273 bytes packages/website/src/images/gatsby-icon.png | Bin 0 -> 21212 bytes packages/website/src/images/ripple.png | Bin 0 -> 997754 bytes packages/website/src/pages/404.js | 14 + packages/website/src/pages/about.js | 14 + packages/website/src/pages/index.js | 136 + .../website/src/pages/using-typescript.tsx | 45 + packages/website/src/styles/global.css | 3 + packages/website/stories/Button.js | 50 + packages/website/stories/Button.stories.js | 36 + packages/website/stories/Header.js | 52 + packages/website/stories/Header.stories.js | 18 + .../website/stories/Introduction.stories.mdx | 211 + packages/website/stories/Page.js | 71 + packages/website/stories/Page.stories.js | 21 + .../website/stories/assets/code-brackets.svg | 1 + packages/website/stories/assets/colors.svg | 1 + packages/website/stories/assets/comments.svg | 1 + packages/website/stories/assets/direction.svg | 1 + packages/website/stories/assets/flow.svg | 1 + packages/website/stories/assets/plugin.svg | 1 + packages/website/stories/assets/repo.svg | 1 + packages/website/stories/assets/stackalt.svg | 1 + packages/website/stories/button.css | 30 + packages/website/stories/header.css | 26 + packages/website/stories/page.css | 69 + packages/website/tailwind.config.js | 58 + yarn.lock | 7146 +++++++++++++++-- 81 files changed, 9182 insertions(+), 562 deletions(-) create mode 100644 packages/website/.gitignore create mode 100644 packages/website/.prettierignore create mode 100644 packages/website/.prettierrc create mode 100644 packages/website/.storybook/main.js create mode 100644 packages/website/.storybook/preview.js create mode 100644 packages/website/.storybook/tailwind.css create mode 100644 packages/website/Dockerfile create mode 100644 packages/website/gatsby-browser.js create mode 100644 packages/website/gatsby-config.js create mode 100644 packages/website/gatsby-node.js create mode 100644 packages/website/gatsby-ssr.js create mode 100644 packages/website/package.json create mode 100644 packages/website/postcss.config.js create mode 100644 packages/website/src/components/CommunitySection/CommunitySection.js create mode 100644 packages/website/src/components/CommunitySection/CommunitySection.stories.js create mode 100644 packages/website/src/components/CommunitySection/index.js create mode 100644 packages/website/src/components/Footer/Footer.js create mode 100644 packages/website/src/components/Footer/Footer.stories.js create mode 100644 packages/website/src/components/FooterNavigation/FooterNavigation.js create mode 100644 packages/website/src/components/FooterNavigation/FooterNavigation.stories.js create mode 100644 packages/website/src/components/HeroStartPage/HeroStartPage.js create mode 100644 packages/website/src/components/HeroStartPage/HeroStartPage.stories.js create mode 100644 packages/website/src/components/Icons/ArrowRight.svg create mode 100644 packages/website/src/components/Icons/ArrowRightPrimary.svg create mode 100644 packages/website/src/components/Icons/CheckActive.svg create mode 100644 packages/website/src/components/Icons/DiscordSmall.svg create mode 100644 packages/website/src/components/Icons/DiscordSmallWhite.svg create mode 100644 packages/website/src/components/Icons/LogoBlackText.svg create mode 100644 packages/website/src/components/Icons/LogoWhiteText.svg create mode 100644 packages/website/src/components/Icons/MediumSmall.svg create mode 100644 packages/website/src/components/Icons/MenuMobile.svg create mode 100644 packages/website/src/components/Icons/MenuMobileClose.svg create mode 100644 packages/website/src/components/Icons/RedditSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetMonetizationSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetPersistenceSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetPowerBig.svg create mode 100644 packages/website/src/components/Icons/SkynetSiaSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetSpeedSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetToolBig.svg create mode 100644 packages/website/src/components/Icons/SkynetUsageSmall.svg create mode 100644 packages/website/src/components/Icons/SkynetUserBig.svg create mode 100644 packages/website/src/components/Icons/TikTokSmall.svg create mode 100644 packages/website/src/components/Icons/TwitterSmall.svg create mode 100644 packages/website/src/components/Icons/YoutubeSmall.svg create mode 100644 packages/website/src/components/Icons/index.js create mode 100644 packages/website/src/components/Layout/Layout.js create mode 100644 packages/website/src/components/Navigation/Navigation.js create mode 100644 packages/website/src/components/Navigation/Navigation.stories.js create mode 100644 packages/website/src/components/NewsHeader/NewsHeader.js create mode 100644 packages/website/src/components/NewsHeader/NewsHeader.stories.js create mode 100644 packages/website/src/components/header.js create mode 100644 packages/website/src/components/seo.js create mode 100644 packages/website/src/images/gatsby-astronaut.png create mode 100644 packages/website/src/images/gatsby-icon.png create mode 100644 packages/website/src/images/ripple.png create mode 100644 packages/website/src/pages/404.js create mode 100644 packages/website/src/pages/about.js create mode 100644 packages/website/src/pages/index.js create mode 100644 packages/website/src/pages/using-typescript.tsx create mode 100644 packages/website/src/styles/global.css create mode 100644 packages/website/stories/Button.js create mode 100644 packages/website/stories/Button.stories.js create mode 100644 packages/website/stories/Header.js create mode 100644 packages/website/stories/Header.stories.js create mode 100644 packages/website/stories/Introduction.stories.mdx create mode 100644 packages/website/stories/Page.js create mode 100644 packages/website/stories/Page.stories.js create mode 100644 packages/website/stories/assets/code-brackets.svg create mode 100644 packages/website/stories/assets/colors.svg create mode 100644 packages/website/stories/assets/comments.svg create mode 100644 packages/website/stories/assets/direction.svg create mode 100644 packages/website/stories/assets/flow.svg create mode 100644 packages/website/stories/assets/plugin.svg create mode 100644 packages/website/stories/assets/repo.svg create mode 100644 packages/website/stories/assets/stackalt.svg create mode 100644 packages/website/stories/button.css create mode 100644 packages/website/stories/header.css create mode 100644 packages/website/stories/page.css create mode 100644 packages/website/tailwind.config.js diff --git a/docker-compose.yml b/docker-compose.yml index 12597890..1933d19f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -98,6 +98,23 @@ services: volumes: - webapp:/usr/app/public + website: + build: + context: ./packages/website + dockerfile: Dockerfile + container_name: website + restart: unless-stopped + logging: *default-logging + env_file: + - .env + volumes: + - ./docker/data/website/.cache:/usr/app/.cache + networks: + shared: + ipv4_address: 10.10.10.100 + expose: + - 3000 + handshake: build: context: ./docker/handshake diff --git a/packages/website/.gitignore b/packages/website/.gitignore new file mode 100644 index 00000000..6e51663b --- /dev/null +++ b/packages/website/.gitignore @@ -0,0 +1,73 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js + +# Yarn Integrity file +.yarn-integrity + +# Npm +package-lock.json diff --git a/packages/website/.prettierignore b/packages/website/.prettierignore new file mode 100644 index 00000000..58d06c36 --- /dev/null +++ b/packages/website/.prettierignore @@ -0,0 +1,4 @@ +.cache +package.json +package-lock.json +public diff --git a/packages/website/.prettierrc b/packages/website/.prettierrc new file mode 100644 index 00000000..963354f2 --- /dev/null +++ b/packages/website/.prettierrc @@ -0,0 +1,3 @@ +{ + "printWidth": 120 +} diff --git a/packages/website/.storybook/main.js b/packages/website/.storybook/main.js new file mode 100644 index 00000000..87c9efb4 --- /dev/null +++ b/packages/website/.storybook/main.js @@ -0,0 +1,49 @@ +module.exports = { + stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + { + name: "@storybook/addon-postcss", + options: { + postcssLoaderOptions: { + implementation: require("postcss"), + }, + }, + }, + ], + webpackFinal: async (config) => { + // Transpile Gatsby module because Gatsby includes un-transpiled ES6 code. + config.module.rules[0].exclude = [/node_modules\/(?!(gatsby)\/)/]; + // use installed babel-loader which is v8.0-beta (which is meant to work with @babel/core@7) + config.module.rules[0].use[0].loader = require.resolve("babel-loader"); + // use @babel/preset-react for JSX and env (instead of staged presets) + config.module.rules[0].use[0].options.presets = [ + require.resolve("@babel/preset-react"), + require.resolve("@babel/preset-env"), + ]; + config.module.rules[0].use[0].options.plugins = [ + // use @babel/plugin-proposal-class-properties for class arrow functions + require.resolve("@babel/plugin-proposal-class-properties"), + // use babel-plugin-remove-graphql-queries to remove static queries from components when rendering in storybook + require.resolve("babel-plugin-remove-graphql-queries"), + ]; + + // implement svg import support + config.module.rules.find((rule) => rule.test && rule.test.test(".svg")).exclude = /\.svg$/; + config.module.rules.push({ + test: /\.svg$/, + enforce: "pre", + use: [ + { + loader: require.resolve("react-svg-loader"), + options: { svgo: { plugins: [{ removeViewBox: false }] } }, + }, + ], + }); + + // Prefer Gatsby ES6 entrypoint (module) over commonjs (main) entrypoint + config.resolve.mainFields = ["browser", "module", "main"]; + return config; + }, +}; diff --git a/packages/website/.storybook/preview.js b/packages/website/.storybook/preview.js new file mode 100644 index 00000000..35bbd504 --- /dev/null +++ b/packages/website/.storybook/preview.js @@ -0,0 +1,55 @@ +import { action } from "@storybook/addon-actions"; +import "normalize.css"; +import "@fontsource/sora"; +import "@fontsource/source-sans-pro"; +import "./tailwind.css"; + +// Gatsby's Link overrides: +// Gatsby Link calls the `enqueue` & `hovering` methods on the global variable ___loader. +// This global object isn't set in storybook context, requiring you to override it to empty functions (no-op), +// so Gatsby Link doesn't throw any errors. +global.___loader = { + enqueue: () => {}, + hovering: () => {}, +}; +// This global variable is prevents the "__BASE_PATH__ is not defined" error inside Storybook. +global.__BASE_PATH__ = "/"; + +// Navigating through a gatsby app using gatsby-link or any other gatsby component will use the `___navigate` method. +// In Storybook it makes more sense to log an action than doing an actual navigate. Checkout the actions addon docs for more info: https://github.com/storybookjs/storybook/tree/master/addons/actions. + +window.___navigate = (pathname) => { + action("NavigateTo:")(pathname); +}; + +export const parameters = { + actions: { argTypesRegex: "^on[A-Z].*" }, + layout: "fullscreen", + viewport: { + viewports: { + mobile: { + name: "Mobile", + styles: { + height: "667px", + width: "375px", + }, + type: "mobile", + }, + tablet: { + name: "Tablet", + styles: { + height: "1366px", + width: "1024px", + }, + type: "tablet", + }, + }, + }, + backgrounds: { + default: "light", + values: [ + { name: "dark", value: "#0d0d0d" }, + { name: "light", value: "#ffffff" }, + ], + }, +}; diff --git a/packages/website/.storybook/tailwind.css b/packages/website/.storybook/tailwind.css new file mode 100644 index 00000000..76fcadcc --- /dev/null +++ b/packages/website/.storybook/tailwind.css @@ -0,0 +1,3 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/packages/website/Dockerfile b/packages/website/Dockerfile new file mode 100644 index 00000000..8bb60cdc --- /dev/null +++ b/packages/website/Dockerfile @@ -0,0 +1,20 @@ +FROM node:15.12.0-alpine + +RUN apk update && apk add autoconf automake build-base libtool nasm pkgconfig + +WORKDIR /usr/app + +COPY package.json . + +ENV GATSBY_TELEMETRY_DISABLED 1 +RUN yarn --no-lockfile --production + +COPY src ./src +COPY gatsby-browser.js . +COPY gatsby-config.js . +COPY gatsby-node.js . +COPY gatsby-ssr.js . +COPY postcss.config.js . +COPY tailwind.config.js . + +CMD ["sh", "-c", "yarn build && yarn serve"] diff --git a/packages/website/gatsby-browser.js b/packages/website/gatsby-browser.js new file mode 100644 index 00000000..df7ef48d --- /dev/null +++ b/packages/website/gatsby-browser.js @@ -0,0 +1,13 @@ +/** + * Implement Gatsby's Browser APIs in this file. + * + * See: https://www.gatsbyjs.com/docs/browser-apis/ + */ + +import "normalize.css"; +import "@fontsource/sora/300.css"; // light +import "@fontsource/sora/400.css"; // normal +import "@fontsource/sora/500.css"; // medium +import "@fontsource/sora/600.css"; // semibold +import "@fontsource/source-sans-pro/400.css"; // normal +import "./src/styles/global.css"; diff --git a/packages/website/gatsby-config.js b/packages/website/gatsby-config.js new file mode 100644 index 00000000..e41f6d9a --- /dev/null +++ b/packages/website/gatsby-config.js @@ -0,0 +1,38 @@ +module.exports = { + siteMetadata: { + title: `Gatsby Default Starter`, + description: `Kick off your next, great Gatsby project with this default starter. This barebones starter ships with the main Gatsby configuration files you might need.`, + author: `@gatsbyjs`, + }, + plugins: [ + `gatsby-plugin-react-helmet`, + `gatsby-plugin-image`, + { + resolve: `gatsby-source-filesystem`, + options: { + name: `images`, + path: `${__dirname}/src/images`, + }, + }, + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + `gatsby-plugin-react-svg`, + { + resolve: `gatsby-plugin-manifest`, + options: { + name: `gatsby-starter-default`, + short_name: `starter`, + start_url: `/`, + background_color: `#663399`, + theme_color: `#663399`, + display: `minimal-ui`, + icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site. + }, + }, + `gatsby-plugin-gatsby-cloud`, + `gatsby-plugin-postcss`, + // this (optional) plugin enables Progressive Web App + Offline functionality + // To learn more, visit: https://gatsby.dev/offline + // `gatsby-plugin-offline`, + ], +} diff --git a/packages/website/gatsby-node.js b/packages/website/gatsby-node.js new file mode 100644 index 00000000..6d4a90e7 --- /dev/null +++ b/packages/website/gatsby-node.js @@ -0,0 +1,7 @@ +/** + * Implement Gatsby's Node APIs in this file. + * + * See: https://www.gatsbyjs.com/docs/node-apis/ + */ + +// You can delete this file if you're not using it diff --git a/packages/website/gatsby-ssr.js b/packages/website/gatsby-ssr.js new file mode 100644 index 00000000..01d83255 --- /dev/null +++ b/packages/website/gatsby-ssr.js @@ -0,0 +1,7 @@ +/** + * Implement Gatsby's SSR (Server Side Rendering) APIs in this file. + * + * See: https://www.gatsbyjs.com/docs/ssr-apis/ + */ + +// You can delete this file if you're not using it diff --git a/packages/website/package.json b/packages/website/package.json new file mode 100644 index 00000000..dd230970 --- /dev/null +++ b/packages/website/package.json @@ -0,0 +1,70 @@ +{ + "name": "website", + "private": true, + "description": "Skynet Labs official website", + "version": "0.1.0", + "author": "Skynet Labs Inc.", + "dependencies": { + "@fontsource/sora": "^4.2.2", + "@fontsource/source-sans-pro": "^4.2.2", + "@svgr/webpack": "^5.5.0", + "autoprefixer": "^10.2.5", + "classnames": "^2.2.6", + "gatsby": "^3.0.1", + "gatsby-background-image": "^1.5.0", + "gatsby-plugin-gatsby-cloud": "^2.0.0", + "gatsby-plugin-image": "^1.0.0", + "gatsby-plugin-manifest": "^3.0.0", + "gatsby-plugin-offline": "^4.0.0", + "gatsby-plugin-postcss": "^4.0.0", + "gatsby-plugin-purgecss": "^6.0.0", + "gatsby-plugin-react-helmet": "^4.0.0", + "gatsby-plugin-react-svg": "^3.0.0", + "gatsby-plugin-sharp": "^3.0.0", + "gatsby-source-filesystem": "^3.0.0", + "gatsby-transformer-sharp": "^3.0.0", + "normalize.css": "^8.0.1", + "postcss": "^8.2.8", + "preact-svg-loader": "^0.2.1", + "prop-types": "^15.7.2", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "react-helmet": "^6.1.0", + "react-svg-loader": "^3.0.3", + "tailwindcss": "^2.0.3" + }, + "devDependencies": { + "@babel/core": "^7.13.10", + "@storybook/addon-actions": "^6.2.0-rc.2", + "@storybook/addon-essentials": "^6.2.0-rc.2", + "@storybook/addon-links": "^6.2.0-rc.2", + "@storybook/addon-postcss": "^2.0.0", + "@storybook/addon-viewport": "^6.2.0-rc.2", + "@storybook/react": "^6.2.0-rc.2", + "babel-loader": "^8.2.2", + "babel-plugin-inline-react-svg": "^2.0.1", + "prettier": "2.2.1" + }, + "keywords": [ + "gatsby" + ], + "license": "SEE LICENSE IN LICENSE.md", + "scripts": { + "build": "gatsby build", + "develop": "gatsby develop", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", + "start": "npm run develop", + "serve": "gatsby serve", + "clean": "gatsby clean", + "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1", + "storybook": "start-storybook -p 6006", + "build-storybook": "build-storybook" + }, + "repository": { + "type": "git", + "url": "https://github.com/NebulousLabs/skynet-webportal" + }, + "bugs": { + "url": "https://github.com/NebulousLabs/skynet-webportal/issues" + } +} diff --git a/packages/website/postcss.config.js b/packages/website/postcss.config.js new file mode 100644 index 00000000..edc8f1ad --- /dev/null +++ b/packages/website/postcss.config.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [require("autoprefixer"), require("tailwindcss")], +}; diff --git a/packages/website/src/components/CommunitySection/CommunitySection.js b/packages/website/src/components/CommunitySection/CommunitySection.js new file mode 100644 index 00000000..9a042644 --- /dev/null +++ b/packages/website/src/components/CommunitySection/CommunitySection.js @@ -0,0 +1,104 @@ +import * as React from "react"; +import classnames from "classnames"; +import { + ArrowRight, + CheckActive, + DiscordSmall, + TwitterSmall, + RedditSmall, + MediumSmall, + YoutubeSmall, + TikTokSmall, +} from "../../components/Icons"; + +const social = [ + { name: "Discord", Icon: DiscordSmall, href: "https://discordapp.com/invite/sia" }, + { name: "Twitter", Icon: TwitterSmall, href: "/" }, + { name: "Reddit", Icon: RedditSmall, href: "/" }, + { name: "Medium", Icon: MediumSmall, href: "/" }, + { name: "Youtube", Icon: YoutubeSmall, href: "/" }, + { name: "Tik Tok", Icon: TikTokSmall, href: "/" }, +]; + +const SectionHeader = ({ children }) =>

{children}

; +const SectionTitle = ({ children }) => ( +

{children}

+); + +const CommunitySection = () => { + const [experienced, setExperienced] = React.useState(false); + const [email, setEmail] = React.useState(""); + const onSubscribe = (event) => { + event.preventDefault(); + + alert(`this will subscribe ${email} for a newsletter`); + + setEmail(""); + }; + + return ( +
+
+ Newsletter + Stay up to date + +
+ +
+ setEmail(event.target.value)} + /> + +
+ +
+ + + +
+
+
+ +
+ Community + Join our community +
+ {social.map(({ name, Icon, href }) => ( + + + {name} + + ))} +
+
+
+ ); +}; + +CommunitySection.propTypes = {}; + +CommunitySection.defaultProps = {}; + +export default CommunitySection; diff --git a/packages/website/src/components/CommunitySection/CommunitySection.stories.js b/packages/website/src/components/CommunitySection/CommunitySection.stories.js new file mode 100644 index 00000000..1aaf8dd9 --- /dev/null +++ b/packages/website/src/components/CommunitySection/CommunitySection.stories.js @@ -0,0 +1,13 @@ +import React from "react"; +import CommunitySection from "./CommunitySection"; + +export default { + title: "Layout/CommunitySection", + component: CommunitySection, +}; + +const Template = (args) => ; + +export const Default = Template.bind({}); +Default.parameters = {}; +Default.args = {}; diff --git a/packages/website/src/components/CommunitySection/index.js b/packages/website/src/components/CommunitySection/index.js new file mode 100644 index 00000000..0fb51c0b --- /dev/null +++ b/packages/website/src/components/CommunitySection/index.js @@ -0,0 +1 @@ +export { default } from "./CommunitySection"; diff --git a/packages/website/src/components/Footer/Footer.js b/packages/website/src/components/Footer/Footer.js new file mode 100644 index 00000000..2cd5038d --- /dev/null +++ b/packages/website/src/components/Footer/Footer.js @@ -0,0 +1,32 @@ +import * as React from "react"; +import LogoWhiteText from "../Icons/LogoWhiteText.svg"; + +const Footer = () => { + return ( +
+
+
+
+ + + 2021 Skynet Labs Inc. | All rights reserved + +
+ + + hello@siasky.net + +
+
+
+ ); +}; + +Footer.propTypes = {}; + +Footer.defaultProps = {}; + +export default Footer; diff --git a/packages/website/src/components/Footer/Footer.stories.js b/packages/website/src/components/Footer/Footer.stories.js new file mode 100644 index 00000000..9f84cd60 --- /dev/null +++ b/packages/website/src/components/Footer/Footer.stories.js @@ -0,0 +1,13 @@ +import React from "react"; +import Footer from "./Footer"; + +export default { + title: "Layout/Footer", + component: Footer, +}; + +const Template = (args) =>