import React, {useContext} from 'react'; import View3d from './View3d'; import ls from './AppTabs.less'; import TabSwitcher, {Tab} from 'ui/components/TabSwticher'; import Card from "ui/components/Card"; import {useStreamWithUpdater} from "ui/effects"; import {ReactApplicationContext} from "../ReactApplicationContext"; export default function AppTabs() { const [{tabs, activeTab}, updateTabs] = useStreamWithUpdater(ctx => ctx.appTabsService.tabs$); const ctx = useContext(ReactApplicationContext); const switchTo = index => updateTabs(({tabs}) => ({tabs, activeTab: index})); const close = index => updateTabs(({activeTab, tabs}) => { tabs.splice(index, 1); return { activeTab: (activeTab === index ? -1 : activeTab), tabs }; }); const detach = index => ctx.appTabsService.detach(index); return