-
- {labels.preview}
-
+ {surface === "preview" ? (
+
+ {labels.preview}
+
+ ) : null}
diff --git a/src/features/housekeeping/route-handlers.test.ts b/src/features/housekeeping/route-handlers.test.ts
index 0fedcbde..4fd342e8 100644
--- a/src/features/housekeeping/route-handlers.test.ts
+++ b/src/features/housekeeping/route-handlers.test.ts
@@ -2,6 +2,7 @@ import { describe, expect, it } from "vitest";
import { CONTENT_ROUTE_IDS } from "./domains/content/routes";
import { ECONOMY_ROUTE_IDS } from "./domains/economy/routes";
import { HOTEL_ROUTE_IDS } from "./domains/hotel/routes";
+import { OPERATIONS_ROUTES } from "./domains/operations/routes";
import { PEOPLE_ROUTE_IDS } from "./domains/people/routes";
import { SYSTEM_ROUTE_IDS } from "./domains/system/routes";
import { createHousekeepingRegistry } from "./foundation/registry";
@@ -21,6 +22,7 @@ describe("housekeeping route handlers", () => {
expect(new Set(handlerIds).size).toBe(handlerIds.length);
expect([...handlerIds].sort()).toEqual([...routeIds].sort());
expect(handlerIds).toEqual([
+ ...OPERATIONS_ROUTES.map((route) => route.id),
...PEOPLE_ROUTE_IDS,
...CONTENT_ROUTE_IDS,
...ECONOMY_ROUTE_IDS,
diff --git a/src/features/housekeeping/route-handlers.ts b/src/features/housekeeping/route-handlers.ts
index 0fe16e7b..fd0a59c1 100644
--- a/src/features/housekeeping/route-handlers.ts
+++ b/src/features/housekeeping/route-handlers.ts
@@ -2,10 +2,15 @@ import type { ReactNode } from "react";
import { CONTENT_ROUTE_HANDLERS } from "./domains/content/route-handlers";
import { ECONOMY_ROUTE_HANDLERS } from "./domains/economy/route-handlers";
import { HOTEL_ROUTE_HANDLERS } from "./domains/hotel/route-handlers";
+import { OPERATIONS_ROUTE_HANDLERS } from "./domains/operations/route-handlers";
import { PEOPLE_ROUTE_HANDLERS } from "./domains/people/route-handlers";
import { SYSTEM_ROUTE_HANDLERS } from "./domains/system/route-handlers";
-import type { HousekeepingCapabilityContext } from "./foundation/contracts";
+import type {
+ HousekeepingCapabilityContext,
+ HousekeepingSurface,
+} from "./foundation/contracts";
import type { HousekeepingRouteMatch } from "./foundation/routing/match-route";
+import type { HousekeepingPreferenceSaver } from "./foundation/shell/widget-settings";
export interface HousekeepingPageInput {
readonly context: HousekeepingCapabilityContext;
@@ -13,6 +18,8 @@ export interface HousekeepingPageInput {
readonly searchParams?: Readonly<
Record
>;
+ readonly surface?: HousekeepingSurface;
+ readonly savePreferences?: HousekeepingPreferenceSaver;
}
export interface HousekeepingRouteHandler {
@@ -22,6 +29,7 @@ export interface HousekeepingRouteHandler {
export const HOUSEKEEPING_ROUTE_HANDLERS: readonly HousekeepingRouteHandler[] =
Object.freeze([
+ ...OPERATIONS_ROUTE_HANDLERS,
...PEOPLE_ROUTE_HANDLERS,
...CONTENT_ROUTE_HANDLERS,
...ECONOMY_ROUTE_HANDLERS,