1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Fix home page crashing when using react-router lazy import

This commit is contained in:
Bill Thornton 2024-07-16 14:48:56 -04:00
parent cfe6828042
commit 9f61863b7d
2 changed files with 26 additions and 8 deletions

View file

@ -16,6 +16,8 @@ export interface AsyncRoute {
page?: string
/** The page type used to load the correct page element. */
type?: AsyncRouteType
/** Override for pages that don't support lazy importing */
Component?: React.ComponentType | null;
}
const importPage = (page: string, type: AsyncRouteType) => {
@ -29,12 +31,23 @@ const importPage = (page: string, type: AsyncRouteType) => {
}
};
export const toAsyncPageRoute = ({ path, page, type = AsyncRouteType.Stable }: AsyncRoute): RouteObject => ({
export const toAsyncPageRoute = ({
path,
lazy: async () => {
const { default: Component } = await importPage(page ?? path, type);
return {
Component
};
page,
Component,
type = AsyncRouteType.Stable
}: AsyncRoute): RouteObject => {
if (Component) {
return { path, Component };
}
});
return {
path,
lazy: async () => {
const { default: Page } = await importPage(page ?? path, type);
return {
Component: Page
};
}
};
};