diff --git a/.changeset/odd-plums-bake.md b/.changeset/odd-plums-bake.md new file mode 100644 index 0000000000..f06bf4d61d --- /dev/null +++ b/.changeset/odd-plums-bake.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-adr': patch +--- + +use path attribute to fetch files instead of name diff --git a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx index eb5b4aed21..58183b5230 100644 --- a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx +++ b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx @@ -47,7 +47,7 @@ import { import { rootRouteRef } from '../../routes'; import { AdrContentDecorator, AdrReader } from '../AdrReader'; -import { adrApiRef } from '../../api'; +import { adrApiRef, AdrFileInfo } from '../../api'; import useAsync from 'react-use/lib/useAsync'; const useStyles = makeStyles((theme: Theme) => ({ @@ -68,9 +68,7 @@ export const EntityAdrContent = (props: { const classes = useStyles(); const { entity } = useEntity(); const rootLink = useRouteRef(rootRouteRef); - const [adrList, setAdrList] = useState< - { name: string; title?: string; status?: string; date?: string }[] - >([]); + const [adrList, setAdrList] = useState([]); const [searchParams, setSearchParams] = useSearchParams(); const scmIntegrations = useApi(scmIntegrationsApiRef); const adrApi = useApi(adrApiRef); @@ -82,7 +80,8 @@ export const EntityAdrContent = (props: { }, [entity, scmIntegrations]); const selectedAdr = - adrList.find(adr => adr.name === searchParams.get('record'))?.name ?? ''; + adrList.find(adr => adr.name === searchParams.get('record'))?.path ?? ''; + useEffect(() => { if (adrList.length && !selectedAdr) { searchParams.set('record', adrList[0].name); @@ -95,15 +94,13 @@ export const EntityAdrContent = (props: { return; } - const adrs = value.data - .filter( - (item: { type: string; name: string }) => - item.type === 'file' && - (filePathFilterFn - ? filePathFilterFn(item.name) - : madrFilePathFilter(item.name)), - ) - .map(({ name, title, status, date }) => ({ name, title, status, date })); + const adrs: AdrFileInfo[] = value.data.filter( + (item: AdrFileInfo) => + item.type === 'file' && + (filePathFilterFn + ? filePathFilterFn(item.name) + : madrFilePathFilter(item.name)), + ); setAdrList(adrs); }, [filePathFilterFn, value]); @@ -148,7 +145,7 @@ export const EntityAdrContent = (props: { button component={Link} to={`${rootLink()}?record=${adr.name}`} - selected={selectedAdr === adr.name} + selected={selectedAdr === adr.path} >