mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-21 20:36:37 +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 || "")}`
|
`${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<{
|
const [selectedDomain, setSelectedDomain] = useState<{
|
||||||
domainId: string;
|
domainId: string;
|
||||||
subdomain?: string;
|
subdomain?: string;
|
||||||
@@ -507,8 +489,8 @@ export default function GeneralForm() {
|
|||||||
<DomainPicker
|
<DomainPicker
|
||||||
orgId={orgId as string}
|
orgId={orgId as string}
|
||||||
cols={1}
|
cols={1}
|
||||||
defaultSubdomain={defaultSubdomain}
|
defaultSubdomain={resource.subdomain}
|
||||||
defaultBaseDomain={defaultBaseDomain}
|
defaultDomainId={resource.domainId}
|
||||||
onDomainChange={(res) => {
|
onDomainChange={(res) => {
|
||||||
const selected = {
|
const selected = {
|
||||||
domainId: res.domainId,
|
domainId: res.domainId,
|
||||||
|
|||||||
@@ -74,8 +74,9 @@ interface DomainPickerProps {
|
|||||||
}) => void;
|
}) => void;
|
||||||
cols?: number;
|
cols?: number;
|
||||||
hideFreeDomain?: boolean;
|
hideFreeDomain?: boolean;
|
||||||
defaultSubdomain?: string;
|
defaultFullDomain?: string | null;
|
||||||
defaultBaseDomain?: string;
|
defaultSubdomain?: string | null;
|
||||||
|
defaultDomainId?: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function DomainPicker({
|
export default function DomainPicker({
|
||||||
@@ -84,7 +85,8 @@ export default function DomainPicker({
|
|||||||
cols = 2,
|
cols = 2,
|
||||||
hideFreeDomain = false,
|
hideFreeDomain = false,
|
||||||
defaultSubdomain,
|
defaultSubdomain,
|
||||||
defaultBaseDomain
|
defaultFullDomain,
|
||||||
|
defaultDomainId
|
||||||
}: DomainPickerProps) {
|
}: DomainPickerProps) {
|
||||||
const { env } = useEnvContext();
|
const { env } = useEnvContext();
|
||||||
const api = createApiClient({ env });
|
const api = createApiClient({ env });
|
||||||
@@ -139,7 +141,7 @@ export default function DomainPicker({
|
|||||||
// Select the first organization domain or the one provided from props
|
// Select the first organization domain or the one provided from props
|
||||||
const firstOrgDomain =
|
const firstOrgDomain =
|
||||||
organizationDomains.find(
|
organizationDomains.find(
|
||||||
(domain) => domain.baseDomain === defaultBaseDomain
|
(domain) => domain.domainId === defaultDomainId
|
||||||
) ?? organizationDomains[0];
|
) ?? organizationDomains[0];
|
||||||
const domainOption: DomainOption = {
|
const domainOption: DomainOption = {
|
||||||
id: `org-${firstOrgDomain.domainId}`,
|
id: `org-${firstOrgDomain.domainId}`,
|
||||||
@@ -175,12 +177,7 @@ export default function DomainPicker({
|
|||||||
setSelectedBaseDomain(freeDomainOption);
|
setSelectedBaseDomain(freeDomainOption);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [
|
}, [hideFreeDomain, loadingDomains, organizationDomains, defaultDomainId]);
|
||||||
hideFreeDomain,
|
|
||||||
loadingDomains,
|
|
||||||
organizationDomains,
|
|
||||||
defaultBaseDomain
|
|
||||||
]);
|
|
||||||
|
|
||||||
const checkAvailability = useCallback(
|
const checkAvailability = useCallback(
|
||||||
async (input: string) => {
|
async (input: string) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user