♻️ pass the default domainId instead of the base domain

This commit is contained in:
Fred KISSIE
2025-12-17 00:52:12 +01:00
parent 6fc54bcc9e
commit e02fa7c148
2 changed files with 9 additions and 30 deletions

View File

@@ -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() {
<DomainPicker
orgId={orgId as string}
cols={1}
defaultSubdomain={defaultSubdomain}
defaultBaseDomain={defaultBaseDomain}
defaultSubdomain={resource.subdomain}
defaultDomainId={resource.domainId}
onDomainChange={(res) => {
const selected = {
domainId: res.domainId,

View File

@@ -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) => {