diff --git a/src/app/[orgId]/settings/resources/proxy/[niceId]/general/page.tsx b/src/app/[orgId]/settings/resources/proxy/[niceId]/general/page.tsx index 7d4db07c..ed1080f3 100644 --- a/src/app/[orgId]/settings/resources/proxy/[niceId]/general/page.tsx +++ b/src/app/[orgId]/settings/resources/proxy/[niceId]/general/page.tsx @@ -91,24 +91,6 @@ export default function GeneralForm() { `${resource.ssl ? "https" : "http"}://${toUnicode(resource.fullDomain || "")}` ); - const [defaultSubdomain, defaultBaseDomain] = useMemo(() => { - const resourceUrl = new URL(resourceFullDomain); - const domain = resourceUrl.hostname; - - const allDomainParts = domain.split("."); - let sub = undefined; - let base = domain; - - if (allDomainParts.length >= 3) { - // 3 parts: [subdomain, domain, tld] - const [first, ...rest] = allDomainParts; - sub = first; - base = rest.join("."); - } - - return [sub, base]; - }, [resourceFullDomain]); - const [selectedDomain, setSelectedDomain] = useState<{ domainId: string; subdomain?: string; @@ -507,8 +489,8 @@ export default function GeneralForm() { { const selected = { domainId: res.domainId, diff --git a/src/components/DomainPicker.tsx b/src/components/DomainPicker.tsx index 625b566e..5e883add 100644 --- a/src/components/DomainPicker.tsx +++ b/src/components/DomainPicker.tsx @@ -74,8 +74,9 @@ interface DomainPickerProps { }) => void; cols?: number; hideFreeDomain?: boolean; - defaultSubdomain?: string; - defaultBaseDomain?: string; + defaultFullDomain?: string | null; + defaultSubdomain?: string | null; + defaultDomainId?: string | null; } export default function DomainPicker({ @@ -84,7 +85,8 @@ export default function DomainPicker({ cols = 2, hideFreeDomain = false, defaultSubdomain, - defaultBaseDomain + defaultFullDomain, + defaultDomainId }: DomainPickerProps) { const { env } = useEnvContext(); const api = createApiClient({ env }); @@ -139,7 +141,7 @@ export default function DomainPicker({ // Select the first organization domain or the one provided from props const firstOrgDomain = organizationDomains.find( - (domain) => domain.baseDomain === defaultBaseDomain + (domain) => domain.domainId === defaultDomainId ) ?? organizationDomains[0]; const domainOption: DomainOption = { id: `org-${firstOrgDomain.domainId}`, @@ -175,12 +177,7 @@ export default function DomainPicker({ setSelectedBaseDomain(freeDomainOption); } } - }, [ - hideFreeDomain, - loadingDomains, - organizationDomains, - defaultBaseDomain - ]); + }, [hideFreeDomain, loadingDomains, organizationDomains, defaultDomainId]); const checkAvailability = useCallback( async (input: string) => {