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

Move strict mode to page component

This commit is contained in:
Bill Thornton 2024-11-18 16:55:45 -05:00
parent a077acb7c8
commit e71d83af94
2 changed files with 26 additions and 23 deletions

View file

@ -1,4 +1,4 @@
import React, { type FC, type PropsWithChildren, type HTMLAttributes, useEffect, useRef } from 'react'; import React, { type FC, type PropsWithChildren, type HTMLAttributes, useEffect, useRef, StrictMode } from 'react';
import viewManager from './viewManager/viewManager'; import viewManager from './viewManager/viewManager';
@ -57,18 +57,20 @@ const Page: FC<PropsWithChildren<PageProps & HTMLAttributes<HTMLDivElement>>> =
}, [ element, isNowPlayingBarEnabled, isThemeMediaSupported ]); }, [ element, isNowPlayingBarEnabled, isThemeMediaSupported ]);
return ( return (
<div <StrictMode>
ref={element} <div
id={id} ref={element}
data-role='page' id={id}
className={`page ${className}`} data-role='page'
data-title={title} className={`page ${className}`}
data-backbutton={isBackButtonEnabled} data-title={title}
data-menubutton={isMenuButtonEnabled} data-backbutton={isBackButtonEnabled}
data-backdroptype={backDropType} data-menubutton={isMenuButtonEnabled}
> data-backdroptype={backDropType}
{children} >
</div> {children}
</div>
</StrictMode>
); );
}; };

View file

@ -1,4 +1,3 @@
import React, { StrictMode } from 'react';
import type { RouteObject } from 'react-router-dom'; import type { RouteObject } from 'react-router-dom';
export enum AsyncRouteType { export enum AsyncRouteType {
@ -19,7 +18,7 @@ export interface AsyncRoute {
type?: AsyncRouteType type?: AsyncRouteType
} }
const importPage = (page: string, type: AsyncRouteType) => { const importRoute = (page: string, type: AsyncRouteType) => {
switch (type) { switch (type) {
case AsyncRouteType.Dashboard: case AsyncRouteType.Dashboard:
return import(/* webpackChunkName: "[request]" */ `../../apps/dashboard/routes/${page}`); return import(/* webpackChunkName: "[request]" */ `../../apps/dashboard/routes/${page}`);
@ -38,14 +37,16 @@ export const toAsyncPageRoute = ({
return { return {
path, path,
lazy: async () => { lazy: async () => {
const { default: Page } = await importPage(page ?? path, type); const { default: route } = await importRoute(page ?? path, type);
return {
element: ( // If route is not a RouteObject, use it as the Component
<StrictMode> if (!route.Component) {
<Page /> return {
</StrictMode> Component: route
) };
}; }
return route;
} }
}; };
}; };