From e78184bd12a82bec440d68a2a8645a96312584d8 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 20 Oct 2020 02:59:49 -0700 Subject: [PATCH] Add About modal --- src/components/AboutModal/index.css | 14 ++++++++++++ src/components/AboutModal/index.tsx | 35 +++++++++++++++++++++++++++++ src/components/HeaderMenu/index.tsx | 25 ++++++++++++++------- 3 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 src/components/AboutModal/index.css create mode 100644 src/components/AboutModal/index.tsx diff --git a/src/components/AboutModal/index.css b/src/components/AboutModal/index.css new file mode 100644 index 00000000..d9294a3e --- /dev/null +++ b/src/components/AboutModal/index.css @@ -0,0 +1,14 @@ +.AboutModal { + padding: 24px; +} + +.AboutModal p { + color: #333; + font-size: 14px; + margin: 0; + margin-bottom: 16px; +} + +.AboutModal p:last-of-type { + margin-bottom: 0; +} \ No newline at end of file diff --git a/src/components/AboutModal/index.tsx b/src/components/AboutModal/index.tsx new file mode 100644 index 00000000..38719e94 --- /dev/null +++ b/src/components/AboutModal/index.tsx @@ -0,0 +1,35 @@ +import React from 'react' +import { createPortal } from 'react-dom' +import api from '~utils/api' + +import Modal from '~components/Modal' +import Overlay from '~components/Overlay' + +import './index.css' + +interface Props { + close: () => void +} + +const AboutModal = (props: Props) => { + const about = ( +
+

Siero is a tool to save and share parties for Granblue Fantasy.

+

All you need to do to get started is start adding things. Siero will make a URL and you can share your party with the world.

+

If you want to save your parties for safe keeping or to edit them later, you can make a free account.

+
+ ) + return ( + createPortal( +
+ + {about} + + +
, + document.body + ) + ) +} + +export default AboutModal \ No newline at end of file diff --git a/src/components/HeaderMenu/index.tsx b/src/components/HeaderMenu/index.tsx index 58880b1a..05ada31a 100644 --- a/src/components/HeaderMenu/index.tsx +++ b/src/components/HeaderMenu/index.tsx @@ -6,8 +6,11 @@ import SignupModal from '~components/SignupModal' import { useModal as useSignupModal } from '~utils/useModal' import { useModal as useLoginModal } from '~utils/useModal' +import { useModal as useAboutModal } from '~utils/useModal' + import { Link, Route } from 'react-router-dom' import Profile from '~routes/ProfileRoute' +import AboutModal from '~components/AboutModal' interface Props { @@ -18,6 +21,7 @@ interface Props { const HeaderMenu = (props: Props) => { const { open: signupOpen, openModal: openSignupModal, closeModal: closeSignupModal } = useSignupModal() const { open: loginOpen, openModal: openLoginModal, closeModal: closeLoginModal } = useLoginModal() + const { open: aboutOpen, openModal: openAboutModal, closeModal: closeAboutModal } = useAboutModal() function authItems() { return ( @@ -29,13 +33,14 @@ const HeaderMenu = (props: Props) => {
-
  • - About -
  • - -
  • +
  • About
  • + {aboutOpen ? ( + + ) : null} + + {/*
  • Guides -
  • + */}
  • Logout
  • @@ -49,8 +54,11 @@ const HeaderMenu = (props: Props) => { return ( ) }