mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-11 18:12:00 +00: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';
|
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>;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user