Files
plainpages/examples/config/menu.ts
T

29 lines
1.5 KiB
TypeScript

// Reference config/menu.ts — copy into the empty config/ mount at the repo root:
// cp examples/config/menu.ts config/menu.ts
// Absent config = built-in defaults.
//
// Brand the app, reorder/rename/group/hide nav nodes and rename/hide profile-menu entries (by their
// `id`) across all plugins — the override always wins, applied before the per-user permission
// filter. Every field is optional.
// See src/ui/menu-config.ts (types), src/ui/nav.ts (NavOverride), README → The menu system.
import { defineMenu } from "#menu-config";
export default defineMenu({
branding: {
name: "Plainpages", // app name shown in the sidebar
sub: "Console", // optional subtitle under the name — a catalog key here would be translated
// logo: "/public/logo.svg", // optional logo asset (rendered in the sidebar brand)
// theme: "auto", // default color theme: auto | light | dark
},
// Operator override (rename → group → order → hide), keyed by nav-node id; `rename` and `hide` also
// take a profile-menu entry's id, such as "scheduling:profile-mine".
override: {
// rename: { people: "Staff" }, // node id → new label (or a catalog key)
// groups: [{ id: "admin", label: "Admin", children: ["users", "groups"] }],
// order: ["people", "reports"], // top-level order by id
// hide: ["teams"], // remove nodes (any depth)
},
});