From 9bcb9f25120d4ecb4eb5bfbd0fbb033f7fb48a5a Mon Sep 17 00:00:00 2001 From: Thomas Zerr Date: Mon, 26 May 2025 17:10:36 +0200 Subject: [PATCH] Add un-escaped url prop in repository nav extension point The url needs to be escaped for the route component, so that react-router can perform his matching logic. But additionally, the components rendered within the extension point also need the unescaped url to create further links based on this url. --- scm-ui/ui-extensions/src/extensionPoints.tsx | 4 ++-- scm-ui/ui-webapp/src/repos/containers/RepositoryRoot.tsx | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scm-ui/ui-extensions/src/extensionPoints.tsx b/scm-ui/ui-extensions/src/extensionPoints.tsx index b6d4fe062f..63b4371bf5 100644 --- a/scm-ui/ui-extensions/src/extensionPoints.tsx +++ b/scm-ui/ui-extensions/src/extensionPoints.tsx @@ -602,7 +602,7 @@ export type RepositorySourcesContentDownloadButton = RenderableExtensionPointDef export type RepositoryRoute = RenderableExtensionPointDefinition< "repository.route", - { repository: Repository; url: string; indexLinks: Links } + { repository: Repository; url: string; indexLinks: Links; urlForLinks: string } >; type RepositoryRedirectProps = { @@ -686,7 +686,7 @@ export type RepositoryInformationTableBottom = RenderableExtensionPointDefinitio export type RepositoryBanner = RenderableExtensionPointDefinition< "repository.banner", - { repository: Repository, url: string } + { repository: Repository; url: string } >; export type UserInformationTableBottom = RenderableExtensionPointDefinition< diff --git a/scm-ui/ui-webapp/src/repos/containers/RepositoryRoot.tsx b/scm-ui/ui-webapp/src/repos/containers/RepositoryRoot.tsx index a421fef750..4cf32c6118 100644 --- a/scm-ui/ui-webapp/src/repos/containers/RepositoryRoot.tsx +++ b/scm-ui/ui-webapp/src/repos/containers/RepositoryRoot.tsx @@ -343,6 +343,7 @@ const RepositoryRoot = () => { repository, url: urls.escapeUrlForRoute(url), indexLinks, + urlForLinks: url, }} renderAll={true} />