diff --git a/src/lib/i18n/locales/en/common.ts b/src/lib/i18n/locales/en/common.ts index 68c6fa2d7..ef5e78bdc 100644 --- a/src/lib/i18n/locales/en/common.ts +++ b/src/lib/i18n/locales/en/common.ts @@ -169,4 +169,5 @@ export const Strings = { description: 'Description', active: 'Active', inactive: 'Inactive', + 'page-not-found': 'Page Not Found', } as const; diff --git a/src/lib/i18n/locales/en/nexus.ts b/src/lib/i18n/locales/en/nexus.ts index b6f2bc5d7..d89ef6185 100644 --- a/src/lib/i18n/locales/en/nexus.ts +++ b/src/lib/i18n/locales/en/nexus.ts @@ -30,7 +30,7 @@ export const Strings = { 'delete-modal-confirmation': 'Are you sure you want to delete {{endpoint}}? Any Workflows calling this endpoint will encounter failures.', 'delete-modal-confirmation-label': - 'Type “DELETE {{endpoint}}" to delete this endpoint.', + 'Type “{{endpoint}}" to delete this endpoint.', 'endpoint-name-hint': 'Endpoint name must start with A-Z, a-z or _ and can only contain A-Z, a-z, 0-9, or _', 'access-policy': 'Access Policy', diff --git a/src/lib/pages/nexus-edit-endpoint.svelte b/src/lib/pages/nexus-edit-endpoint.svelte index c0c03ae77..fa7005a24 100644 --- a/src/lib/pages/nexus-edit-endpoint.svelte +++ b/src/lib/pages/nexus-edit-endpoint.svelte @@ -72,20 +72,20 @@ cancelText={translate('common.cancel')} on:confirmModal={onDelete} on:cancelModal={() => (deleteConfirmationModalOpen = false)} - confirmDisabled={confirmDeleteInput !== `DELETE ${endpoint.id}`} + confirmDisabled={confirmDeleteInput !== endpoint.spec.name} >

{translate('nexus.delete-modal-title')}

{translate('nexus.delete-modal-confirmation', { - endpoint: endpoint.id, + endpoint: endpoint.spec.name, })}

diff --git a/src/lib/services/nexus-service.ts b/src/lib/services/nexus-service.ts index 2c16489c2..52289d96e 100644 --- a/src/lib/services/nexus-service.ts +++ b/src/lib/services/nexus-service.ts @@ -24,6 +24,7 @@ export const fetchNexusEndpoint = async ( const route = routeForApi('nexus-endpoint', { endpointId: id }); const endpoint = await requestFromAPI<{ endpoint: NexusEndpoint }>(route, { request, + notifyOnError: false, }); return endpoint; }; diff --git a/src/routes/(app)/nexus/[id]/+layout.svelte b/src/routes/(app)/nexus/[id]/+layout.svelte new file mode 100644 index 000000000..08cf9e9d7 --- /dev/null +++ b/src/routes/(app)/nexus/[id]/+layout.svelte @@ -0,0 +1,22 @@ + + +{#if !endpoint} + +{:else} + +{/if} diff --git a/src/routes/(app)/nexus/[id]/+layout.ts b/src/routes/(app)/nexus/[id]/+layout.ts index dd3a0d051..6523eaee8 100644 --- a/src/routes/(app)/nexus/[id]/+layout.ts +++ b/src/routes/(app)/nexus/[id]/+layout.ts @@ -3,19 +3,28 @@ import { decodeSingleReadablePayloadWithCodec } from '$lib/utilities/decode-payl export const load = async ({ params, fetch, parent }) => { const { id } = params; - const { endpoint } = await fetchNexusEndpoint(id, fetch); - const data = await parent(); - let description = ''; - if (endpoint?.spec?.description?.data) { - const decodedDescription = await decodeSingleReadablePayloadWithCodec( - endpoint.spec.description, - data.settings, - ); - description = decodedDescription; + try { + const { endpoint } = await fetchNexusEndpoint(id, fetch); + const data = await parent(); + + let description = ''; + try { + if (endpoint?.spec?.description?.data) { + const decodedDescription = await decodeSingleReadablePayloadWithCodec( + endpoint.spec.description, + data.settings, + ); + description = decodedDescription; + } + } catch (e) { + console.error('Error decoding Nexus Endpoint description:', e); + } + endpoint.spec.descriptionString = description; + return { + endpoint, + }; + } catch (e) { + console.error('Error loading Nexus Endpoint:', e); } - endpoint.spec.descriptionString = description; - return { - endpoint, - }; };