/**
 * Custom routes configuration.
 *
 * Register your custom pages and routes here. These routes are automatically
 * merged into the application router.
 *
 * @generated by Prism — GENERATE_ONCE (safe to edit, will not be overwritten)
 *
 * @example
 * ```tsx
 * import MyPage from '../pages/MyPage';
 *
 * export const customRoutes: CustomRouteConfig[] = [
 *   {
 *     path: '/my-page',
 *     element: <MyPage />,
 *     nav: { label: 'My Page', order: 50 },
 *   },
 * ];
 * ```
 */

import type { ReactElement } from 'react';

/** Custom route configuration entry */
export interface CustomRouteConfig {
  /** URL path (e.g., '/my-page') */
  path: string;
  /** React element to render */
  element: ReactElement;
  /** Navigation link config (omit to hide from sidebar) */
  nav?: {
    /** Display label in sidebar */
    label: string;
    /** Optional SVG icon */
    icon?: ReactElement;
    /** Sort order (lower = higher in sidebar, default: 100) */
    order?: number;
  };
  /** Require authentication for this route (default: inherits from app) */
  requireAuth?: boolean;
  /** Required roles for access */
  roles?: string[];
}

/**
 * Add your custom routes here.
 *
 * Routes with a `nav` property will automatically appear in the sidebar.
 * Routes without `nav` will be accessible but hidden from navigation.
 */
export const customRoutes: CustomRouteConfig[] = [
  // Example:
  // {
  //   path: '/analytics',
  //   element: <AnalyticsPage />,
  //   nav: { label: 'Analytics', order: 50 },
  // },
];

export default customRoutes;
