From 166b704166bb13d7656bf1f458d90156befcb956 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Thu, 8 Aug 2024 10:30:45 -0700 Subject: [PATCH] fix transfer website button disable logic --- .../websites/[websiteId]/WebsiteData.tsx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx index 017a91f9..bc6a3169 100644 --- a/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx +++ b/src/app/(main)/settings/websites/[websiteId]/WebsiteData.tsx @@ -13,11 +13,18 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: const { teamId, renderTeamUrl } = useTeamUrl(); const router = useRouter(); const { result } = useTeams(user.id); - const hasTeams = result?.data?.length > 0; - const isTeamOwner = - (!teamId && hasTeams) || - (hasTeams && - result?.data + const canTransferWebsite = + ( + !teamId && + result.data.filter(({ teamUser }) => + teamUser.find( + ({ role, userId }) => + [ROLES.teamOwner, ROLES.teamManager].includes(role) && userId === user.id, + ), + ) + ).length > 0 || + (teamId && + !!result?.data ?.find(({ id }) => id === teamId) ?.teamUser.find(({ role, userId }) => role === ROLES.teamOwner && userId === user.id)); @@ -37,8 +44,8 @@ export function WebsiteData({ websiteId, onSave }: { websiteId: string; onSave?: label={formatMessage(labels.transferWebsite)} description={formatMessage(messages.transferWebsite)} > - -