Add breadcrumbs to all policy section routes

All policy child routes were missing data.breadcrumb, causing the
breadcrumb trail to show only "Policy" regardless of depth.

Added breadcrumbs to: Packs, Governance, Simulation, VEX & Exceptions,
Gate Catalog, Gate Simulation, Environment/Release/Approval Gates,
and Audit. Tab children intentionally omit breadcrumbs since the
tab label provides that context.

Breadcrumb trails now show e.g. "Policy > Governance" or
"Policy > Simulation" matching the sidebar navigation hierarchy.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-03-28 20:49:39 +02:00
parent f57b5efb31
commit ba900dae12

View File

@@ -185,6 +185,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'packs',
title: 'Policy Packs',
data: { breadcrumb: 'Packs' },
loadComponent: () =>
import('./policy-pack-shell.component').then(
(m) => m.PolicyPackShellComponent,
@@ -261,6 +262,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'governance',
title: 'Policy Governance',
data: { breadcrumb: 'Governance' },
loadChildren: () =>
import('../policy-governance/policy-governance.routes').then(
(m) => m.policyGovernanceRoutes,
@@ -269,6 +271,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'simulation',
title: 'Policy Simulation',
data: { breadcrumb: 'Simulation' },
loadChildren: () =>
import('../policy-simulation/policy-simulation.routes').then(
(m) => m.policySimulationRoutes,
@@ -277,6 +280,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'vex',
title: 'VEX & Exceptions',
data: { breadcrumb: 'VEX & Exceptions' },
loadComponent: () =>
import('./policy-decisioning-vex-shell.component').then(
(m) => m.PolicyDecisioningVexShellComponent,
@@ -375,6 +379,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'gates/catalog',
title: 'Policy Gate Catalog',
data: { breadcrumb: 'Gate Catalog' },
loadComponent: () =>
import('../policy-gates/components/policy-preview-panel/policy-preview-panel.component').then(
(m) => m.PolicyPreviewPanelComponent,
@@ -383,6 +388,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'gates/simulate/:promotionId',
title: 'Gate Simulation',
data: { breadcrumb: 'Gate Simulation' },
loadComponent: () =>
import('../policy-gates/components/bundle-simulator/bundle-simulator.component').then(
(m) => m.BundleSimulatorComponent,
@@ -391,6 +397,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'gates/environments/:environment',
title: 'Environment Gate Review',
data: { breadcrumb: 'Environment Gates' },
loadComponent: () =>
import('./policy-decisioning-gates-page.component').then(
(m) => m.PolicyDecisioningGatesPageComponent,
@@ -399,6 +406,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'gates/releases/:releaseId',
title: 'Release Gate Review',
data: { breadcrumb: 'Release Gates' },
loadComponent: () =>
import('./policy-decisioning-gates-page.component').then(
(m) => m.PolicyDecisioningGatesPageComponent,
@@ -407,6 +415,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'gates/approvals/:approvalId',
title: 'Approval Gate Review',
data: { breadcrumb: 'Approval Gates' },
loadComponent: () =>
import('./policy-decisioning-gates-page.component').then(
(m) => m.PolicyDecisioningGatesPageComponent,
@@ -415,6 +424,7 @@ export const policyDecisioningRoutes: Routes = [
{
path: 'audit',
title: 'Policy Audit',
data: { breadcrumb: 'Audit' },
loadComponent: () =>
import('./policy-decisioning-audit-shell.component').then(
(m) => m.PolicyDecisioningAuditShellComponent,