diff --git a/packages/frontend/component/src/components/member-components/join-failed-page.tsx b/packages/frontend/component/src/components/member-components/join-failed-page.tsx index 71e86ab4de..7469262d80 100644 --- a/packages/frontend/component/src/components/member-components/join-failed-page.tsx +++ b/packages/frontend/component/src/components/member-components/join-failed-page.tsx @@ -25,13 +25,14 @@ export const JoinFailedPage = ({ i18nKey={'com.affine.fail-to-join-workspace.description-1'} components={{ 1: ( - +
+ +
), 2: , }} @@ -42,7 +43,11 @@ export const JoinFailedPage = ({
{t['com.affine.fail-to-join-workspace.description-2']()}
) : ( -
{t['error.' + userFriendlyError.name]()}
+
+ {t['error.' + userFriendlyError.name]()} +
+ {userFriendlyError.message} +
) } /> diff --git a/packages/frontend/core/src/components/notification/list.tsx b/packages/frontend/core/src/components/notification/list.tsx index 1e7f83efbb..7d06ad0075 100644 --- a/packages/frontend/core/src/components/notification/list.tsx +++ b/packages/frontend/core/src/components/notification/list.tsx @@ -355,6 +355,7 @@ const InvitationNotificationItem = ({ // ignore if the user is already in the workspace return true; } + notify.error(userFriendlyError); throw err; }) .then(async value => { diff --git a/packages/frontend/core/src/desktop/pages/invite/index.tsx b/packages/frontend/core/src/desktop/pages/invite/index.tsx index 3242d588e1..aaff12be12 100644 --- a/packages/frontend/core/src/desktop/pages/invite/index.tsx +++ b/packages/frontend/core/src/desktop/pages/invite/index.tsx @@ -1,3 +1,4 @@ +import { notify } from '@affine/component'; import { AcceptInvitePage, ExpiredPage, @@ -34,6 +35,9 @@ const AcceptInvite = ({ inviteId: targetInviteId }: { inviteId: string }) => { const workspaces = useLiveData(workspacesService.list.workspaces$); const navigateHelper = useNavigateHelper(); const [accepted, setAccepted] = useState(false); + const [acceptError, setAcceptError] = useState( + null + ); const openWorkspace = useAsyncCallback(async () => { if (!inviteInfo?.workspace.id) { @@ -70,6 +74,8 @@ const AcceptInvite = ({ inviteId: targetInviteId }: { inviteId: string }) => { if (err.is('ALREADY_IN_SPACE')) { return openWorkspace(); } + setAcceptError(err); + notify.error(err); }); }, [invitationService, openWorkspace, targetInviteId]); @@ -85,8 +91,10 @@ const AcceptInvite = ({ inviteId: targetInviteId }: { inviteId: string }) => { return ; } - if (error) { - return ; + if (error || acceptError) { + return ( + + ); } // for email invite