fix: fix blank plugins

this is why i shouldn't program at night
This commit is contained in:
AAGaming
2023-06-18 17:27:23 -04:00
parent 890599c7bb
commit 30d7c9bb81
2 changed files with 16 additions and 14 deletions
@@ -1,17 +1,16 @@
import { FC, createContext, useContext, useState } from 'react'; import { FC, createContext, useContext, useState } from 'react';
const QuickAccessVisibleState = createContext<boolean>(true); const QuickAccessVisibleState = createContext<boolean>(false);
export const useQuickAccessVisible = () => useContext(QuickAccessVisibleState); export const useQuickAccessVisible = () => useContext(QuickAccessVisibleState);
export const QuickAccessVisibleStateProvider: FC<{ initial: boolean; tab: any }> = ({ children, initial, tab }) => { export const QuickAccessVisibleStateProvider: FC<{ tab: any }> = ({ children, tab }) => {
const initial = tab.initialVisibility;
const [visible, setVisible] = useState<boolean>(initial); const [visible, setVisible] = useState<boolean>(initial);
const [prev, setPrev] = useState<boolean>(initial);
// HACK but i can't think of a better way to do this // HACK but i can't think of a better way to do this
tab.qAMVisibilitySetter = setVisible; tab.qAMVisibilitySetter = (val: boolean) => {
if (initial != prev) { if (val != visible) setVisible(val);
setPrev(initial); };
setVisible(initial);
}
return <QuickAccessVisibleState.Provider value={visible}>{children}</QuickAccessVisibleState.Provider>; return <QuickAccessVisibleState.Provider value={visible}>{children}</QuickAccessVisibleState.Provider>;
}; };
+9 -6
View File
@@ -128,7 +128,13 @@ class TabsHook extends Logger {
let deckyTabAmount = existingTabs.reduce((prev: any, cur: any) => (cur.decky ? prev + 1 : prev), 0); let deckyTabAmount = existingTabs.reduce((prev: any, cur: any) => (cur.decky ? prev + 1 : prev), 0);
if (deckyTabAmount == this.tabs.length) { if (deckyTabAmount == this.tabs.length) {
for (let tab of existingTabs) { for (let tab of existingTabs) {
if (tab?.decky && tab?.qAMVisibilitySetter) tab?.qAMVisibilitySetter(visible); if (tab?.decky) {
if (tab?.qAMVisibilitySetter) {
tab?.qAMVisibilitySetter(visible);
} else {
tab.initialVisibility = visible;
}
}
} }
return; return;
} }
@@ -138,12 +144,9 @@ class TabsHook extends Logger {
title, title,
tab: icon, tab: icon,
decky: true, decky: true,
initialVisibility: visible,
}; };
tab.panel = ( tab.panel = <QuickAccessVisibleStateProvider tab={tab}>{content}</QuickAccessVisibleStateProvider>;
<QuickAccessVisibleStateProvider initial={visible} tab={tab}>
{content}
</QuickAccessVisibleStateProvider>
);
existingTabs.push(tab); existingTabs.push(tab);
} }
} }