From 3d3e211ffe28e18b73bf03b0b07c61ce0a13342f Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Wed, 6 Dec 2023 08:25:23 +1100 Subject: [PATCH] move cache provider (#1857) --- apps/desktop/src/App.tsx | 168 +++++++++++++++++++-------------------- apps/web/src/App.tsx | 16 ++-- 2 files changed, 92 insertions(+), 92 deletions(-) diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 536cfa256..eeeec2f3d 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -63,14 +63,16 @@ export default function App() { - {startupError ? ( - - ) : ( - - )} + + {startupError ? ( + + ) : ( + + )} + @@ -144,86 +146,84 @@ function AppInner() { }, [tab.element]); return ( - - ({ - setTitle(title) { - setTabs((oldTabs) => { - const tabs = [...oldTabs]; - const tab = tabs[tabIndex]; + ({ + setTitle(title) { + setTabs((oldTabs) => { + const tabs = [...oldTabs]; + const tab = tabs[tabIndex]; + if (!tab) return tabs; + + tabs[tabIndex] = { ...tab, title }; + + return tabs; + }); + } + }), + [tabIndex] + )} + > + ({ router, title })), + createTab() { + createTabPromise.current = createTabPromise.current.then( + () => + new Promise((res) => { + startTransition(() => { + setTabs((tabs) => { + const newTabs = [...tabs, createTab()]; + + setTabIndex(newTabs.length - 1); + + return newTabs; + }); + }); + + setTimeout(res, TAB_CREATE_DELAY); + }) + ); + }, + removeTab(index: number) { + startTransition(() => { + setTabs((tabs) => { + const tab = tabs[index]; if (!tab) return tabs; - tabs[tabIndex] = { ...tab, title }; + tab.dispose(); - return tabs; + tabs.splice(index, 1); + + setTabIndex(Math.min(tabIndex, tabs.length - 1)); + + return [...tabs]; }); - } - }), - [tabIndex] - )} + }); + } + }} > - ({ router, title })), - createTab() { - createTabPromise.current = createTabPromise.current.then( - () => - new Promise((res) => { - startTransition(() => { - setTabs((tabs) => { - const newTabs = [...tabs, createTab()]; - - setTabIndex(newTabs.length - 1); - - return newTabs; - }); - }); - - setTimeout(res, TAB_CREATE_DELAY); - }) - ); - }, - removeTab(index: number) { - startTransition(() => { - setTabs((tabs) => { - const tab = tabs[index]; - if (!tab) return tabs; - - tab.dispose(); - - tabs.splice(index, 1); - - setTabIndex(Math.min(tabIndex, tabs.length - 1)); - - return [...tabs]; - }); - }); - } - }} - > - - {tabs.map((tab) => - createPortal( - , - tab.element - ) - )} -
- - - - + + {tabs.map((tab) => + createPortal( + , + tab.element + ) + )} +
+ + + ); } diff --git a/apps/web/src/App.tsx b/apps/web/src/App.tsx index 6dfc03aff..567ee1930 100644 --- a/apps/web/src/App.tsx +++ b/apps/web/src/App.tsx @@ -104,10 +104,10 @@ function App() { return (
- - - - + + + + - - - - + + + +
);