fix(domain-manager): correct domain URL reference and filter logic (#12074)

Updated URL reference from getFrontUrl to getBaseUrl to ensure correct
hostname handling. Adjusted record filtering logic to exclude successful
records, preventing unnecessary rendering in the UI.
This commit is contained in:
Antoine Moreaux
2025-05-15 19:35:55 +02:00
committed by GitHub
parent 09d92c9113
commit 1570ad955e
4 changed files with 41 additions and 37 deletions

View File

@ -92,18 +92,20 @@ export const SettingsCustomDomain = () => {
Icon={IconTrash} Icon={IconTrash}
variant="primary" variant="primary"
onClick={deleteCustomDomain} onClick={deleteCustomDomain}
type="button"
/> />
</StyledButtonGroup> </StyledButtonGroup>
</StyledDomainFormWrapper> </StyledDomainFormWrapper>
{currentWorkspace?.customDomain && ( {currentWorkspace?.customDomain && (
<StyledRecordsWrapper> <StyledRecordsWrapper>
<SettingsCustomDomainRecordsStatus /> <SettingsCustomDomainRecordsStatus />
{customDomainRecords && ( {customDomainRecords &&
<SettingsCustomDomainRecords customDomainRecords.records.some(
records={customDomainRecords.records} (record) => record.status !== 'success',
/> ) && (
)} <SettingsCustomDomainRecords
records={customDomainRecords.records}
/>
)}
</StyledRecordsWrapper> </StyledRecordsWrapper>
)} )}
</Section> </Section>

View File

@ -70,33 +70,35 @@ export const SettingsCustomDomainRecords = ({
<TableHeader>Value</TableHeader> <TableHeader>Value</TableHeader>
</TableRow> </TableRow>
<TableBody> <TableBody>
{records.map((record) => ( {records
<TableRow gridAutoColumns="30% 16% auto" key={record.key}> .filter((record) => record.status !== 'success')
<StyledTableCell> .map((record) => (
<StyledButton <TableRow gridAutoColumns="30% 16% auto" key={record.key}>
title={record.key} <StyledTableCell>
onClick={() => copyToClipboardDebounced(record.key)} <StyledButton
type="button" title={record.key}
/> onClick={() => copyToClipboardDebounced(record.key)}
</StyledTableCell> type="button"
<StyledTableCell> />
<StyledButton </StyledTableCell>
title={record.type.toUpperCase()} <StyledTableCell>
onClick={() => <StyledButton
copyToClipboardDebounced(record.type.toUpperCase()) title={record.type.toUpperCase()}
} onClick={() =>
type="button" copyToClipboardDebounced(record.type.toUpperCase())
/> }
</StyledTableCell> type="button"
<StyledTableCell> />
<StyledButton </StyledTableCell>
title={record.value} <StyledTableCell>
onClick={() => copyToClipboardDebounced(record.value)} <StyledButton
type="button" title={record.value}
/> onClick={() => copyToClipboardDebounced(record.value)}
</StyledTableCell> type="button"
</TableRow> />
))} </StyledTableCell>
</TableRow>
))}
</TableBody> </TableBody>
</StyledTable> </StyledTable>
); );

View File

@ -36,7 +36,7 @@ describe('CustomDomainService', () => {
{ {
provide: DomainManagerService, provide: DomainManagerService,
useValue: { useValue: {
getFrontUrl: jest.fn(), getBaseUrl: jest.fn(),
}, },
}, },
], ],
@ -148,7 +148,7 @@ describe('CustomDomainService', () => {
jest.spyOn(twentyConfigService, 'get').mockReturnValue('test-zone-id'); jest.spyOn(twentyConfigService, 'get').mockReturnValue('test-zone-id');
jest jest
.spyOn(domainManagerService, 'getFrontUrl') .spyOn(domainManagerService, 'getBaseUrl')
.mockReturnValue(new URL('https://front.domain')); .mockReturnValue(new URL('https://front.domain'));
(customDomainService as any).cloudflareClient = cloudflareMock; (customDomainService as any).cloudflareClient = cloudflareMock;
@ -185,7 +185,7 @@ describe('CustomDomainService', () => {
jest.spyOn(twentyConfigService, 'get').mockReturnValue('test-zone-id'); jest.spyOn(twentyConfigService, 'get').mockReturnValue('test-zone-id');
jest jest
.spyOn(domainManagerService, 'getFrontUrl') .spyOn(domainManagerService, 'getBaseUrl')
.mockReturnValue(new URL('https://front.domain')); .mockReturnValue(new URL('https://front.domain'));
(customDomainService as any).cloudflareClient = cloudflareMock; (customDomainService as any).cloudflareClient = cloudflareMock;

View File

@ -133,7 +133,7 @@ export class CustomDomainService {
? 'error' ? 'error'
: 'success', : 'success',
key: response.result[0].hostname, key: response.result[0].hostname,
value: this.domainManagerService.getFrontUrl().hostname, value: this.domainManagerService.getBaseUrl().hostname,
}, },
]), ]),
}; };