You're reading docs for Nextly Alpha. APIs may change between releases.

Admin Panel

Branding

Customize the admin panel logo, colors, favicon, and Builder visibility.

The admin.branding key in nextly.config.ts controls the visual identity of your admin panel. You can replace the default Nextly logo, set custom brand colors, add a favicon, and control whether the Schema Builder section is visible.

Full Example

nextly.config.ts
import { defineConfig } from '@nextlyhq/nextly';

export default defineConfig({
  admin: {
    branding: {
      logoUrl: '/logo.svg',
      logoUrlLight: '/logo-light.svg',
      logoUrlDark: '/logo-dark.svg',
      logoText: 'My App',
      favicon: '/favicon.ico',
      colors: {
        primary: '#6366f1',
        accent: '#f59e0b',
      },
      showBuilder: true,
    },
  },
});

Logo Configuration

You can provide a single logo or separate logos for light and dark modes.

OptionTypeDescription
logoUrlstringLogo image URL. Used in both light and dark modes. Can be an absolute URL or a path from your Next.js public folder.
logoUrlLightstringLogo for light mode. Used when logoUrl is not set.
logoUrlDarkstringLogo for dark mode. Used when logoUrl is not set.
logoTextstringText shown in the sidebar header. Also used as the alt attribute on logo images. Defaults to "Nextly".

When logoUrl is set, it takes priority over the light/dark variants. When neither logoUrl nor the light/dark variants are set, the sidebar displays logoText as plain text.

nextly.config.ts
// Single logo for both modes
admin: {
  branding: {
    logoUrl: '/logo.svg',
    logoText: 'Acme CMS',
  },
}
nextly.config.ts
// Separate logos for light and dark modes
admin: {
  branding: {
    logoUrlLight: '/logo-light.svg',
    logoUrlDark: '/logo-dark.svg',
    logoText: 'Acme CMS',
  },
}

Color Scheme

The colors object accepts 6-digit hex values. Foreground colors for text and icons are calculated automatically to meet WCAG AA contrast requirements.

OptionTypeDescription
primarystringPrimary brand color (hex). Replaces the default blue. Used for buttons, active states, links, and field accents.
accentstringAccent brand color (hex). Replaces the default cyan. Used for secondary highlights.
nextly.config.ts
admin: {
  branding: {
    colors: {
      primary: '#6366f1',   // Indigo
      accent: '#f59e0b',    // Amber
    },
  },
}

The colors are converted to HSL on the server and injected as CSS custom properties into the admin panel, so the change is applied globally without any client-side JavaScript overhead.

Favicon

Set a custom favicon for the admin panel browser tab.

nextly.config.ts
admin: {
  branding: {
    favicon: '/favicon.ico',
  },
}

The path can be absolute or relative to your Next.js public folder. Common formats: .ico, .png, .svg.

Schema Builder Visibility

The showBuilder option controls whether the Schema Builder section (Collections Builder, Singles Builder, Components Builder) appears in the admin sidebar.

ValueBehavior
trueSchema Builder is always visible
falseSchema Builder is always hidden
Not set (default)Visible in development (NODE_ENV !== "production"), hidden in production
nextly.config.ts
// Always show the Schema Builder, even in production
admin: {
  branding: {
    showBuilder: true,
  },
}
nextly.config.ts
// Always hide the Schema Builder, even in development
admin: {
  branding: {
    showBuilder: false,
  },
}

This is evaluated at runtime via the /api/admin-meta response. Users still need the manage-settings permission to access Schema Builder pages regardless of this toggle.

Branding Options Reference

OptionTypeDefaultDescription
logoUrlstring-Logo image URL (both modes)
logoUrlLightstring-Logo for light mode
logoUrlDarkstring-Logo for dark mode
logoTextstring"Nextly"Sidebar header text / logo alt text
faviconstring-Custom favicon URL
colors.primarystring-Primary brand color (6-digit hex)
colors.accentstring-Accent brand color (6-digit hex)
showBuilderbooleanPer NODE_ENVToggle Schema Builder section visibility

Next Steps