import { useAdminStore } from "medusa-react" import React, { useState } from "react" import { useTranslation } from "react-i18next" import { useFeatureFlag } from "../../../providers/feature-flag-provider" import { useRoutes } from "../../../providers/route-provider" import BuildingsIcon from "../../fundamentals/icons/buildings-icon" import CartIcon from "../../fundamentals/icons/cart-icon" import CashIcon from "../../fundamentals/icons/cash-icon" import GearIcon from "../../fundamentals/icons/gear-icon" import GiftIcon from "../../fundamentals/icons/gift-icon" import SaleIcon from "../../fundamentals/icons/sale-icon" import SquaresPlus from "../../fundamentals/icons/squares-plus" import SwatchIcon from "../../fundamentals/icons/swatch-icon" import TagIcon from "../../fundamentals/icons/tag-icon" import UsersIcon from "../../fundamentals/icons/users-icon" import SidebarMenuItem from "../../molecules/sidebar-menu-item" import UserMenu from "../../molecules/user-menu" const ICON_SIZE = 20 const Sidebar: React.FC = () => { const { t } = useTranslation() const [currentlyOpen, setCurrentlyOpen] = useState(-1) const { isFeatureEnabled } = useFeatureFlag() const { store } = useAdminStore() const { getLinks } = useRoutes() const triggerHandler = () => { const id = triggerHandler.id++ return { open: currentlyOpen === id, handleTriggerClick: () => setCurrentlyOpen(id), } } // We store the `id` counter on the function object, as a state creates // infinite updates, and we do not want the variable to be free floating. triggerHandler.id = 0 const inventoryEnabled = isFeatureEnabled("inventoryService") && isFeatureEnabled("stockLocationService") return (