diff --git a/src/patches/menuPatch.tsx b/src/patches/menuPatch.tsx index 82ce2e9..16b6295 100644 --- a/src/patches/menuPatch.tsx +++ b/src/patches/menuPatch.tsx @@ -11,7 +11,8 @@ import { tabManager } from '../classes/TabManager' interface MainMenuItemPropsBase { route: string label: ReactNode - onFocus: () => void + onFocus?: () => void + onGamepadFocus?: () => void icon?: ReactElement onActivate?: () => void } @@ -38,7 +39,7 @@ export const patchMenu = () => { ret.props.children.props.children[0].type = patchedInnerMenu } else { afterPatch(ret.props.children.props.children[0], 'type', (_: any, ret: any) => { - const isMenuItemElt = (e: any) => e.props?.label && e.props.onFocus && e.props.route && e.type?.toString; + const isMenuItemElt = (e: any) => e.props?.label && (e.props.onFocus || e.props.onGamepadFocus) && e.props.route && e.type?.toString; const menuItems = findInReactTree(ret, node => Array.isArray(node) && node.some(isMenuItemElt)) as Array; if (!menuItems) { @@ -55,6 +56,7 @@ export const patchMenu = () => { route={routePath} label='Browser' onFocus={menuItem.props.onFocus} + onGamepadFocus={menuItem.props.onGamepadFocus} useIconAsProp={!!menuItem.props.icon} MenuItemComponent={menuItem.type} />