mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-16 02:21:00 +03:00
fix: fix blank plugins
this is why i shouldn't program at night
This commit is contained in:
@@ -1,17 +1,16 @@
|
||||
import { FC, createContext, useContext, useState } from 'react';
|
||||
|
||||
const QuickAccessVisibleState = createContext<boolean>(true);
|
||||
const QuickAccessVisibleState = createContext<boolean>(false);
|
||||
|
||||
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 [prev, setPrev] = useState<boolean>(initial);
|
||||
// HACK but i can't think of a better way to do this
|
||||
tab.qAMVisibilitySetter = setVisible;
|
||||
if (initial != prev) {
|
||||
setPrev(initial);
|
||||
setVisible(initial);
|
||||
}
|
||||
tab.qAMVisibilitySetter = (val: boolean) => {
|
||||
if (val != visible) setVisible(val);
|
||||
};
|
||||
|
||||
return <QuickAccessVisibleState.Provider value={visible}>{children}</QuickAccessVisibleState.Provider>;
|
||||
};
|
||||
|
||||
@@ -128,7 +128,13 @@ class TabsHook extends Logger {
|
||||
let deckyTabAmount = existingTabs.reduce((prev: any, cur: any) => (cur.decky ? prev + 1 : prev), 0);
|
||||
if (deckyTabAmount == this.tabs.length) {
|
||||
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;
|
||||
}
|
||||
@@ -138,12 +144,9 @@ class TabsHook extends Logger {
|
||||
title,
|
||||
tab: icon,
|
||||
decky: true,
|
||||
initialVisibility: visible,
|
||||
};
|
||||
tab.panel = (
|
||||
<QuickAccessVisibleStateProvider initial={visible} tab={tab}>
|
||||
{content}
|
||||
</QuickAccessVisibleStateProvider>
|
||||
);
|
||||
tab.panel = <QuickAccessVisibleStateProvider tab={tab}>{content}</QuickAccessVisibleStateProvider>;
|
||||
existingTabs.push(tab);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user