import { Box, chakra, Flex, HStack, VStack, Image, Heading, Text, Button, useColorModeValue, Divider, Wrap, Avatar, Center } from "@chakra-ui/react" import Card from "components/card" import Container from "components/container" import SEO from "components/seo" import siteConfig from "configs/site-config" import useSession from "hooks/use-session" import Nav from "layouts/nav/nav" import VerticalNav from "layouts/nav/vertical-nav" import PageContainer from "layouts/page-container" import PageContainer1 from "layouts/page-container1" import { useRouter } from "next/router" import React, { useEffect, useState } from "react" import { FaComment, FaCommentAlt, FaDove, FaEdit, FaFacebook, FaFile, FaGithub, FaHeart, FaPlus, FaRegStar, FaStackOverflow, FaStar, FaTwitter, FaWeibo, FaZhihu } from "react-icons/fa" import { ReserveUrls } from "src/data/reserve-urls" import { User } from "src/types/session" import { requestApi } from "utils/axios/request" import moment from 'moment' import { Post } from "src/types/posts" import PostCard from "components/posts/post-card" import userCustomTheme from "theme/user-custom" import Posts from "components/posts/posts" import Link from "next/link" const UserPage = () => { const router = useRouter() const username = router.query.username const session = useSession() const [user, setUser]: [User, any] = useState(null) const [posts, setPosts]: [Post[], any] = useState([]) const borderColor = useColorModeValue('white', 'transparent') useEffect(() => { if (username) { initData(username) } }, [username]) const initData = async (username) => { const res = await requestApi.get(`/user/info/${username}`) setUser(res.data) const res1 = await requestApi.get(`/user/posts/${res.data.id}`) setPosts(res1.data) } return ( <> { user && {user.nickname} {user.tagline && {user.tagline}} Followers 0 Following 0 {session?.user.id === user.id ? : } {user.about} {user.location && Location: {user.location} } {user.website && Website: {user.website} } Joined: {moment(user.created).fromNow()} {user.github && } {user.twitter && } {user.facebook && } {user.stackoverflow && } {user.zhihu && } {user.weibo && } {user.availFor && I am available for {user.availFor} } {user.rawSkills.length > 0 && My Tech Stack { user.rawSkills.map(skill => {skill.title} ) } } {/* 2 posts written 30 comments written */} { posts.length === 0 ? There doesn't seem to be anything here! : } } ) } export default UserPage