Skip to content

Commit c149711

Browse files
authored
Merge pull request #119 from shdwmtr/main
fix: fix <Menu /> for new Steam beta
2 parents c4579c8 + 7a4c2af commit c149711

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/components/Menu.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { FC, ReactNode } from 'react';
22

3-
import { Export, findModuleByExport, findModuleExport } from '../webpack';
3+
import { Export, findModuleByExport, findModuleDetailsByExport, findModuleExport } from '../webpack';
44
import { FooterLegendProps } from './FooterLegend';
55

66
interface PopupCreationOptions {
@@ -134,9 +134,11 @@ export interface MenuProps extends FooterLegendProps {
134134
children?: ReactNode;
135135
}
136136

137-
export const Menu: FC<MenuProps> = findModuleExport(
138-
(e: Export) => e?.prototype?.HideIfSubmenu && e?.prototype?.HideMenu,
139-
);
137+
const MenuModule = findModuleDetailsByExport((e: Export) => e?.render?.toString()?.includes('bPlayAudio:') || (e?.prototype?.OnOKButton && e?.prototype?.OnMouseEnter));
138+
139+
export const Menu: FC<MenuProps> =
140+
findModuleExport((e: Export) => e?.prototype?.HideIfSubmenu && e?.prototype?.HideMenu) || // Legacy Menu
141+
(Object.values(MenuModule?.[0] ?? {}).find((e) => e?.toString()?.includes?.(`useId`) && e?.toString()?.includes?.(`labelId`)) as FC<MenuProps>); // New Menu 6/15/2025
140142

141143
export interface MenuGroupProps {
142144
label: string;
@@ -159,10 +161,7 @@ export interface MenuItemProps extends FooterLegendProps {
159161
children?: ReactNode;
160162
}
161163

162-
export const MenuItem: FC<MenuItemProps> = findModuleExport(
163-
(e: Export) =>
164-
e?.render?.toString?.()?.includes('bPlayAudio:') || (e?.prototype?.OnOKButton && e?.prototype?.OnMouseEnter),
165-
);
164+
export const MenuItem: FC<MenuItemProps> = MenuModule?.[1];
166165

167166
export const MenuSeparator: FC = findModuleExport(
168167
(e: Export) => typeof e === 'function' && /className:.+?\.ContextMenuSeparator/.test(e.toString()),

0 commit comments

Comments
 (0)