From 5620fae1167eb45c2344ce71e20d3e2870e19afd Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Tue, 5 May 2026 08:50:47 +0200 Subject: [PATCH] feat(navigation): add bindProductionNavigation(config) DI helper --- packages/navigation/package.json | 3 ++- packages/navigation/src/di/bind-production.ts | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 packages/navigation/src/di/bind-production.ts diff --git a/packages/navigation/package.json b/packages/navigation/package.json index 5c6a32f..5d9dc3c 100644 --- a/packages/navigation/package.json +++ b/packages/navigation/package.json @@ -6,7 +6,8 @@ "exports": { ".": "./src/index.ts", "./cms": "./src/integrations/cms/index.ts", - "./api": "./src/integrations/api/router.ts" + "./api": "./src/integrations/api/router.ts", + "./di/bind-production": "./src/di/bind-production.ts" }, "scripts": { "build": "tsc --noEmit", diff --git a/packages/navigation/src/di/bind-production.ts b/packages/navigation/src/di/bind-production.ts new file mode 100644 index 0000000..2e0c0b5 --- /dev/null +++ b/packages/navigation/src/di/bind-production.ts @@ -0,0 +1,13 @@ +import type { SanitizedConfig } from "payload"; +import { navigationContainer } from "./container"; +import { NAVIGATION_SYMBOLS } from "./symbols"; +import { PayloadHeaderRepository } from "../infrastructure/repositories/payload-header.repository"; + +export function bindProductionNavigation(config: SanitizedConfig): void { + if (navigationContainer.isBound(NAVIGATION_SYMBOLS.IHeaderRepository)) { + navigationContainer.unbind(NAVIGATION_SYMBOLS.IHeaderRepository); + } + navigationContainer + .bind(NAVIGATION_SYMBOLS.IHeaderRepository) + .toConstantValue(new PayloadHeaderRepository(config)); +}