diff --git a/README.md b/README.md index bab96f9..3813c7e 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ - `npm run deploy` +## Email forwarding + +https://formsubmit.co/ + ## Roadmap - Add Projects diff --git a/content/assets/discoball.mp4 b/content/assets/discoball.mp4 new file mode 100644 index 0000000..a9b42d5 Binary files /dev/null and b/content/assets/discoball.mp4 differ diff --git a/new-blog.sh b/new-blog.sh deleted file mode 100644 index e144ead..0000000 --- a/new-blog.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# Create new Blog dir and template Markdown - -# first var is date -echo $1 - -# second var is title -echo $2 - -IFS='-' read -r -a array <<< $1 - - -if [ -d "./content/blog/${array[0]}" ]; then - echo 'creating dir' - mkdir -p "./content/blog/${array[0]}/$1-$2" && cd "$_" - touch index.md - { - echo '---' - echo "title: $2" - echo "date: '$1'" - echo 'description: ""' - echo 'published: true' - echo '---' - echo '' - echo "## $2" - } >> index.md -else - # mkdir - echo 'dfssdfds' -fi diff --git a/package-lock.json b/package-lock.json index c1304e2..01ae1bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18608,6 +18608,11 @@ } } }, + "react-hook-form": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.17.0.tgz", + "integrity": "sha512-hA6cbLxycyTRVL585jofNesc1sPtxn2GB1/KCV0P8lnmwzPmqhMxqbuX5TtTdTcBItf3grawfllkg1cv1iDMtQ==" + }, "react-hot-loader": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", @@ -18645,6 +18650,14 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-particles-js": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/react-particles-js/-/react-particles-js-3.5.3.tgz", + "integrity": "sha512-e9GWBT51WDtPkcaSy0ZLUAT93lBzDvuqrfW81NOf6G69XSurgCtVy4+ZYpUCnLhZgkokzsjrhtVOSj1FxPVyEw==", + "requires": { + "lodash": "^4.17.11" + } + }, "react-refresh": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", diff --git a/package.json b/package.json index 7e114bd..96c4b1d 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,9 @@ "react": "^16.8.6", "react-dom": "^16.8.6", "react-helmet": "^5.2.0", + "react-hook-form": "^7.17.0", "react-icons": "^4.2.0", + "react-particles-js": "^3.5.3", "react-typography": "^0.16.19", "styled-components": "^4.2.0", "ts-node": "^8.1.0", diff --git a/src/components/About.tsx b/src/components/About.tsx new file mode 100644 index 0000000..c1099aa --- /dev/null +++ b/src/components/About.tsx @@ -0,0 +1,12 @@ +import { Box, Text } from "@chakra-ui/react" +import * as React from "react" + +const About = () => { + return ( + + About us + + ) +} + +export default About diff --git a/src/components/Brands/BrandLogos.tsx b/src/components/Brands/BrandLogos.tsx new file mode 100644 index 0000000..d27ad82 --- /dev/null +++ b/src/components/Brands/BrandLogos.tsx @@ -0,0 +1,84 @@ +import { chakra, HTMLChakraProps } from "@chakra-ui/react" +import * as React from "react" + +export const Finnik = (props: HTMLChakraProps<"svg">) => ( + + + +) + +export const WorkScout = (props: HTMLChakraProps<"svg">) => ( + + + + +) + +export const ChatMonkey = (props: HTMLChakraProps<"svg">) => ( + + + + +) + +export const Plumtic = (props: HTMLChakraProps<"svg">) => ( + + + + + +) + +export const Lighthouse = (props: HTMLChakraProps<"svg">) => ( + + + + +) + +export const Wakanda = (props: HTMLChakraProps<"svg">) => ( + + + + +) diff --git a/src/components/Brands/index.tsx b/src/components/Brands/index.tsx new file mode 100644 index 0000000..6177b28 --- /dev/null +++ b/src/components/Brands/index.tsx @@ -0,0 +1,82 @@ +import { + Box, + Center, + Heading, + SimpleGrid, + useColorModeValue as mode, +} from "@chakra-ui/react" +import * as React from "react" +import * as Logo from "./BrandLogos" + +const Brands = () => { + return ( + + + + Our Clients + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ ) +} + +export default Brands diff --git a/src/components/Contact.tsx b/src/components/Contact.tsx new file mode 100644 index 0000000..788ba38 --- /dev/null +++ b/src/components/Contact.tsx @@ -0,0 +1,150 @@ +import * as React from "react" +import { + Box, + Button, + Container, + FormControl, + FormLabel, + Heading, + Input, + Flex, + Stack, + Switch, + Text, + Textarea, + Center, +} from "@chakra-ui/react" +import { useForm } from "react-hook-form" + +const SubmittedForm = () => ( + + completed! + +) + +const Contact = () => { + const [isLoading, setIsLoading] = React.useState(false) + const [isFormCompleted, setIsFormCompleted] = React.useState(false) + const { register, handleSubmit } = useForm() + const onSubmit = async (values: any) => { + try { + console.log(values) + setIsLoading(true) + const requestOptions = { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(values), + } + await fetch( + "https://formsubmit.co/bcb664b54388c8ea18272061a94e6ff9", + requestOptions + ) + .then(response => { + console.log(response) + if (response.status === 200) { + setIsFormCompleted(true) + } + }) + .catch(err => { + console.log(err) + }) + } catch (error) { + console.log(error) + } finally { + setIsLoading(false) + } + } + return ( + + + + + dsfsfds + + + {!isFormCompleted ? ( +
+ + + + First Name + + + + Last Name + + + + + + Email + + + + + Phone + + + + + Location + + + + + How Did You Hear About Us? + + + + + How Can We Help? +