import { RouteObject } from 'react-router-dom'; import { Suspense } from 'react'; import ReportingLayout from '@/layouts/ReportingLayout'; import { ReportingMenuItems, reportingsItems } from '@/lib/reporting/reporting-constants'; import { SuspenseFallback } from '@/components/suspense-fallback/suspense-fallback'; // function to flatten nested menu items const flattenItems = (items: ReportingMenuItems[]): ReportingMenuItems[] => { return items.reduce((acc, item) => { if (item.children) { return [...acc, ...flattenItems(item.children)]; } return [...acc, item]; }, []); }; const flattenedItems = flattenItems(reportingsItems); const reportingRoutes: RouteObject[] = [ { path: 'worklenz/reporting', element: , children: flattenedItems.map(item => ({ path: item.endpoint, element: }>{item.element}, })), }, ]; export default reportingRoutes;