From b6e1f45336385316bf3193bfa42622995be86938 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 9 Feb 2023 14:23:30 +0000 Subject: [PATCH] fix: wrong newbie role --- src/hooks/useUserRole.ts | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/hooks/useUserRole.ts b/src/hooks/useUserRole.ts index ce917f89..98f1dee1 100644 --- a/src/hooks/useUserRole.ts +++ b/src/hooks/useUserRole.ts @@ -7,33 +7,41 @@ export function useUserRole(subdomain?: string) { const site = useGetSite(subdomain) const userSite = useAccountSites() - const [ssrReady, address] = useAccountState(({ ssrReady, computed }) => [ + const [ssrReady, account] = useAccountState(({ ssrReady, computed }) => [ ssrReady, - computed.account?.address, + computed.account, ]) const isOperator = useIsOperators({ characterId: +(site.data?.metadata?.proof || 0), - operator: address, + operator: account?.address, }) let role = null if (subdomain) { - if (address) { - if (userSite.data?.find((site) => site.username === subdomain)) { - role = "owner" - } else if (isOperator.data) { - role = "operator" - } - - return { - isSuccess: site.isSuccess && userSite.isSuccess && isOperator.isSuccess, - data: role, - } - } else { + if (account?.type === "email") { return { isSuccess: ssrReady, - data: null, + data: account.character?.handle === subdomain ? "owner" : null, + } + } else { + if (account?.address) { + if (userSite.data?.find((site) => site.username === subdomain)) { + role = "owner" + } else if (isOperator.data) { + role = "operator" + } + + return { + isSuccess: + site.isSuccess && userSite.isSuccess && isOperator.isSuccess, + data: role, + } + } else { + return { + isSuccess: ssrReady, + data: null, + } } } } else {