mui-toolpad-extended-tuni
Version:
43 lines (42 loc) • 1.35 kB
TypeScript
/** @format */
import { SvgIconComponent } from '@mui/icons-material';
interface NavigationItemBase {
kind: 'header' | 'page';
title: string;
actionFC?: React.FC;
}
export interface ToolMetadata {
description?: string;
forRoles?: string[];
isRootTool?: boolean;
}
export interface NavigationHeaderItem extends NavigationItemBase {
kind: 'header';
}
export interface NavigationPageStoreItem extends NavigationItemBase {
kind: 'page';
segment: string;
iconFC?: SvgIconComponent;
icon?: JSX.Element;
children?: NavigationPageStoreItem[];
action?: JSX.Element;
metadata?: ToolMetadata;
}
export type NavigationStoreItem = NavigationHeaderItem | NavigationPageStoreItem;
/**
* Navigation management store with enhanced course instance support.
*
* @version 2.1.0
* @updates
* - Added course instance section management
* - Enhanced navigation structure for course instances
* - Added support for instance-specific tools
* - Improved section management with code-based identification
*
* @breaking-changes
* - Changed section identification from slugified title to course code
* - Updated navigation structure to support instance hierarchy
*/
export declare const useNavigationStore: any;
export declare const filterNavigationByRole: (role: string) => NavigationStoreItem[];
export {};