in src/components/Breadcrumb/index.tsx [335:373]
export function findAdditionalButtons(routeMatch: match<KnownURLParams> | null, location: string): BreadcrumbButtons[] {
if (routeMatch === null) return [];
const queryParams = new URLSearchParams(location);
const buttons = [];
const params = routeMatch.params;
const flowValue = queryParams.get('flow_id') || params.flowId;
if (flowValue && flowValue.split(',').length === 1) {
buttons.push({
label: `${flowValue}`,
path: getPath.home() + '?flow_id=' + flowValue,
});
}
if (params.flowId && params.runNumber) {
buttons.push({
label: `${params.runNumber}`,
path: getPath.timeline(params.flowId, params.runNumber),
});
}
// Special case since step name might be found from route params or query params.
const stepValue = queryParams.get('steps') || params.stepName;
if (params.flowId && params.runNumber && stepValue) {
buttons.push({
label: stepValue,
path: getPath.step(params.flowId, params.runNumber, stepValue || 'undefined'),
});
}
if (params.flowId && params.runNumber && params.stepName && params.taskId) {
buttons.push({
label: params.taskId,
path: getPath.task(params.flowId, params.runNumber, params.stepName, params.taskId),
});
}
return buttons;
}