Skip to content

createAdminComponent

createAdminComponent(tableMetas): () => ReactElement

Defined in: packages/admin/src/components/admin-root.tsx:48

Create the root admin React component from introspected table metadata.

Returns a React component that reads AdminLoaderData from React Router’s useLoaderData and AdminActionResult from useActionData, then renders the appropriate admin view (dashboard, list, detail, create, edit, users, or error).

The component includes a sidebar, impersonation banner, and wraps everything in a ConfirmProvider from @cfast/ui.

Use this instead of createAdmin when you need server/client code splitting (this function is safe for client bundles since it only depends on table metadata, not on DB or auth server code).

AdminTableMeta[]

Table metadata from introspectSchema. Used to resolve Drizzle table references for forms and primary key lookups.

A React component to use as the default export of your admin route.

(): ReactElement

ReactElement

app/routes/admin.tsx
import { createAdminComponent, introspectSchema } from "@cfast/admin";
import { adminLoader, adminAction } from "~/admin.server";
import * as schema from "~/schema";
const tableMetas = introspectSchema(schema);
const AdminComponent = createAdminComponent(tableMetas);
export const loader = adminLoader;
export const action = adminAction;
export default AdminComponent;