'use client' import { useState } from 'react' import s from './index.module.css' import cn from 'classnames' import useSWR from 'swr' import dayjs from 'dayjs' import 'dayjs/locale/zh-cn' import relativeTime from 'dayjs/plugin/relativeTime' import I18n from '@/context/i18n' import { useContext } from 'use-context-selector' import { fetchMembers } from '@/service/common' import { UserPlusIcon } from '@heroicons/react/24/outline' import { useTranslation } from 'react-i18next' import InviteModal from './invite-modal' import InvitedModal from './invited-modal' import Operation from './operation' import { useAppContext } from '@/context/app-context' import Avatar from '@/app/components/base/avatar' import { useWorkspacesContext } from '@/context/workspace-context' dayjs.extend(relativeTime) const MembersPage = () => { const { t } = useTranslation() const RoleMap = { owner: t('common.members.owner'), admin: t('common.members.admin'), normal: t('common.members.normal'), } const { locale } = useContext(I18n) const { userProfile } = useAppContext() const { data, mutate } = useSWR({ url: '/workspaces/current/members' }, fetchMembers) const [inviteModalVisible, setInviteModalVisible] = useState(false) const [invitedModalVisible, setInvitedModalVisible] = useState(false) const accounts = data?.accounts || [] const owner = accounts.filter(account => account.role === 'owner')?.[0]?.email === userProfile.email const { workspaces } = useWorkspacesContext() const currentWrokspace = workspaces.filter(item => item.current)?.[0] return ( <>