From 3ca0cf905dc56cf6f71d18334c209c4e40f9ae72 Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Tue, 11 Nov 2025 21:56:00 +0000 Subject: [PATCH 1/2] feat: user details modal for moderators --- apps/frontend/src/locales/en-US/index.json | 3 +++ apps/frontend/src/pages/user/[id].vue | 28 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index 9884c3a3d0..b03d8862af 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -1781,6 +1781,9 @@ "profile.details.label.email": { "message": "Email" }, + "profile.details.label.email-verified": { + "message": "Email Verified" + }, "profile.details.label.has-password": { "message": "Has password" }, diff --git a/apps/frontend/src/pages/user/[id].vue b/apps/frontend/src/pages/user/[id].vue index e6d876a828..98ee1d70af 100644 --- a/apps/frontend/src/pages/user/[id].vue +++ b/apps/frontend/src/pages/user/[id].vue @@ -32,7 +32,7 @@
-
+
{{ formatMessage(messages.emailLabel) }} @@ -52,14 +52,29 @@
-
+
+ {{ + formatMessage(messages.emailVerifiedLabel) + }} + + + + {{ + user.email_verified + ? formatMessage(messages.yesLabel) + : formatMessage(messages.noLabel) + }} + +
+ +
{{ formatMessage(messages.authProvidersLabel) }} {{ user.auth_providers.join(', ') }}
-
+
{{ formatMessage(messages.paymentMethodsLabel) }} @@ -464,7 +479,7 @@ import { TagItem, useRelativeTime, } from '@modrinth/ui' -import { isAdmin, UserBadge } from '@modrinth/utils' +import { isAdmin, isStaff, UserBadge } from '@modrinth/utils' import { IntlFormatted } from '@vintl/vintl/components' import TenMClubBadge from '~/assets/images/badges/10m-club.svg?component' @@ -480,7 +495,6 @@ import CollectionCreateModal from '~/components/ui/create/CollectionCreateModal. import ModalCreation from '~/components/ui/create/ProjectCreateModal.vue' import NavTabs from '~/components/ui/NavTabs.vue' import ProjectCard from '~/components/ui/ProjectCard.vue' -import { isStaff } from '~/helpers/users.js' import { reportUser } from '~/utils/report-helpers.ts' const data = useNuxtApp() @@ -522,6 +536,10 @@ const messages = defineMessages({ id: 'profile.details.label.email', defaultMessage: 'Email', }, + emailVerifiedLabel: { + id: 'profile.details.label.email-verified', + defaultMessage: 'Email Verified', + }, emailVerifiedTooltip: { id: 'profile.details.tooltip.email-verified', defaultMessage: 'Email verified', From 90bfec935802bebbe78c59027de6482b8956346f Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Sun, 7 Dec 2025 20:25:51 +0000 Subject: [PATCH 2/2] fix: casing --- apps/frontend/src/locales/en-US/index.json | 2 +- apps/frontend/src/pages/user/[id].vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index b03d8862af..4ea8b42564 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -1782,7 +1782,7 @@ "message": "Email" }, "profile.details.label.email-verified": { - "message": "Email Verified" + "message": "Email verified" }, "profile.details.label.has-password": { "message": "Has password" diff --git a/apps/frontend/src/pages/user/[id].vue b/apps/frontend/src/pages/user/[id].vue index 98ee1d70af..cb7d8702f2 100644 --- a/apps/frontend/src/pages/user/[id].vue +++ b/apps/frontend/src/pages/user/[id].vue @@ -538,7 +538,7 @@ const messages = defineMessages({ }, emailVerifiedLabel: { id: 'profile.details.label.email-verified', - defaultMessage: 'Email Verified', + defaultMessage: 'Email verified', }, emailVerifiedTooltip: { id: 'profile.details.tooltip.email-verified',