import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState'; import { useReadDefaultDomainFromConfiguration } from '@/domain-manager/hooks/useReadDefaultDomainFromConfiguration'; import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState'; import { useRecoilValue } from 'recoil'; import { isDefined } from 'twenty-shared'; export const useIsCurrentLocationOnAWorkspace = () => { const { defaultDomain } = useReadDefaultDomainFromConfiguration(); const isMultiWorkspaceEnabled = useRecoilValue(isMultiWorkspaceEnabledState); const domainConfiguration = useRecoilValue(domainConfigurationState); if ( isMultiWorkspaceEnabled && (!isDefined(domainConfiguration.frontDomain) || !isDefined(domainConfiguration.defaultSubdomain)) ) { throw new Error('frontDomain and defaultSubdomain are required'); } const isOnAWorkspace = isMultiWorkspaceEnabled && window.location.hostname !== defaultDomain; return { isOnAWorkspace, }; };