diff options
| author | AAGaming <aa@mail.catvibers.me> | 2023-06-18 17:27:23 -0400 |
|---|---|---|
| committer | AAGaming <aa@mail.catvibers.me> | 2023-06-18 17:27:23 -0400 |
| commit | 30d7c9bb812e253c09f563f3f9b5022a3364f636 (patch) | |
| tree | 4d6feb3e729b40a234b1ccce3e86ef9fd7d72808 /frontend | |
| parent | 890599c7bbf1f97eb64ec0d25f2e45b127a35e48 (diff) | |
| download | decky-loader-30d7c9bb812e253c09f563f3f9b5022a3364f636.tar.gz decky-loader-30d7c9bb812e253c09f563f3f9b5022a3364f636.zip | |
fix: fix blank plugins
this is why i shouldn't program at night
Diffstat (limited to 'frontend')
| -rw-r--r-- | frontend/src/components/QuickAccessVisibleState.tsx | 15 | ||||
| -rw-r--r-- | frontend/src/tabs-hook.tsx | 15 |
2 files changed, 16 insertions, 14 deletions
diff --git a/frontend/src/components/QuickAccessVisibleState.tsx b/frontend/src/components/QuickAccessVisibleState.tsx index ef977442..1bfe0e65 100644 --- a/frontend/src/components/QuickAccessVisibleState.tsx +++ b/frontend/src/components/QuickAccessVisibleState.tsx @@ -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>; }; diff --git a/frontend/src/tabs-hook.tsx b/frontend/src/tabs-hook.tsx index 08206c14..72437701 100644 --- a/frontend/src/tabs-hook.tsx +++ b/frontend/src/tabs-hook.tsx @@ -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); } } |
