import { Text, Box, Heading, Image, Center, Button, Flex, VStack, Divider, useToast, Table, Thead, Tr, Th, Tbody, Td, IconButton, Modal, ModalOverlay, ModalContent, ModalHeader, ModalBody, useDisclosure, FormControl, FormLabel, Input, FormErrorMessage, Select} from "@chakra-ui/react" import Card from "components/card" import Sidebar from "layouts/sidebar/sidebar" import React, { useEffect, useState } from "react" import { adminLinks } from "src/data/links" import { requestApi } from "utils/axios/request" import TagCard from "components/tags/tag-card" import { useRouter } from "next/router" import Link from "next/link" import { ReserveUrls } from "src/data/reserve-urls" import { Tag } from "src/types/tag" import { route } from "next/dist/next-server/server/router" import PageContainer1 from "layouts/page-container1" import Empty from "components/empty" import { User } from "src/types/user" import moment from 'moment' import { getSvgIcon } from "components/svg-icon" import { Field, Form, Formik } from "formik" import { validateEmail, validateNickname, validateUsername } from "utils/user" import { Role } from "src/types/role" const PostsPage = () => { const { isOpen, onOpen, onClose } = useDisclosure() const [currentUser,setCurrentUser]:[User,any] = useState(null) const [users, setUsers]: [User[], any] = useState([]) const router = useRouter() const toast = useToast() const getUsers = async () => { const res = await requestApi.get(`/admin/user/all`) setUsers(res.data) } useEffect(() => { getUsers() }, []) const onEditUser = user => { if (!user) { // add user setCurrentUser({role:Role.NORMAL}) } else { // edit user setCurrentUser(user) } onOpen() } const submitUser = async values => { await requestApi.post("/admin/user",values) getUsers() onClose() } return ( <> 用户列表({users.length}) onEditUser(null)}>添加用户 用户名 邮箱 角色 加入时间 { users.map((user, i) => {user.username} {user.email} {user.role} {moment(user.created).fromNow()} onEditUser(user)} /> {/* onDeleteUser(user)} /> */} ) } {currentUser && {currentUser.id ? '编辑用户' : '新建用户'} {(props) => ( {({ field, form }) => ( Username {form.errors.username} )} {({ field, form }) => ( 邮箱地址 {form.errors.email} )} {({ field, form }) => ( Role {Role.NORMAL} {Role.EDITOR} {Role.ADMIN} {form.errors.role} )} 提交 取消 )} } > ) } export default PostsPage