72 lines
2.2 KiB
TypeScript
72 lines
2.2 KiB
TypeScript
import React, { ReactNode } from 'react';
|
|
import OverviewReports from '@/pages/reporting/overview-reports/overview-reports';
|
|
import ProjectsReports from '@/pages/reporting/projects-reports/projects-reports';
|
|
import MembersReports from '@/pages/reporting/members-reports/members-reports';
|
|
import OverviewTimeReports from '@/pages/reporting/timeReports/overview-time-reports';
|
|
import ProjectsTimeReports from '@/pages/reporting/timeReports/projects-time-reports';
|
|
import MembersTimeReports from '@/pages/reporting/timeReports/members-time-reports';
|
|
import EstimatedVsActualTimeReports from '@/pages/reporting/timeReports/estimated-vs-actual-time-reports';
|
|
|
|
// Type definition for a menu item
|
|
export type ReportingMenuItems = {
|
|
key: string;
|
|
name: string;
|
|
endpoint: string;
|
|
element: ReactNode;
|
|
children?: ReportingMenuItems[];
|
|
};
|
|
|
|
// Reporting paths and related elements with nested structure
|
|
export const reportingsItems: ReportingMenuItems[] = [
|
|
{
|
|
key: 'overview',
|
|
name: 'overview',
|
|
endpoint: 'overview',
|
|
element: React.createElement(OverviewReports),
|
|
},
|
|
{
|
|
key: 'projects',
|
|
name: 'projects',
|
|
endpoint: 'projects',
|
|
element: React.createElement(ProjectsReports),
|
|
},
|
|
{
|
|
key: 'members',
|
|
name: 'members',
|
|
endpoint: 'members',
|
|
element: React.createElement(MembersReports),
|
|
},
|
|
{
|
|
key: 'time-sheet',
|
|
name: 'timeReports',
|
|
endpoint: 'time-sheets',
|
|
element: null,
|
|
children: [
|
|
{
|
|
key: 'time-sheet-overview',
|
|
name: 'overview',
|
|
endpoint: 'time-sheet-overview',
|
|
element: React.createElement(OverviewTimeReports),
|
|
},
|
|
{
|
|
key: 'time-sheet-projects',
|
|
name: 'projects',
|
|
endpoint: 'time-sheet-projects',
|
|
element: React.createElement(ProjectsTimeReports),
|
|
},
|
|
{
|
|
key: 'time-sheet-members',
|
|
name: 'members',
|
|
endpoint: 'time-sheet-members',
|
|
element: React.createElement(MembersTimeReports),
|
|
},
|
|
{
|
|
key: 'time-sheet-estimate-vs-actual',
|
|
name: 'estimateVsActual',
|
|
endpoint: 'time-sheet-estimate-vs-actual',
|
|
element: React.createElement(EstimatedVsActualTimeReports),
|
|
},
|
|
],
|
|
},
|
|
];
|