admin data on profile page

This commit is contained in:
Henry Jameson 2026-06-10 13:40:53 +03:00
commit 49c9b0b955
5 changed files with 131 additions and 9 deletions

View file

@ -43,7 +43,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}
@ -70,7 +70,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}
@ -97,7 +97,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}
@ -124,7 +124,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}
@ -151,7 +151,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}
@ -178,7 +178,7 @@
>
<td>{{ entry.instance }}</td>
<td v-if="entry.reason === ''">
{{ $t("about.mrf.simple.not_applicable") }}
{{ $t("general.not_applicable") }}
</td>
<td v-else>
{{ entry.reason }}

View file

@ -60,6 +60,12 @@
>
{{ $t('admin_dash.users.indicator.unapproved') }}
</label>
<label
v-if="user.adminData.is_suggested"
class="alert info user-role"
>
{{ $t('admin_dash.users.indicator.suggested') }}
</label>
<ModerationTools
class="moderation-menu"
:users="[user]"

View file

@ -22,6 +22,23 @@
}
}
summary {
font-weight: bold;
cursor: pointer;
}
details {
margin: 0.5em 0;
&[open] summary {
margin-bottom: 0.5em;
}
ul {
margin: 0;
}
}
.input.bio {
height: auto; // override settings default textarea size
}
@ -56,7 +73,7 @@
.user-card-bio {
text-align: center;
margin: 0 0.6em;
margin: 0.6em;
&.input {
margin: 0 1em;
@ -81,15 +98,18 @@
--_still-image-label-visibility: hidden;
}
.admin-data,
.personal-marks {
margin: 0.6em;
padding: 0.6em;
margin: 0 0.6em;
padding: 0 0.6em;
&:not(:last-child) {
border-bottom: 1px dotted var(--border);
}
.highlighter {
margin-bottom: 0.5em;
h4 {
margin-top: 0.6em;
}

View file

@ -347,6 +347,93 @@
/>
</div>
</div>
<div
class="admin-data"
v-if="user.adminData"
>
<details>
<summary>
{{ $t('user_card.admin_data.data') }}
</summary>
<div class="user-profile-fields">
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('general.role.admin') }}
</dt>
<dd class="user-profile-field-value">
{{ $t('general.' + (user.adminData.roles.admin ? 'yes' : 'no')) }}
</dd>
</dl>
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('general.role.moderator') }}
</dt>
<dd class="user-profile-field-value">
{{ $t('general.' + (user.adminData.roles.moderator ? 'yes' : 'no')) }}
</dd>
</dl>
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('admin_dash.users.labels.email') }}
</dt>
<dd class="user-profile-field-value">
{{ user.adminData.email == null ? $t('general.not_available') : user.adminData.email }}
</dd>
</dl>
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('admin_dash.users.indicator.suggested') }}
</dt>
<dd class="user-profile-field-value">
{{ $t('general.' + (user.adminData.is_suggested ? 'yes' : 'no')) }}
</dd>
</dl>
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('admin_dash.users.indicator.confirmed') }}
</dt>
<dd class="user-profile-field-value">
{{ $t('general.' + (user.adminData.is_confirmed ? 'yes' : 'no')) }}
</dd>
</dl>
<dl class="user-profile-field">
<dt class="user-profile-field-name">
{{ $t('admin_dash.users.indicator.approved') }}
</dt>
<dd class="user-profile-field-value">
{{ $t('general.' + (user.adminData.is_approved ? 'yes' : 'no')) }}
</dd>
</dl>
<details open>
<summary>
{{ $t('user_card.admin_data.registration_reason') }}
</summary>
<span>
{{ user.adminData.registration_reason == null ? $t('general.not_available') : user.adminData.registration_reason }}
</span>
</details>
<details open>
<summary>
{{ $t('user_card.admin_data.tags') }}
</summary>
<ul>
<li v-if="user.adminData.tags.length === 0">
{{ $t('general.none') }}
</li>
<li
v-for="tag in user.adminData.tags"
:key="tag"
>
<code>
{{ tag }}
</code>
{{ ' ' }}
</li>
</ul>
</details>
</div>
</details>
</div>
<h3 v-if="editable">
<span>
{{ $t('settings.bio') }}

View file

@ -106,6 +106,9 @@
"undo": "Undo",
"yes": "Yes",
"no": "No",
"none": "None",
"not_applicable": "N/A",
"not_available": "N/A",
"peek": "Peek",
"scroll_to_top": "Scroll to top",
"role": {
@ -1334,6 +1337,7 @@
"confirmed": "Confirmed",
"unconfirmed": "Pending confirmation",
"approved": "Approved",
"suggested": "Suggested",
"unapproved": "Pending approval"
}
},
@ -1769,6 +1773,11 @@
"group": "Group",
"birthday": "Born {birthday}",
"joined": "Joined",
"admin_data": {
"data": "Administrative info",
"registration_reason": "Registration reason",
"tags": "Tags"
},
"admin_menu": {
"moderation": "Moderation",
"grant_admin": "Grant Admin",