From 4379c6e0da5353696d315aa6e50f7866100168e3 Mon Sep 17 00:00:00 2001 From: srgooglo Date: Tue, 15 Mar 2022 01:54:00 +0100 Subject: [PATCH] followers --- packages/app/src/pages/account/index.jsx | 53 +++++++++++++++-------- packages/app/src/pages/account/index.less | 37 ++++++++++------ 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/packages/app/src/pages/account/index.jsx b/packages/app/src/pages/account/index.jsx index d5a3c6f8..f4e070ea 100644 --- a/packages/app/src/pages/account/index.jsx +++ b/packages/app/src/pages/account/index.jsx @@ -1,6 +1,7 @@ import React from "react" import * as antd from "antd" import { Translation } from "react-i18next" +import moment from "moment" import { Icons } from "components/Icons" import { Skeleton, PostsFeed, FollowButton } from "components" @@ -16,6 +17,7 @@ export default class Account extends React.Component { isFollowed: false, user: null, requestedUser: null, + followers: [], } api = window.app.request @@ -31,6 +33,7 @@ export default class Account extends React.Component { let isSelf = false let user = null let isFollowed = false + let followers = [] if (requestedUser != null) { if (token.username === requestedUser) { @@ -40,11 +43,15 @@ export default class Account extends React.Component { user = await this.fetchData(requestedUser) if (!isSelf) { - const result = await this.api.get.isFollowed(undefined, { user_id: user._id }).catch(() => false) - console.log(result) + const followedResult = await this.api.get.isFollowed(undefined, { user_id: user._id }).catch(() => false) + const followersResult = await this.api.get.followers(undefined, { user_id: user._id }).catch(() => false) - if (result) { - isFollowed = result.isFollowed + if (followedResult) { + isFollowed = followedResult.isFollowed + } + + if (followersResult) { + followers = followersResult } } } @@ -55,6 +62,7 @@ export default class Account extends React.Component { hasAdmin, requestedUser, isFollowed, + followers, }) } @@ -78,10 +86,9 @@ export default class Account extends React.Component { return false }) - console.log(result) - await this.setState({ isFollowed: result.following, + followers: result.followers, }) } @@ -92,23 +99,33 @@ export default class Account extends React.Component { return } + const createdAtYear = moment(new Date(Number(user.createdAt))).format("YYYY") + return (
- -
- {Boolean(user.fullName) ? - <> -

{user.fullName}

- @{user.username}#{user._id} - : - <> -

@{user.username}

- #{user._id} - - } +
+ +
+
+
+

{user.fullName ?? user.username}

+ @{user.username} +
+ +
+
+ {this.state.followers.length} Followers +
+
+ 0 Posts +
+
+ Joined at {createdAtYear} +
+
diff --git a/packages/app/src/pages/account/index.less b/packages/app/src/pages/account/index.less index 65cc84df..1fefb2f5 100644 --- a/packages/app/src/pages/account/index.less +++ b/packages/app/src/pages/account/index.less @@ -36,23 +36,32 @@ word-break: break-all; - img { - width : 70px; - height: 70px; - } + .user { + display: inline-flex; + flex-direction: row; + + > div { + align-self: flex-start; + margin-right: 15px; - h1 { - margin : 0; - font-size: 35px; - - span { - font-size: 12px; + > div { + margin-bottom: 5px; + } } - } - >div { - display : inline-flex; - align-items: center; + img { + width : 70px; + height: 70px; + border-radius: 4px; + } + + h1 { + margin : 0; + + font-size: 35px; + line-height: 37px; + } + } }