mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-01 15:49:08 +00:00
♻️ pass the default domainId instead of the base domain
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user