From cda4792ff77ec74159d682016ebcd1234b6618a5 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 15 Oct 2020 16:44:59 -0400 Subject: [PATCH] simplifies verification view --- src/admin/components/Routes.js | 2 +- src/admin/components/views/Verify/index.js | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/admin/components/Routes.js b/src/admin/components/Routes.js index ffcb21e5bd..671c15a4ca 100644 --- a/src/admin/components/Routes.js +++ b/src/admin/components/Routes.js @@ -88,7 +88,7 @@ const Routes = () => { path={`${match.url}/${collection.slug}/verify/:token`} exact > - + ); } diff --git a/src/admin/components/views/Verify/index.js b/src/admin/components/views/Verify/index.js index 7b180bb8ec..0919c5edd0 100644 --- a/src/admin/components/views/Verify/index.js +++ b/src/admin/components/views/Verify/index.js @@ -1,5 +1,6 @@ import React, { useEffect, useState } from 'react'; -import { useParams, useLocation } from 'react-router-dom'; +import PropTypes from 'prop-types'; +import { useParams } from 'react-router-dom'; import Logo from '../../graphics/Logo'; import MinimalTemplate from '../../templates/Minimal'; import Button from '../../elements/Button'; @@ -12,23 +13,23 @@ import './index.scss'; const baseClass = 'verify'; -const Verify = () => { +const Verify = ({ collection }) => { + const { slug: collectionSlug } = collection; + const { user } = useAuthentication(); const { token } = useParams(); - const { pathname } = useLocation(); const { serverURL, routes: { admin: adminRoute }, admin: { user: adminUser } } = useConfig(); - const collectionToVerify = pathname.split('/')?.[2]; - const isAdminUser = collectionToVerify === adminUser; + const isAdminUser = collectionSlug === adminUser; const [verifyResult, setVerifyResult] = useState(null); useEffect(() => { async function verifyToken() { - const result = await fetch(`${serverURL}/api/${collectionToVerify}/verify/${token}`, { method: 'POST' }); + const result = await fetch(`${serverURL}/api/${collectionSlug}/verify/${token}`, { method: 'POST' }); setVerifyResult(result); } verifyToken(); - }, [setVerifyResult, collectionToVerify, pathname, serverURL, token]); + }, [setVerifyResult, collectionSlug, serverURL, token]); if (user) { return ; @@ -65,4 +66,10 @@ const Verify = () => { ); }; + +Verify.propTypes = { + collection: PropTypes.shape({ + slug: PropTypes.string, + }).isRequired, +}; export default Verify;