feat(housekeeping): add global command deck search
CI / check (pull_request) Successful in 38s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped

This commit is contained in:
Simo committed 2026-08-30 15:59:48 +02:00
1 parent 2e95a106e0
commit bcb0ca977f
18 files changed
+1353 -23

No files matched your search

@@ -1,17 +1,31 @@
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
import { describe, expect, it, vi } from "vitest";
import type { HousekeepingNavigationDomain } from "../navigation";
import { HousekeepingShell } from "./housekeeping-shell";
vi.mock("@/actions/housekeeping-search", () => ({
executeHousekeepingSearch: vi.fn(),
}));
const labels = {
skipToContent: "Skip to housekeeping content",
primaryNavigation: "Primary housekeeping navigation",
contextualNavigation: "Operations navigation",
command: "Commands are unavailable in preview",
command: "Search housekeeping",
preview: "Preview",
backToSite: "Back to site",
commandDeck: {
placeholder: "Search navigation, commands, and entities",
navigation: "Navigation",
commands: "Commands",
entities: "Entities",
loading: "Searching…",
empty: "No results",
partial: "Some providers are unavailable",
close: "Close",
},
};
const domains: readonly HousekeepingNavigationDomain[] = [
@@ -185,9 +199,9 @@ describe("HousekeepingShell", () => {
expect(html).toContain(">Preview<");
expect(html).toContain('href="/"');
expect(html).toContain(">Back to site<");
expect(html).toMatch(
/<button type="button" disabled=""[^>]*>Commands are unavailable in preview<\/button>/,
);
expect(html).toContain('aria-haspopup="dialog"');
expect(html).toContain(">Search housekeeping<");
expect(html).not.toContain('disabled=""');
});
it("maps all six authorized icons and exactly one active domain", () => {