From 627f905637dc15f3cf7aeea877f2c2a7bd360e3e Mon Sep 17 00:00:00 2001 From: Tim Pechersky Date: Tue, 21 Sep 2021 20:37:23 +0200 Subject: [PATCH] token request now is modal --- frontend/pages/account/tokens.js | 50 ++++++----- frontend/src/components/TokenRequest.js | 109 ++++++++++++++---------- 2 files changed, 93 insertions(+), 66 deletions(-) diff --git a/frontend/pages/account/tokens.js b/frontend/pages/account/tokens.js index 03718d9f..e02a924d 100644 --- a/frontend/pages/account/tokens.js +++ b/frontend/pages/account/tokens.js @@ -10,11 +10,18 @@ import { ScaleFade, Button, Heading, + useDisclosure, + Modal, + ModalOverlay, + ModalContent, + ModalHeader, + ModalBody, + ModalCloseButton, } from "@chakra-ui/react"; import { getLayout } from "../../src/layouts/AccountLayout"; const Tokens = () => { - const [modal, toggleModal] = useState(null); + const { onOpen, onClose, isOpen } = useDisclosure(); const [newToken, setNewToken] = useState(null); const [tokens, setTokens] = useState(); const { list, update, revoke, isLoading, data } = useTokens(); @@ -51,35 +58,34 @@ const Tokens = () => { hidden={false} my={8} size="lg" - color="primary.500" + color="blue.500" thickness="4px" speed="1.5s" /> ) : ( + + + + New API access token + + + + + + My access tokens -
- - {!modal ? ( - - - - ) : ( - - - - )} - -
+ { +const TokenRequest = ({ setNewToken, onClose }) => { const { user } = useUser(); const { createToken } = useTokens(); const { handleSubmit, errors, register } = useForm(); @@ -41,10 +40,10 @@ const TokenRequest = ({ newToken, toggle }) => { useEffect(() => { if (createToken.data?.data) { - newToken(createToken.data.data); - toggle(null); + setNewToken(createToken.data.data); + onClose(); } - }, [createToken.data, newToken, toggle]); + }, [createToken.data, setNewToken, onClose]); const formStyle = { display: "flex", @@ -52,56 +51,78 @@ const TokenRequest = ({ newToken, toggle }) => { minWidth: "100px", flexFlow: "row wrap-reverse", aligntContent: "flex-end", + width: "100%", }; if (!user) return ""; //loading... return ( - +
- - + + + API key label + + + + Your password + + + + + + { + register(e, { required: "Password is required!" }); + PasswordRef.current = e; + }} + /> + + + {errors.password && errors.password.message} + + + - - - - - - { - register(e, { required: "Password is required!" }); - PasswordRef.current = e; - }} - /> - toggle(null)}> - - - - - {errors.password && errors.password.message} - - - + + + + +
);