import { Text, Box, Heading, Image, Center, Button, Flex, VStack, Divider, useToast, FormControl, FormLabel, FormHelperText, Input, FormErrorMessage, HStack, useDisclosure, Modal, ModalOverlay, ModalContent, ModalHeader, ModalBody, useColorModeValue, StackDivider } from "@chakra-ui/react"
import Card from "components/card"
import PageContainer from "layouts/page-container"
import Sidebar from "layouts/sidebar/sidebar"
import React, { useEffect, useState } from "react"
import { settingLinks } from "src/data/links"
import { requestApi } from "utils/axios/request"
import { Org } from "src/types/org"
import { Field, Form, Formik } from "formik"
import { config } from "configs/config"
import { isUsernameChar, usernameInvalidTips, validateNickname, validateUsername } from "utils/user"
import { isAdmin } from "utils/role"
import userCustomTheme from "theme/user-custom"
import { useRouter } from "next/router"
import Link from "next/link"
import { ReserveUrls } from "src/data/reserve-urls"
import { Role } from "src/types/role"
const UserOrgsPage = () => {
const [orgs, setOrgs]: [Org[], any] = useState([])
const { isOpen, onOpen, onClose } = useDisclosure()
const { isOpen: isOpen1, onOpen: onOpen1, onClose: onClose1 } = useDisclosure()
const router = useRouter()
const stackBorderColor = useColorModeValue(userCustomTheme.borderColor.light, userCustomTheme.borderColor.dark)
const [secret, setSecret] = useState('')
useEffect(() => {
getOrgs()
}, [])
const getOrgs = async () => {
const res = await requestApi.get("/org/byUserID/0")
setOrgs(res.data)
}
const createOrg = async (values: Org) => {
await requestApi.post(`/org/create`, values)
onClose()
router.push(`/${values.username}`)
}
const onCreateOrg = () => {
onOpen()
}
const onJoinOrg = () => {
onOpen1()
}
const joinOrg = async () => {
await requestApi.post(`/org/join`, { secret: secret })
onClose1()
getOrgs()
}
const leaveOrg = async orgID => {
await requestApi.post(`/org/leave/${orgID}`)
getOrgs()
}
return (
<>
组织列表
} alignItems="left">
{
orgs.map(o =>
{o.nickname}
{isAdmin(o.role) ? 'admin' : 'member'}
{isAdmin(o.role) && }
{o.role !== Role.SUPER_ADMIN && }
)
}
{
新建组织
{(props) => (
)}
}
{
Secret code
Provided to you by an org admin
setSecret(e.currentTarget.value)} />
}
>
)
}
export default UserOrgsPage