import React, { useEffect, useState } from "react" import { useTranslation } from "react-i18next" import BackButton from "../../../components/atoms/back-button" import PlusIcon from "../../../components/fundamentals/icons/plus-icon" import BodyCard from "../../../components/organisms/body-card" import InviteModal from "../../../components/organisms/invite-modal" import UserTable from "../../../components/templates/user-table" import Medusa from "../../../services/api" const Users: React.FC = () => { const { t } = useTranslation() const [users, setUsers] = useState([]) const [invites, setInvites] = useState([]) const [shouldRefetch, setShouldRefetch] = useState(0) const [showInviteModal, setShowInviteModal] = useState(false) const triggerRefetch = () => { setShouldRefetch((prev) => prev + 1) } useEffect(() => { Medusa.users .list() .then((res) => res.data) .then((userData) => { Medusa.invites .list() .then((res) => res.data) .then((inviteData) => { setUsers(userData.users) setInvites(inviteData.invites) }) }) }, [shouldRefetch]) const actionables = [ { label: t("users-invite-users", "Invite Users"), onClick: () => setShowInviteModal(true), icon: ( ), }, ] return (

{t("users-count", "{{count}}", { count: users.length })}

{showInviteModal && ( { triggerRefetch() setShowInviteModal(false) }} /> )}
) } export default Users