diff --git a/packages/ui/src/components/user/UserPageHeader.vue b/packages/ui/src/components/user/UserPageHeader.vue
index c07c81da0a3..ea5b013c2a1 100644
--- a/packages/ui/src/components/user/UserPageHeader.vue
+++ b/packages/ui/src/components/user/UserPageHeader.vue
@@ -49,6 +49,12 @@
:value="projectsCount"
:label="formatMessage(messages.profileProjectCountLabel, { count: projectsCount })"
/>
+
(),
{
summary: null,
@@ -254,6 +266,7 @@ const props = withDefaults(
isBlocked: false,
projectsCount: 0,
downloads: 0,
+ followers: 0,
},
)
@@ -282,6 +295,7 @@ const formatDateTime = useFormatDateTime({
dateStyle: 'long',
})
const downloadsTooltip = computed(() => formatNumber(props.downloads))
+const followersTooltip = computed(() => formatNumber(props.followers))
const joinedTooltip = computed(() => formatDateTime(props.user.created))
const moreActions = computed(() => [
diff --git a/packages/ui/src/layouts/shared/user-profile/layout.vue b/packages/ui/src/layouts/shared/user-profile/layout.vue
index 398a53a4e63..1d76e5f928b 100644
--- a/packages/ui/src/layouts/shared/user-profile/layout.vue
+++ b/packages/ui/src/layouts/shared/user-profile/layout.vue
@@ -238,6 +238,7 @@
:is-blocked="isBlocked"
:projects-count="projects.length"
:downloads="sumDownloads"
+ :followers="sumFollowers"
@manage-projects="openPath('/dashboard/projects')"
@report="reportProfile"
@block="handleBlockAction"
@@ -898,6 +899,10 @@ const navLinks = computed(() => {
const sumDownloads = computed(() =>
projects.value.reduce((total, project) => total + project.downloads, 0),
)
+
+const sumFollowers = computed(() =>
+ projects.value.reduce((total, project) => total + project.followers, 0),
+)
const profileHeaderSummary = computed(() => {
if (!user.value) return ''
if (user.value.bio) return user.value.bio
diff --git a/packages/ui/src/locales/en-US/index.json b/packages/ui/src/locales/en-US/index.json
index 40733fad95d..acc188e89a4 100644
--- a/packages/ui/src/locales/en-US/index.json
+++ b/packages/ui/src/locales/en-US/index.json
@@ -3425,6 +3425,9 @@
"profile.label.download-count": {
"defaultMessage": "{count, plural, one {download} other {downloads}}"
},
+ "profile.label.follower-count": {
+ "defaultMessage": "{count, plural, one {follower} other {followers}}"
+ },
"profile.label.joined": {
"defaultMessage": "Joined"
},