← All components

Admin Dashboard Core

Minimal /admin shell: sidebar nav, a dashboard overview page, and a settings page that reads lib/admin-config.ts. Users/Billing/Audit Log/Security render as visibly disabled "coming soon" nav items, not fake pages. Config is read/written via BotKelp's get_admin_config/save_admin_config MCP tools, gated by your BotKelp API key — there is no separate admin login built in.

Copy the files below, or open this folder on GitHub. Each file is stamped with a limited-use licence, generator and date. SHA-256 is of the published catalog bytes, before the stamp.

id
admin-dashboard-core
stack
Next.js
version
1.0.0
compatibility
nextjs >=16 <17 · react >=19 <20
requires
tailwind
env vars
BOTKELP_API_KEY
Verified passing · daily buildIntegrity sha256:01ad2c5f0fb1c424

Files (4)

lib/admin-config.ts · sha256:01ad2c5f0fb1c424…
// Licensed by BotKelp — https://www.botkelp.com

/**
 * Admin dashboard customisation, sourced from BotKelp's get_admin_config MCP
 * tool. DEFAULT_ADMIN_CONFIG is a safe fallback so /admin works even if you
 * never call the config tools. To change these values, use an MCP-capable
 * agent with your BotKelp API key: call get_admin_config to read the current
 * values, save_admin_config to write new ones. There is no in-app settings
 * write path — see app/admin/settings/page.tsx.
 */

export interface AdminConfig {
  brandName: string;
  theme: 'default' | 'light' | 'dark';
  enabledModules: string[];
  roleNames: Record<string, string>;
}

export const DEFAULT_ADMIN_CONFIG: AdminConfig = {
  brandName: '<%= projectName %>',
  theme: 'default',
  enabledModules: ['dashboard', 'settings'],
  roleNames: {
    admin: 'Admin',
    member: 'Member',
  },
};

/**
 * Returns the current admin config. This ships as the default only — wire
 * this up to your own data source if you want get_admin_config's saved
 * values to actually reach this function at runtime.
 */
export function getAdminConfig(): AdminConfig {
  return DEFAULT_ADMIN_CONFIG;
}