diff --git a/packages/app/src/components/FollowersList/index.jsx b/packages/app/src/components/FollowersList/index.jsx
index 7808ea8a..f185e772 100755
--- a/packages/app/src/components/FollowersList/index.jsx
+++ b/packages/app/src/components/FollowersList/index.jsx
@@ -1,15 +1,51 @@
import React from "react"
import * as antd from "antd"
import { Icons } from "components/Icons"
+import UserModel from "models/user"
import "./index.less"
export default (props) => {
+ const [loading, setLoading] = React.useState(false)
+ const [followers, setFollowers] = React.useState(props.followers ?? [])
+
const goToProfile = (username) => {
window.app.goToAccount(username)
}
- if (props.followers.length === 0) {
+ const loadFollowers = async () => {
+ setLoading(true)
+
+ console.log(`Loading Followers for [${props.username ?? props.user_id}]...`)
+
+ const followers = await UserModel.getUserFollowers({
+ user_id: props.user_id,
+ }).catch((err) => {
+ console.error(err)
+ app.message.error("Failed to fetch followers")
+
+ return null
+ })
+
+ setLoading(false)
+
+ if (followers) {
+ console.log(`Loaded Followers: [${followers.length}] >`, followers)
+ setFollowers(followers)
+ }
+ }
+
+ React.useEffect(() => {
+ if (props.username && !props.followers) {
+ loadFollowers()
+ }
+ }, [])
+
+ if (loading) {
+ return