@steambrew/client
Version:
A support library for creating plugins with Millennium.
31 lines (26 loc) • 915 B
text/typescript
import { ReactNode, FC } from 'react';
import { Export, findModuleExport } from '../webpack';
import { createPropListRegex } from '../utils';
export interface SidebarNavigationPage {
title: ReactNode;
content: ReactNode;
icon?: ReactNode;
visible?: boolean;
hideTitle?: boolean;
identifier?: string;
route?: string;
link?: string;
padding?: 'none' | 'compact';
}
export interface SidebarNavigationProps {
title?: string;
pages: (SidebarNavigationPage | 'separator')[];
showTitle?: boolean;
disableRouteReporting?: boolean;
page?: string;
onPageRequested?: (page: string) => void;
}
const sidebarNavigationRegex = createPropListRegex(["pages", "fnSetNavigateToPage", "disableRouteReporting"]);
export const SidebarNavigation = findModuleExport((e: Export) =>
e?.toString && sidebarNavigationRegex.test(e.toString()),
) as FC<SidebarNavigationProps>;