interface

AdminConfig

Settings exported from admin/src/admin.config.ts to customize one application’s admin.

Example

ts
import { defineAdmin } from '@riducms/plugin/admin';
import { generatedAdminPlugins } from './ridu.plugins.generated';
import WelcomePanel from './components/welcome-panel.svelte';

export default defineAdmin({
  plugins: generatedAdminPlugins,
  dashboard: [
    { key: 'welcome', component: WelcomePanel, position: 'before' }
  ]
});

Properties

PropertyTypeDescription
rowLabelsReadonly<Record<`app:${string}`, RegisteredRowLabel>>Optional. Array and block headings made with defineRowLabel. Select their app:name keys through Admin.RowLabel in Go.
pluginsreadonly AdminPlugin[]Optional. Installed admin packages. Keep generatedAdminPlugins here so plugins installed through the CLI, such as rich text, are loaded.
messagesPluginMessageCatalogOptional. Application interface messages made with defineAdminMessages; use app:messageName to translate them.
languagesreadonly TranslationLanguage[]Optional. Bundled translations for the admin interface. These are separate from the locales used for document content.
routesreadonly AdminRoute[]Optional. Add pages inside the admin, each with a relative path, component, and optional navigation link. Plugin routes must also appear in the Go descriptor.
dashboardPanelsreadonly AdminDashboardPanel[]Optional. Add panels before or after the dashboard, or replace it. Each entry names a key, component, and position; the default position is after.
loginreadonly AdminLoginComponent[]Optional. Add content before or after sign-in, or replace the screen. A replacement can render defaultView to retain the login form.
accountreadonly AdminAccountComponent[]Optional. Add content to or replace the profile or security screen, selected by surface.
navigationreadonly AdminNavigationComponent[]Optional. Add content around the navigation links or replace navigation. Use routes for a new page with its own navigation link.
logoutButtonAdminLogoutButtonOptional. Replace the account menu’s sign-out control. The component receives host.logout() to end the session.
coreViewsreadonly AdminCoreView[]Optional. Wrap or replace collection lists, create/edit forms, global editors, or the not-found page. The component can render defaultView to keep the built-in screen.
brandingreadonly AdminBrandComponent[]Optional. Replace the login logo, navigation logo, or account avatar. Each location accepts one replacement.
shellSlotsreadonly AdminShellSlot[]Optional. Add a component to the header, global actions, or account settings menu.
providersreadonly AdminProvider[]Optional. Share context between components by wrapping the admin. The first provider is outermost; every provider must render defaultView.
listCellRenderersreadonly AdminListCellRenderer[]Optional. Change how a field appears in a collection table. Each entry selects a collection, field path, and component.
listResultsRenderersreadonly AdminListResultsRenderer[]Replace only the results layout; Ridu retains list loading, controls and pagination.
documentActionsreadonly AdminDocumentAction[]Optional. Add buttons to saved collection documents. A component implements the action; an optional requires permission hides it when the user lacks that permission.
documentViewsreadonly AdminDocumentView[]Optional. Add tabs beside Edit and API on saved documents or globals. Each entry includes a key, label, and component; collection can limit where it appears.
fieldEditorsReadonly<Record<`app:${string}`, RegisteredFieldEditor>>Custom field inputs selected by Go field.Admin{Editor: field.Component("app:name")}. Use defineFieldEditor for each entry.

How it works

Use the linked registration helper to create this value. Component arrays keep their order; installed plugin entries come before application entries. Each replacement location accepts one component.

Full signature

Related guides