Skip to content

Commit

Permalink
fix(plugin): actually prevent useless re-renders
Browse files Browse the repository at this point in the history
  • Loading branch information
ricewind012 committed Feb 6, 2025
1 parent dede112 commit 4c3ffb3
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
5 changes: 1 addition & 4 deletions frontend/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,8 @@ async function AddSuperNavEvents(popup: SteamPopup) {
const sel = classes.supernav.Selected;
const observer = new MutationObserver(() => {
const children = [...container.children];
if (children.some((e) => e.classList.contains(classes.menu.MenuOpen))) {
return;
}

const tab = children.findIndex((e) => e.classList.contains(sel));

// Account for the browser navigation arrows
DispatchTabChange(tab - 2);
});
Expand Down
8 changes: 7 additions & 1 deletion frontend/parts/steamdesktop/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
ESuperNavTab,
GetESuperNavTabFromSetting,
TAB_CHANGE_EVENT_NAME,
TabChangeEvent,
} from "../../events/tabchange";
import {
type GameListChangeEvent,
Expand Down Expand Up @@ -166,8 +167,13 @@ export class SteamDesktop extends PartComponentBase<SteamDesktopState> {
MainWindowBrowserManager.m_browser.Reload();
}

OnWindowEvent(ev: CustomEventInit<GameListChangeEvent>) {
OnWindowEvent(ev: CustomEventInit<GameListChangeEvent & TabChangeEvent>) {
const { appid, tab } = this.state;
if (appid === ev.detail.appid || tab === ev.detail.tab) {
return;
}

console.warn("EVENT", this.state, ev.detail);
this.setState({ appid, tab, ...ev.detail });
}

Expand Down

0 comments on commit 4c3ffb3

Please sign in to comment.