From 40b74a8e66d357346ae61752735f3156db6097bb Mon Sep 17 00:00:00 2001 From: alt0 Date: Tue, 7 Feb 2023 19:06:43 +0800 Subject: [PATCH] fix: inviting page add loading to wait request --- .../app/src/pages/invite/[invite_code].tsx | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/app/src/pages/invite/[invite_code].tsx b/packages/app/src/pages/invite/[invite_code].tsx index ff86784661..3af2a8c18e 100644 --- a/packages/app/src/pages/invite/[invite_code].tsx +++ b/packages/app/src/pages/invite/[invite_code].tsx @@ -3,6 +3,7 @@ import { styled } from '@/styles'; import { Empty } from '@/ui/empty'; import { useRouter } from 'next/router'; import { useEffect, useState } from 'react'; +import { PageLoading } from '@/components/loading'; // const User = ({ name, avatar }: { name: string; avatar?: string }) => { // return ( @@ -18,19 +19,29 @@ import { useEffect, useState } from 'react'; // }; export default function DevPage() { + const [loading, setLoading] = useState(true); const router = useRouter(); const [successInvited, setSuccessInvited] = useState(false); const { acceptInvite } = useWorkspaceHelper(); useEffect(() => { - router.query.invite_code && - acceptInvite(router.query.invite_code as string).then(data => { - if (data && data.accepted) { - setSuccessInvited(true); - } - }); + if (router.query.invite_code) { + acceptInvite(router.query.invite_code as string) + .then(data => { + if (data && data.accepted) { + setSuccessInvited(true); + } + }) + .finally(() => { + setLoading(false); + }); + } else { + setLoading(false); + } }, [router, acceptInvite]); - return ( + return loading ? ( + + ) : (