UNPKG

mui-toolpad-extended-tuni

Version:
45 lines (44 loc) 1.48 kB
/** @format */ import React from 'react'; export interface MicroserviceConfig { path: string; Component: React.ComponentType; fetchHooks?: Array<(courseId: string) => void>; buildNavigation: (courseId: string, isTeacher: boolean) => any[]; } interface MicroserviceRoutesProps { microservices: MicroserviceConfig[]; } /** * Component responsible for managing and rendering microservice routes within the LMS. * * @version 2.1.0 * @breaking-changes * - Navigation structure now requires course code and instance properties * - Updated configuration interface for better TypeScript support * - Changed route structure to support course instances * - Added support for course code level navigation * - Improved handling of microservice-specific navigation items * * @component * @param {MicroserviceRoutesProps} props - Component properties * @param {MicroserviceConfig[]} props.microservices - Array of microservice configurations * * @example * ```tsx * const microservices = [{ * path: 'assignments', * Component: AssignmentsTool, * fetchHooks: [(courseId) => fetchAssignmentData(courseId)], * buildNavigation: (courseId, isTeacher) => ([{ * kind: 'page', * segment: 'assignments', * title: 'Assignments', * description: 'Course assignments', * forRoles: ['teacher', 'student'] * }]) * }]; * ``` */ declare const MicroserviceRoutes: React.FC<MicroserviceRoutesProps>; export default MicroserviceRoutes;