feat(housekeeping): cut over administration to ase

This commit is contained in:
2026-08-30 20:35:22 +02:00
parent c9e35cf602
commit 2b8f73a91d
457 changed files with 589 additions and 55936 deletions
@@ -1,9 +1,6 @@
"use client";
import type {
HousekeepingRouteDefinition,
HousekeepingSurface,
} from "../../../foundation/contracts";
import type { HousekeepingRouteDefinition } from "../../../foundation/contracts";
import type { HousekeepingPreferences } from "../../../foundation/preferences/schema";
import type { HousekeepingWidgetOption } from "../../../foundation/preferences/widget-options";
import type { HousekeepingWidgetLoadResult } from "../../../foundation/registry";
@@ -47,7 +44,6 @@ export function OperationsPersonalization({
routes,
widgets,
widgetResult,
surface,
labels,
routeTitles,
widgetTitles,
@@ -57,7 +53,6 @@ export function OperationsPersonalization({
readonly routes: readonly HousekeepingRouteDefinition[];
readonly widgets: readonly HousekeepingWidgetOption[];
readonly widgetResult: HousekeepingWidgetLoadResult;
readonly surface: HousekeepingSurface;
readonly labels: OperationsPersonalizationLabels;
readonly routeTitles: Readonly<Record<string, string>>;
readonly widgetTitles: Readonly<Record<string, string>>;
@@ -69,7 +64,6 @@ export function OperationsPersonalization({
<Favorites
preferences={preferences}
routes={routes}
surface={surface}
savePreferences={savePreferences}
labels={labels.favorites}
titles={routeTitles}
@@ -123,7 +123,6 @@ describe("OperationsWorkspacePage", () => {
result={result}
routes={routes}
widgetDefinitions={widgets}
surface="preview"
labels={labels}
routeTitles={routeTitles}
widgetTitles={widgetTitles}
@@ -138,7 +137,7 @@ describe("OperationsWorkspacePage", () => {
expect(html).toContain("Some workspace sections are unavailable");
expect(html).not.toContain("system.alerts");
expect(html).not.toContain("system.health");
expect(html).toContain('href="/ase-next/people/users"');
expect(html).toContain('href="/ase/people/users"');
});
it("renders an explicit state when no operational domain is accessible", () => {
@@ -147,7 +146,6 @@ describe("OperationsWorkspacePage", () => {
result={result}
routes={[]}
widgetDefinitions={[]}
surface="preview"
labels={labels}
routeTitles={{}}
widgetTitles={{}}
@@ -1,7 +1,4 @@
import type {
HousekeepingRouteDefinition,
HousekeepingSurface,
} from "../../../foundation/contracts";
import type { HousekeepingRouteDefinition } from "../../../foundation/contracts";
import { HousekeepingPageShell } from "../../../foundation/page/housekeeping-page-shell";
import type { HousekeepingWidgetOption } from "../../../foundation/preferences/widget-options";
import { OperationalInbox } from "../../../foundation/shell/operational-inbox";
@@ -41,7 +38,6 @@ export function OperationsWorkspacePage({
result,
routes,
widgetDefinitions,
surface,
labels,
routeTitles,
widgetTitles,
@@ -51,7 +47,6 @@ export function OperationsWorkspacePage({
readonly result: OperationsWorkspaceLoadResult;
readonly routes: readonly HousekeepingRouteDefinition[];
readonly widgetDefinitions: readonly HousekeepingWidgetOption[];
readonly surface: HousekeepingSurface;
readonly labels: OperationsWorkspaceLabels;
readonly routeTitles: Readonly<Record<string, string>>;
readonly widgetTitles: Readonly<Record<string, string>>;
@@ -93,13 +88,11 @@ export function OperationsWorkspacePage({
<div className="grid gap-6 xl:grid-cols-2">
<OperationalInbox
response={result.model.inbox}
surface={surface}
labels={labels.inbox}
titles={inboxTitles}
/>
<RecentWork
items={result.model.recent}
surface={surface}
labels={labels.recent}
titles={routeTitles}
/>
@@ -110,7 +103,6 @@ export function OperationsWorkspacePage({
routes={routes}
widgets={widgetDefinitions}
widgetResult={result.model.widgets}
surface={surface}
labels={labels}
routeTitles={routeTitles}
widgetTitles={widgetTitles}
@@ -140,7 +140,6 @@ export async function renderOperationsWorkspacePage(
result: workspaceResult,
routes,
widgetDefinitions: toHousekeepingWidgetOptions(widgetDefinitions),
surface: input.surface ?? "preview",
labels,
routeTitles,
widgetTitles,