From 9d01ffb27493085ee2a7f8e24f1908b332a34e76 Mon Sep 17 00:00:00 2001 From: Himanshu Aggarwal <aggarwah@mcmaster.ca> Date: Sat, 19 Feb 2022 13:59:13 -0500 Subject: [PATCH] Add container, heading and basic search input --- .../components/content/Container.js | 11 +++++++++++ src/cryptometrics/components/content/Main.js | 11 +++++++++++ .../components/inputs/SearchInput.js | 19 +++++++++++++++++++ .../components/titles/BoldGradientHeading.js | 11 +++++++++++ src/cryptometrics/pages/index.js | 15 ++++++++++++--- 5 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 src/cryptometrics/components/content/Container.js create mode 100644 src/cryptometrics/components/content/Main.js create mode 100644 src/cryptometrics/components/inputs/SearchInput.js create mode 100644 src/cryptometrics/components/titles/BoldGradientHeading.js diff --git a/src/cryptometrics/components/content/Container.js b/src/cryptometrics/components/content/Container.js new file mode 100644 index 0000000..b267876 --- /dev/null +++ b/src/cryptometrics/components/content/Container.js @@ -0,0 +1,11 @@ +import React from "react"; + +function Container(props) { + return ( + <div className="container mx-auto pt-8 p-2 sm:p-8 md:p-16"> + {props.children} + </div> + ); +} + +export default Container; diff --git a/src/cryptometrics/components/content/Main.js b/src/cryptometrics/components/content/Main.js new file mode 100644 index 0000000..0dce157 --- /dev/null +++ b/src/cryptometrics/components/content/Main.js @@ -0,0 +1,11 @@ +import React from "react"; + +function Main(props) { + return ( + <main className="flex flex-col flex-auto overflow-auto min-h-screen pl-0 transition-[padding] duration-200 dark:bg-dark-800"> + {props.children} + </main> + ); +} + +export default Main; diff --git a/src/cryptometrics/components/inputs/SearchInput.js b/src/cryptometrics/components/inputs/SearchInput.js new file mode 100644 index 0000000..32731bf --- /dev/null +++ b/src/cryptometrics/components/inputs/SearchInput.js @@ -0,0 +1,19 @@ +import React from "react"; +import { SearchIcon } from "@heroicons/react/outline"; + +function SearchInput() { + return ( + <div className="relative"> + <input + className="w-52 h-12 text-base font-semibold outline-none dark:text-white px-3 pr-10 rounded-2xl bg-dark-700" + placeholder="Search" + type="text" + ></input> + <button className="absolute top-0 right-3 bottom-0 w-6"> + <SearchIcon className="w-6 h-6 dark:text-white" /> + </button> + </div> + ); +} + +export default SearchInput; diff --git a/src/cryptometrics/components/titles/BoldGradientHeading.js b/src/cryptometrics/components/titles/BoldGradientHeading.js new file mode 100644 index 0000000..3a630ca --- /dev/null +++ b/src/cryptometrics/components/titles/BoldGradientHeading.js @@ -0,0 +1,11 @@ +import React from "react"; + +function BoldGradientHeading({ children }) { + return ( + <h1 className="text-4xl font-extrabold font-poppins text-transparent bg-clip-text bg-gradient-to-r from-indigo-500 to-blue-500"> + {children} + </h1> + ); +} + +export default BoldGradientHeading; diff --git a/src/cryptometrics/pages/index.js b/src/cryptometrics/pages/index.js index 0c3d620..0d03c27 100644 --- a/src/cryptometrics/pages/index.js +++ b/src/cryptometrics/pages/index.js @@ -1,4 +1,8 @@ import Head from "next/head"; +import Container from "../components/content/Container"; +import Main from "../components/content/Main"; +import SearchInput from "../components/inputs/SearchInput"; +import BoldGradientHeading from "../components/titles/BoldGradientHeading"; export default function Home() { return ( @@ -8,9 +12,14 @@ export default function Home() { <meta name="description" content="CryptoMetrics" /> <link rel="icon" href="/favicon.ico" /> </Head> - <div className="text-4xl font-extrabold text-center mt-5"> - CryptoMetrics - </div> + <Main> + <Container> + <div className="flex flex-row justify-between"> + <BoldGradientHeading>CryptoMetrics</BoldGradientHeading> + <SearchInput /> + </div> + </Container> + </Main> </div> ); } -- GitLab