TabsManager in react (#500)

This commit is contained in:
Jordi Bunster
2021-04-19 13:11:48 -07:00
committed by GitHub
parent 19cf203606
commit f2585bba14
8 changed files with 147 additions and 152 deletions

View File

@@ -1,16 +1,18 @@
import { useState } from "react";
import TabsBase from "../Explorer/Tabs/TabsBase";
import { TabsManager } from "../Explorer/Tabs/TabsManager";
import { useObservableState } from "./useObservableState";
import { useObservable } from "./useObservable";
export type UseTabs = {
tabs: readonly TabsBase[];
activeTab: TabsBase;
tabsManager: TabsManager;
};
export function useTabs(): UseTabs {
const [tabsManager] = useState(() => new TabsManager());
const [tabs] = useObservableState(tabsManager.openedTabs);
const tabs = useObservable(tabsManager.openedTabs);
const activeTab = useObservable(tabsManager.activeTab);
return { tabs, tabsManager };
return { tabs, activeTab, tabsManager };
}