diff --git a/src/equicordplugins/hideChatButtons/index.tsx b/src/equicordplugins/hideChatButtons/index.tsx index ced883b89..0c9dd37f5 100644 --- a/src/equicordplugins/hideChatButtons/index.tsx +++ b/src/equicordplugins/hideChatButtons/index.tsx @@ -8,7 +8,7 @@ import { ChatBarButton } from "@api/ChatButtons"; import { definePluginSettings } from "@api/Settings"; import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType, StartAt } from "@utils/types"; -import { React, useMemo, useState } from "@webpack/common"; +import { React, useEffect, useState } from "@webpack/common"; import type { MouseEventHandler, ReactNode } from "react"; let hidechatbuttonsopen: boolean | undefined; @@ -50,30 +50,27 @@ function HideToggleButton(props: { open: boolean | undefined, onClick: MouseEven ); } -function buttonsInner(buttons: ReactNode[]) { - if (buttons.every(x => (x as any)?.props?.disabled === true)) { - return null; - } +function ButtonsInnerComponent({ buttons }: { buttons: ReactNode[]; }) { + if (!buttons || buttons.every(x => (x as any)?.props?.disabled === true)) return null; + const [open, setOpen] = useState(hidechatbuttonsopen); - useMemo(() => { + useEffect(() => { hidechatbuttonsopen = open; }, [open]); - const buttonList = ( -
- {open ? buttons.map((b, i) => {b}) : null} - setOpen(!open)} open={open}> + {open && buttons.map((b, i) => {b})} + setOpen(!open)} open={open} />
); - return [buttonList]; } - export default definePlugin({ name: "HideChatButtons", description: "able to hide the chat buttons", @@ -89,6 +86,10 @@ export default definePlugin({ } ], startAt: StartAt.Init, - buttonsInner: buttonsInner, - start: async () => { hidechatbuttonsopen = settings.store.Open; } + buttonsInner(buttons: ReactNode[]) { + return ; + }, + async start() { + hidechatbuttonsopen = settings.store.Open; + } });