import { Fragment } from 'react' import { useContext } from 'use-context-selector' import { useTranslation } from 'react-i18next' import { Menu, Transition } from '@headlessui/react' import s from './index.module.css' import cn from '@/utils/classnames' import { switchWorkspace } from '@/service/common' import { useWorkspacesContext } from '@/context/workspace-context' import { ChevronRight } from '@/app/components/base/icons/src/vender/line/arrows' import { Check } from '@/app/components/base/icons/src/vender/line/general' import { ToastContext } from '@/app/components/base/toast' const itemClassName = ` flex items-center px-3 py-2 h-10 cursor-pointer ` const itemIconClassName = ` shrink-0 mr-2 flex items-center justify-center w-6 h-6 bg-[#EFF4FF] rounded-md text-xs font-medium text-primary-600 ` const itemNameClassName = ` grow mr-2 text-sm text-gray-700 text-left ` const itemCheckClassName = ` shrink-0 w-4 h-4 text-primary-600 ` const WorkplaceSelector = () => { const { t } = useTranslation() const { notify } = useContext(ToastContext) const { workspaces } = useWorkspacesContext() const currentWorkspace = workspaces.find(v => v.current) const handleSwitchWorkspace = async (tenant_id: string) => { try { if (currentWorkspace?.id === tenant_id) return await switchWorkspace({ url: '/workspaces/switch', body: { tenant_id } }) notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') }) location.assign(`${location.origin}`) } catch (e) { notify({ type: 'error', message: t('common.provider.saveFailed') }) } } return (
) } export default WorkplaceSelector