/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import { withInjectables } from "@ogre-tools/injectable-react"; import type { IComputedValue } from "mobx"; import { observer } from "mobx-react"; import React from "react"; import { storageRoute, storageURL } from "../../../common/routes"; import { isActiveRoute } from "../../navigation"; import { Icon } from "../icon"; import { SidebarItem } from "../layout/sidebar-item"; import type { TabLayoutRoute } from "../layout/tab-layout"; import { renderTabRoutesSidebarItems } from "../layout/tab-routes-sidebar-items"; import storageRouteTabsInjectable from "./route-tabs.injectable"; export interface StorageSidebarItemProps {} interface Dependencies { routes: IComputedValue; } const NonInjectedStorageSidebarItem = observer(({ routes }: Dependencies & StorageSidebarItemProps) => { const tabRoutes = routes.get(); return ( } > {renderTabRoutesSidebarItems(tabRoutes)} ); }); export const StorageSidebarItem = withInjectables(NonInjectedStorageSidebarItem, { getProps: (di, props) => ({ routes: di.inject(storageRouteTabsInjectable), ...props, }), });