feat(custom-domains): allow to register a custom domain (without UI) (#9879)

# In this PR
- Allow to register a custom domain
- Refacto subdomain generation

# In other PRs
- Add UI to deal with a custom domain
- Add logic to work with custom domain
This commit is contained in:
Antoine Moreaux
2025-01-30 13:51:16 +01:00
committed by GitHub
parent ae4bf8d929
commit e895aa27e6
33 changed files with 1049 additions and 240 deletions

View File

@ -0,0 +1,28 @@
import { isDefined } from '~/utils/isDefined';
import { useEffect } from 'react';
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { useRecoilValue } from 'recoil';
import { useGetHostnameDetailsQuery } from '~/generated/graphql';
export const SettingsHostnameEffect = () => {
const { refetch } = useGetHostnameDetailsQuery();
const currentWorkspace = useRecoilValue(currentWorkspaceState);
useEffect(() => {
let pollIntervalFn: null | ReturnType<typeof setInterval> = null;
if (isDefined(currentWorkspace?.hostname)) {
pollIntervalFn = setInterval(async () => {
refetch();
}, 3000);
}
return () => {
if (isDefined(pollIntervalFn)) {
clearInterval(pollIntervalFn);
}
};
}, [currentWorkspace?.hostname, refetch]);
return <></>;
};