diff --git a/packages/twenty-front/src/hooks/useCopyToClipboard.tsx b/packages/twenty-front/src/hooks/useCopyToClipboard.tsx
index 59776c0e7..588590444 100644
--- a/packages/twenty-front/src/hooks/useCopyToClipboard.tsx
+++ b/packages/twenty-front/src/hooks/useCopyToClipboard.tsx
@@ -1,4 +1,3 @@
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { useTheme } from '@emotion/react';
import { useLingui } from '@lingui/react/macro';
@@ -6,23 +5,27 @@ import { IconCopy, IconExclamationCircle } from 'twenty-ui/display';
export const useCopyToClipboard = () => {
const theme = useTheme();
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueSuccessSnackBar, enqueueErrorSnackBar } = useSnackBar();
const { t } = useLingui();
const copyToClipboard = async (valueAsString: string) => {
try {
await navigator.clipboard.writeText(valueAsString);
- enqueueSnackBar(t`Copied to clipboard`, {
- variant: SnackBarVariant.Success,
- icon: ,
- duration: 2000,
+ enqueueSuccessSnackBar({
+ message: t`Copied to clipboard`,
+ options: {
+ icon: ,
+ duration: 2000,
+ },
});
} catch {
- enqueueSnackBar(t`Couldn't copy to clipboard`, {
- variant: SnackBarVariant.Error,
- icon: ,
- duration: 2000,
+ enqueueErrorSnackBar({
+ message: t`Couldn't copy to clipboard`,
+ options: {
+ icon: ,
+ duration: 2000,
+ },
});
}
};
diff --git a/packages/twenty-front/src/modules/activities/hooks/useCustomResolver.ts b/packages/twenty-front/src/modules/activities/hooks/useCustomResolver.ts
index ee1e50772..273b85f75 100644
--- a/packages/twenty-front/src/modules/activities/hooks/useCustomResolver.ts
+++ b/packages/twenty-front/src/modules/activities/hooks/useCustomResolver.ts
@@ -1,14 +1,13 @@
-import { useState } from 'react';
import {
DocumentNode,
OperationVariables,
TypedDocumentNode,
useQuery,
} from '@apollo/client';
+import { useState } from 'react';
import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
type CustomResolverQueryResult<
@@ -37,7 +36,7 @@ export const useCustomResolver = <
isFetchingMore: boolean;
fetchMoreRecords: () => Promise;
} => {
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar } = useSnackBar();
const [page, setPage] = useState({
pageNumber: 1,
@@ -62,8 +61,8 @@ export const useCustomResolver = <
} = useQuery>(query, {
variables: queryVariables,
onError: (error) => {
- enqueueSnackBar(error.message || `Error loading ${objectName}`, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ apolloError: error,
});
},
});
diff --git a/packages/twenty-front/src/modules/auth/components/VerifyEmailEffect.tsx b/packages/twenty-front/src/modules/auth/components/VerifyEmailEffect.tsx
index 640424baf..fad0b7d57 100644
--- a/packages/twenty-front/src/modules/auth/components/VerifyEmailEffect.tsx
+++ b/packages/twenty-front/src/modules/auth/components/VerifyEmailEffect.tsx
@@ -1,6 +1,5 @@
import { useAuth } from '@/auth/hooks/useAuth';
import { AppPath } from '@/types/AppPath';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { ApolloError } from '@apollo/client';
@@ -20,7 +19,7 @@ import { EmailVerificationSent } from '../sign-in-up/components/EmailVerificatio
export const VerifyEmailEffect = () => {
const { getLoginTokenFromEmailVerificationToken } = useAuth();
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar();
const [searchParams] = useSearchParams();
const [isError, setIsError] = useState(false);
@@ -39,9 +38,11 @@ export const VerifyEmailEffect = () => {
useEffect(() => {
const verifyEmailToken = async () => {
if (!email || !emailVerificationToken) {
- enqueueSnackBar(t`Invalid email verification link.`, {
- dedupeKey: 'email-verification-link-dedupe-key',
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ message: t`Invalid email verification link.`,
+ options: {
+ dedupeKey: 'email-verification-link-dedupe-key',
+ },
});
return navigate(AppPath.SignInUp);
}
@@ -53,9 +54,11 @@ export const VerifyEmailEffect = () => {
email,
);
- enqueueSnackBar(t`Email verified.`, {
- dedupeKey: 'email-verification-dedupe-key',
- variant: SnackBarVariant.Success,
+ enqueueSuccessSnackBar({
+ message: t`Email verified.`,
+ options: {
+ dedupeKey: 'email-verification-dedupe-key',
+ },
});
const workspaceUrl = getWorkspaceUrl(workspaceUrls);
@@ -71,14 +74,13 @@ export const VerifyEmailEffect = () => {
verifyLoginToken(loginToken.token);
} catch (error) {
- const message: string =
- error instanceof ApolloError
- ? error.message
- : 'Email verification failed';
-
- enqueueSnackBar(t`${message}`, {
- dedupeKey: 'email-verification-error-dedupe-key',
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ ...(error instanceof ApolloError
+ ? { apolloError: error }
+ : { message: t`Email verification failed` }),
+ options: {
+ dedupeKey: 'email-verification-error-dedupe-key',
+ },
});
if (
error instanceof ApolloError &&
diff --git a/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts b/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts
index 4df3160d7..8ff6d1494 100644
--- a/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts
+++ b/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts
@@ -4,14 +4,13 @@ import { renderHook } from '@testing-library/react';
import { RecoilRoot } from 'recoil';
import { AppPath } from '@/types/AppPath';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { useNavigateApp } from '~/hooks/useNavigateApp';
import { useAuth } from '../useAuth';
import { useVerifyLogin } from '../useVerifyLogin';
-import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
import { SOURCE_LOCALE } from 'twenty-shared/translations';
+import { dynamicActivate } from '~/utils/i18n/dynamicActivate';
jest.mock('../useAuth', () => ({
useAuth: jest.fn(),
@@ -37,7 +36,7 @@ const renderHooks = () => {
describe('useVerifyLogin', () => {
const mockGetAuthTokensFromLoginToken = jest.fn();
- const mockEnqueueSnackBar = jest.fn();
+ const mockEnqueueErrorSnackBar = jest.fn();
const mockNavigate = jest.fn();
beforeEach(() => {
@@ -48,7 +47,7 @@ describe('useVerifyLogin', () => {
});
(useSnackBar as jest.Mock).mockReturnValue({
- enqueueSnackBar: mockEnqueueSnackBar,
+ enqueueErrorSnackBar: mockEnqueueErrorSnackBar,
});
(useNavigateApp as jest.Mock).mockReturnValue(mockNavigate);
@@ -70,8 +69,8 @@ describe('useVerifyLogin', () => {
await result.current.verifyLoginToken('test-token');
- expect(mockEnqueueSnackBar).toHaveBeenCalledWith('Authentication failed', {
- variant: SnackBarVariant.Error,
+ expect(mockEnqueueErrorSnackBar).toHaveBeenCalledWith({
+ message: 'Authentication failed',
});
expect(mockNavigate).toHaveBeenCalledWith(AppPath.SignInUp);
});
diff --git a/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts b/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts
index 6862c1753..dcca65900 100644
--- a/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts
+++ b/packages/twenty-front/src/modules/auth/hooks/useVerifyLogin.ts
@@ -1,5 +1,3 @@
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
-
import { useAuth } from '@/auth/hooks/useAuth';
import { AppPath } from '@/types/AppPath';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
@@ -7,7 +5,7 @@ import { useLingui } from '@lingui/react/macro';
import { useNavigateApp } from '~/hooks/useNavigateApp';
export const useVerifyLogin = () => {
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar } = useSnackBar();
const navigate = useNavigateApp();
const { getAuthTokensFromLoginToken } = useAuth();
const { t } = useLingui();
@@ -16,8 +14,8 @@ export const useVerifyLogin = () => {
try {
await getAuthTokensFromLoginToken(loginToken);
} catch (error) {
- enqueueSnackBar(t`Authentication failed`, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ message: t`Authentication failed`,
});
navigate(AppPath.SignInUp);
}
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts
index 40fbdfe83..922213e24 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts
@@ -5,7 +5,6 @@ import { RecoilRoot } from 'recoil';
import { useHandleResetPassword } from '@/auth/sign-in-up/hooks/useHandleResetPassword';
import { workspacePublicDataState } from '@/auth/states/workspacePublicDataState';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { SOURCE_LOCALE } from 'twenty-shared/translations';
import {
@@ -36,14 +35,16 @@ const renderHooks = () => {
};
describe('useHandleResetPassword', () => {
- const enqueueSnackBarMock = jest.fn();
+ const enqueueErrorSnackBarMock = jest.fn();
+ const enqueueSuccessSnackBarMock = jest.fn();
const emailPasswordResetLinkMock = jest.fn();
beforeEach(() => {
jest.clearAllMocks();
(useSnackBar as jest.Mock).mockReturnValue({
- enqueueSnackBar: enqueueSnackBarMock,
+ enqueueErrorSnackBar: enqueueErrorSnackBarMock,
+ enqueueSuccessSnackBar: enqueueSuccessSnackBarMock,
});
(useEmailPasswordResetLinkMutation as jest.Mock).mockReturnValue([
emailPasswordResetLinkMock,
@@ -54,8 +55,8 @@ describe('useHandleResetPassword', () => {
const { result } = renderHooks();
await act(() => result.current.handleResetPassword('')());
- expect(enqueueSnackBarMock).toHaveBeenCalledWith('Invalid email', {
- variant: SnackBarVariant.Error,
+ expect(enqueueErrorSnackBarMock).toHaveBeenCalledWith({
+ message: 'Invalid email',
});
});
@@ -67,10 +68,9 @@ describe('useHandleResetPassword', () => {
const { result } = renderHooks();
await act(() => result.current.handleResetPassword('test@example.com')());
- expect(enqueueSnackBarMock).toHaveBeenCalledWith(
- 'Password reset link has been sent to the email',
- { variant: SnackBarVariant.Success },
- );
+ expect(enqueueSuccessSnackBarMock).toHaveBeenCalledWith({
+ message: 'Password reset link has been sent to the email',
+ });
});
it('should show error message if sending reset link fails', async () => {
@@ -81,9 +81,7 @@ describe('useHandleResetPassword', () => {
const { result } = renderHooks();
await act(() => result.current.handleResetPassword('test@example.com')());
- expect(enqueueSnackBarMock).toHaveBeenCalledWith('There was an issue', {
- variant: SnackBarVariant.Error,
- });
+ expect(enqueueErrorSnackBarMock).toHaveBeenCalledWith({});
});
it('should show error message in case of request error', async () => {
@@ -93,8 +91,6 @@ describe('useHandleResetPassword', () => {
const { result } = renderHooks();
await act(() => result.current.handleResetPassword('test@example.com')());
- expect(enqueueSnackBarMock).toHaveBeenCalledWith(errorMessage, {
- variant: SnackBarVariant.Error,
- });
+ expect(enqueueErrorSnackBarMock).toHaveBeenCalledWith({});
});
});
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useSSO.test.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useSSO.test.tsx
index d3022d7bf..8a50396ed 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useSSO.test.tsx
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useSSO.test.tsx
@@ -2,19 +2,20 @@ import { GET_AUTHORIZATION_URL_FOR_SSO } from '@/auth/graphql/mutations/getAutho
import { useSSO } from '@/auth/sign-in-up/hooks/useSSO';
import { useRedirect } from '@/domain-manager/hooks/useRedirect';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
+import { ApolloError } from '@apollo/client';
import { MockedProvider } from '@apollo/client/testing';
-import { MemoryRouter } from 'react-router-dom';
import { renderHook } from '@testing-library/react';
+import { MemoryRouter } from 'react-router-dom';
jest.mock('@/ui/feedback/snack-bar-manager/hooks/useSnackBar');
jest.mock('@/domain-manager/hooks/useRedirect');
jest.mock('~/generated/graphql');
-const mockEnqueueSnackBar = jest.fn();
+const mockEnqueueErrorSnackBar = jest.fn();
const mockRedirect = jest.fn();
(useSnackBar as jest.Mock).mockReturnValue({
- enqueueSnackBar: mockEnqueueSnackBar,
+ enqueueErrorSnackBar: mockEnqueueErrorSnackBar,
});
(useRedirect as jest.Mock).mockReturnValue({
redirect: mockRedirect,
@@ -84,8 +85,10 @@ describe('useSSO', () => {
await result.current.redirectToSSOLoginPage(identityProviderId);
- expect(mockEnqueueSnackBar).toHaveBeenCalledWith('Error message', {
- variant: 'error',
+ expect(mockEnqueueErrorSnackBar).toHaveBeenCalledWith({
+ apolloError: new ApolloError({
+ graphQLErrors: [{ message: 'Error message' }],
+ }),
});
});
});
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResendEmailVerificationToken.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResendEmailVerificationToken.ts
index 757b84995..69b3625cd 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResendEmailVerificationToken.ts
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResendEmailVerificationToken.ts
@@ -1,13 +1,13 @@
import { useCallback } from 'react';
import { useOrigin } from '@/domain-manager/hooks/useOrigin';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
+import { ApolloError } from '@apollo/client';
import { t } from '@lingui/core/macro';
import { useResendEmailVerificationTokenMutation } from '~/generated-metadata/graphql';
export const useHandleResendEmailVerificationToken = () => {
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar();
const [resendEmailVerificationToken, { loading }] =
useResendEmailVerificationTokenMutation();
const { origin } = useOrigin();
@@ -16,8 +16,8 @@ export const useHandleResendEmailVerificationToken = () => {
(email: string | null) => {
return async () => {
if (!email) {
- enqueueSnackBar(t`Invalid email`, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ message: t`Invalid email`,
});
return;
}
@@ -31,22 +31,25 @@ export const useHandleResendEmailVerificationToken = () => {
});
if (data?.resendEmailVerificationToken?.success === true) {
- enqueueSnackBar(t`Email verification link resent!`, {
- variant: SnackBarVariant.Success,
+ enqueueSuccessSnackBar({
+ message: t`Email verification link resent!`,
});
} else {
- enqueueSnackBar(t`There was an issue`, {
- variant: SnackBarVariant.Error,
- });
+ enqueueErrorSnackBar({});
}
} catch (error) {
- enqueueSnackBar((error as Error).message, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ ...(error instanceof ApolloError ? { apolloError: error } : {}),
});
}
};
},
- [enqueueSnackBar, resendEmailVerificationToken, origin],
+ [
+ enqueueErrorSnackBar,
+ enqueueSuccessSnackBar,
+ resendEmailVerificationToken,
+ origin,
+ ],
);
return { handleResendEmailVerificationToken, loading };
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResetPassword.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResetPassword.ts
index b14c244dd..bbb94c694 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResetPassword.ts
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useHandleResetPassword.ts
@@ -2,14 +2,14 @@ import { useCallback } from 'react';
import { currentUserState } from '@/auth/states/currentUserState';
import { workspacePublicDataState } from '@/auth/states/workspacePublicDataState';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
+import { ApolloError } from '@apollo/client';
import { useLingui } from '@lingui/react/macro';
import { useRecoilValue } from 'recoil';
import { useEmailPasswordResetLinkMutation } from '~/generated-metadata/graphql';
export const useHandleResetPassword = () => {
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar();
const [emailPasswordResetLink] = useEmailPasswordResetLinkMutation();
const workspacePublicData = useRecoilValue(workspacePublicDataState);
const currentUser = useRecoilValue(currentUserState);
@@ -20,15 +20,15 @@ export const useHandleResetPassword = () => {
(email = currentUser?.email) => {
return async () => {
if (!email) {
- enqueueSnackBar(t`Invalid email`, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ message: t`Invalid email`,
});
return;
}
if (!workspacePublicData?.id) {
- enqueueSnackBar(t`Invalid workspace`, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ message: t`Invalid workspace`,
});
return;
}
@@ -39,17 +39,15 @@ export const useHandleResetPassword = () => {
});
if (data?.emailPasswordResetLink?.success === true) {
- enqueueSnackBar(t`Password reset link has been sent to the email`, {
- variant: SnackBarVariant.Success,
+ enqueueSuccessSnackBar({
+ message: t`Password reset link has been sent to the email`,
});
} else {
- enqueueSnackBar(t`There was an issue`, {
- variant: SnackBarVariant.Error,
- });
+ enqueueErrorSnackBar({});
}
} catch (error) {
- enqueueSnackBar((error as Error).message, {
- variant: SnackBarVariant.Error,
+ enqueueErrorSnackBar({
+ ...(error instanceof ApolloError ? { apolloError: error } : {}),
});
}
};
@@ -57,7 +55,8 @@ export const useHandleResetPassword = () => {
[
currentUser?.email,
workspacePublicData?.id,
- enqueueSnackBar,
+ enqueueErrorSnackBar,
+ enqueueSuccessSnackBar,
t,
emailPasswordResetLink,
],
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSSO.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSSO.ts
index 8db029fc9..f36fc6bfd 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSSO.ts
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSSO.ts
@@ -2,16 +2,15 @@
import { GET_AUTHORIZATION_URL_FOR_SSO } from '@/auth/graphql/mutations/getAuthorizationUrlForSSO';
import { useRedirect } from '@/domain-manager/hooks/useRedirect';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
-import { useApolloClient } from '@apollo/client';
+import { ApolloError, useApolloClient } from '@apollo/client';
import { useParams } from 'react-router-dom';
export const useSSO = () => {
const apolloClient = useApolloClient();
const workspaceInviteHash = useParams().workspaceInviteHash;
- const { enqueueSnackBar } = useSnackBar();
+ const { enqueueErrorSnackBar } = useSnackBar();
const { redirect } = useRedirect();
const redirectToSSOLoginPage = async (identityProviderId: string) => {
let authorizationUrlForSSOResult;
@@ -26,8 +25,8 @@ export const useSSO = () => {
},
});
} catch (error: any) {
- return enqueueSnackBar(error?.message ?? 'Unknown error', {
- variant: SnackBarVariant.Error,
+ return enqueueErrorSnackBar({
+ ...(error instanceof ApolloError ? { apolloError: error } : {}),
});
}
diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUp.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUp.ts
index 9a70346e4..a2f5d6e33 100644
--- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUp.ts
+++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUp.ts
@@ -11,17 +11,17 @@ import {
import { SignInUpMode } from '@/auth/types/signInUpMode';
import { useReadCaptchaToken } from '@/captcha/hooks/useReadCaptchaToken';
import { useBuildSearchParamsFromUrlSyncedStates } from '@/domain-manager/hooks/useBuildSearchParamsFromUrlSyncedStates';
+import { useIsCurrentLocationOnAWorkspace } from '@/domain-manager/hooks/useIsCurrentLocationOnAWorkspace';
import { AppPath } from '@/types/AppPath';
-import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
+import { ApolloError } from '@apollo/client';
import { useRecoilState } from 'recoil';
import { buildAppPathWithQueryParams } from '~/utils/buildAppPathWithQueryParams';
import { isMatchingLocation } from '~/utils/isMatchingLocation';
import { useAuth } from '../../hooks/useAuth';
-import { useIsCurrentLocationOnAWorkspace } from '@/domain-manager/hooks/useIsCurrentLocationOnAWorkspace';
export const useSignInUp = (form: UseFormReturn