diff --git a/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx b/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx
index dcf5720dc..d2a8a3fdc 100644
--- a/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx
+++ b/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx
@@ -8,11 +8,13 @@ import { SettingsPageContainer } from '@/settings/components/SettingsPageContain
import { SettingsPath } from '@/types/SettingsPath';
import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
+import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModal';
import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { ApolloError } from '@apollo/client';
import { zodResolver } from '@hookform/resolvers/zod';
import { Trans, useLingui } from '@lingui/react/macro';
+import { useState } from 'react';
import { FormProvider, useForm } from 'react-hook-form';
import { useRecoilState } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
@@ -71,6 +73,11 @@ export const SettingsDomain = () => {
currentWorkspaceState,
);
+ const [
+ isSubdomainChangeConfirmationModalOpen,
+ setIsSubdomainChangeConfirmationModalOpen,
+ ] = useState(false);
+
const form = useForm<{
subdomain: string;
customDomain: string | null;
@@ -194,7 +201,8 @@ export const SettingsDomain = () => {
isDefined(values.subdomain) &&
values.subdomain !== currentWorkspace.subdomain
) {
- return updateSubdomain(values.subdomain, currentWorkspace);
+ setIsSubdomainChangeConfirmationModalOpen(true);
+ return;
}
if (values.customDomain !== currentWorkspace.customDomain) {
@@ -231,6 +239,17 @@ export const SettingsDomain = () => {
{isCustomDomainEnabled && }
+ {
+ const values = form.getValues();
+ currentWorkspace &&
+ updateSubdomain(values.subdomain, currentWorkspace);
+ }}
+ />
);