fix query param init before workspace redirection (#11590)

This commit is contained in:
Etienne
2025-04-15 18:47:26 +02:00
committed by GitHub
parent 43af5ceb5e
commit 6f78a51da4

View File

@ -1,16 +1,17 @@
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import { useEffect } from 'react';
import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState'; import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState';
import { useReadWorkspaceUrlFromCurrentLocation } from '@/domain-manager/hooks/useReadWorkspaceUrlFromCurrentLocation';
import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain'; import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain';
import { lastAuthenticatedWorkspaceDomainState } from '@/domain-manager/states/lastAuthenticatedWorkspaceDomainState'; import { lastAuthenticatedWorkspaceDomainState } from '@/domain-manager/states/lastAuthenticatedWorkspaceDomainState';
import { useReadWorkspaceUrlFromCurrentLocation } from '@/domain-manager/hooks/useReadWorkspaceUrlFromCurrentLocation'; import { useEffect } from 'react';
import { useIsCurrentLocationOnDefaultDomain } from '@/domain-manager/hooks/useIsCurrentLocationOnDefaultDomain'; import { useInitializeQueryParamState } from '@/app/hooks/useInitializeQueryParamState';
import { useGetPublicWorkspaceDataByDomain } from '@/domain-manager/hooks/useGetPublicWorkspaceDataByDomain'; import { useGetPublicWorkspaceDataByDomain } from '@/domain-manager/hooks/useGetPublicWorkspaceDataByDomain';
import { useIsCurrentLocationOnDefaultDomain } from '@/domain-manager/hooks/useIsCurrentLocationOnDefaultDomain';
import { isDefined } from 'twenty-shared/utils';
import { WorkspaceUrls } from '~/generated/graphql'; import { WorkspaceUrls } from '~/generated/graphql';
import { getWorkspaceUrl } from '~/utils/getWorkspaceUrl'; import { getWorkspaceUrl } from '~/utils/getWorkspaceUrl';
import { isDefined } from 'twenty-shared/utils';
export const WorkspaceProviderEffect = () => { export const WorkspaceProviderEffect = () => {
const { data: getPublicWorkspaceData } = useGetPublicWorkspaceDataByDomain(); const { data: getPublicWorkspaceData } = useGetPublicWorkspaceDataByDomain();
@ -35,6 +36,8 @@ export const WorkspaceProviderEffect = () => {
}; };
}; };
const { initializeQueryParamState } = useInitializeQueryParamState();
useEffect(() => { useEffect(() => {
const hostnames = getPublicWorkspaceData const hostnames = getPublicWorkspaceData
? getHostnamesFromWorkspaceUrls(getPublicWorkspaceData?.workspaceUrls) ? getHostnamesFromWorkspaceUrls(getPublicWorkspaceData?.workspaceUrls)
@ -64,6 +67,7 @@ export const WorkspaceProviderEffect = () => {
'workspaceUrl' in lastAuthenticatedWorkspaceDomain && 'workspaceUrl' in lastAuthenticatedWorkspaceDomain &&
isDefined(lastAuthenticatedWorkspaceDomain?.workspaceUrl) isDefined(lastAuthenticatedWorkspaceDomain?.workspaceUrl)
) { ) {
initializeQueryParamState();
redirectToWorkspaceDomain(lastAuthenticatedWorkspaceDomain.workspaceUrl); redirectToWorkspaceDomain(lastAuthenticatedWorkspaceDomain.workspaceUrl);
} }
}, [ }, [
@ -71,6 +75,7 @@ export const WorkspaceProviderEffect = () => {
isDefaultDomain, isDefaultDomain,
lastAuthenticatedWorkspaceDomain, lastAuthenticatedWorkspaceDomain,
redirectToWorkspaceDomain, redirectToWorkspaceDomain,
initializeQueryParamState,
]); ]);
return <></>; return <></>;