import { Text, Box, VStack, Divider, useToast, Heading, Alert, Tag, Button, HStack, Modal, ModalOverlay, ModalContent, ModalBody, Select, useDisclosure } from "@chakra-ui/react"
import Card from "components/card"
import Nav from "layouts/nav/nav"
import PageContainer from "layouts/page-container"
import Sidebar from "layouts/sidebar/sidebar"
import React, { useEffect, useState } from "react"
import { orgSettingLinks } from "src/data/links"
import { requestApi } from "utils/axios/request"
import { useRouter } from "next/router"
import { User } from "src/types/user"
import UserCard from "components/users/user-card"
import { config } from "configs/config"
import OrgMember from "components/users/org-member"
import { Role } from "src/types/role"
import { cloneDeep } from "lodash"
const UserProfilePage = () => {
const { isOpen, onOpen, onClose } = useDisclosure()
const [currentMember,setCurrentMember]:[User,any] = useState(null)
const [org, setOrg]:[User,any] = useState(null)
const [users, setUsers]: [User[], any] = useState(null)
const [secret, setSecret] = useState('')
const router = useRouter()
useEffect(() => {
if (router.query.org_id) {
getMembers()
requestApi.get(`/org/secret/${router.query.org_id}`).then(res => setSecret(res.data))
requestApi.get(`/user/info/${router.query.org_id}`).then(res => setOrg(res.data))
}
}, [router.query.org_id])
const getMembers = async () => {
const res = await requestApi.get(`/org/members/${router.query.org_id}`)
setUsers(res.data)
}
const toast = useToast()
const generateSecret = async () => {
const res = await requestApi.post(`/org/secret/${router.query.org_id}`)
toast({
description: "生成secret成功",
status: "success",
duration: 2000,
isClosable: true,
})
setSecret(res.data)
}
const onDelete = async (member) => {
await requestApi.delete(`/org/member/${org.id}/${member.id}`)
toast({
description: "删除用户成功",
status: "success",
duration: 2000,
isClosable: true,
})
getMembers()
}
const onEdit = (member) => {
setCurrentMember(member)
onOpen()
}
const onChangeRole = e => {
const member = cloneDeep(currentMember)
member.role = e.currentTarget.value;
setCurrentMember(member)
}
const onSumitMember = async () => {
await requestApi.post(`/org/member/role`,{orgID:org.id, memberID: currentMember.id, role: currentMember.role})
setCurrentMember(null)
onClose()
getMembers()
}
return (
<>
Grow the org
Invite teammates by sending them the secret and the following instructions:
1. Sign in
2. Navigate to {config.uiDomain}/settings/orgs
3. Paste the secret code below and click Join Organization
{secret}
You should rotate this regularly!
{users &&
{
users.map(u => )
}
}
{currentMember &&
Change role
}
>
)
}
export default UserProfilePage