38 lines
868 B
TypeScript
38 lines
868 B
TypeScript
export interface NavigationLocalizedText {
|
|
[locale: string]: string;
|
|
}
|
|
|
|
export interface NavigationItemConfig {
|
|
id: string;
|
|
labelKey?: string;
|
|
label?: string | NavigationLocalizedText;
|
|
route?: string;
|
|
type?: string;
|
|
key?: string;
|
|
icon?: string;
|
|
order?: number;
|
|
visible?: boolean;
|
|
visibleWhenFlags?: string[];
|
|
children?: NavigationItemConfig[];
|
|
}
|
|
|
|
export interface FooterNavigationItemConfig {
|
|
type: string;
|
|
key?: string;
|
|
label?: string | NavigationLocalizedText;
|
|
labelKey?: string;
|
|
route?: string;
|
|
visible?: boolean;
|
|
}
|
|
|
|
export interface FooterNavigationGroupConfig {
|
|
groupTitle?: string | NavigationLocalizedText;
|
|
items: FooterNavigationItemConfig[];
|
|
}
|
|
|
|
export interface NavigationConfig {
|
|
header: NavigationItemConfig[];
|
|
footer: NavigationItemConfig[] | FooterNavigationGroupConfig[];
|
|
sidebar?: NavigationItemConfig[];
|
|
}
|