This commit is contained in:
Natsumi
2025-05-26 05:20:44 +10:00
parent c9687bd493
commit 7ca45c1168
@@ -262,9 +262,7 @@
<div style="display: block; width: 300px; word-break: normal"> <div style="display: block; width: 300px; word-break: normal">
<span>{{ badge.badgeName }}</span> <span>{{ badge.badgeName }}</span>
<br /> <br />
<span class="x-grey" style="font-size: 12px">{{ <span class="x-grey" style="font-size: 12px">{{ badge.badgeDescription }}</span>
badge.badgeDescription
}}</span>
<br /> <br />
<span <span
v-if="badge.assignedAt" v-if="badge.assignedAt"
@@ -1150,11 +1148,12 @@
<div v-loading="userDialog.isGroupsLoading" style="margin-top: 10px"> <div v-loading="userDialog.isGroupsLoading" style="margin-top: 10px">
<template v-if="userDialogGroupEditMode"> <template v-if="userDialogGroupEditMode">
<div class="x-friend-list" style="margin-top: 10px; margin-bottom: 15px; max-height: unset"> <div class="x-friend-list" style="margin-top: 10px; margin-bottom: 15px; max-height: unset">
<!-- Bulk actions dropdown (shown only in edit mode) --> <!-- Bulk actions dropdown (shown only in edit mode) -->
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button size="small" icon="el-icon-setting" <el-button
style="margin-right: 5px; height: 29px; padding: 7px 15px"> size="small"
icon="el-icon-setting"
style="margin-right: 5px; height: 29px; padding: 7px 15px; margin-bottom: 5px">
{{ t('dialog.group.actions.manage_selected') }} {{ t('dialog.group.actions.manage_selected') }}
<i class="el-icon-arrow-down el-icon--right"></i> <i class="el-icon-arrow-down el-icon--right"></i>
</el-button> </el-button>
@@ -1176,11 +1175,16 @@
</el-dropdown> </el-dropdown>
<!-- Select All button --> <!-- Select All button -->
<el-button size="small" <el-button
size="small"
:icon="userDialogGroupAllSelected ? 'el-icon-close' : 'el-icon-check'" :icon="userDialogGroupAllSelected ? 'el-icon-close' : 'el-icon-check'"
style="height: 29px; padding: 7px 15px" @click="selectAllGroups"> style="height: 29px; padding: 7px 15px; margin-bottom: 5px"
{{ userDialogGroupAllSelected ? t('dialog.group.actions.deselect_all') : @click="selectAllGroups">
t('dialog.group.actions.select_all') }} {{
userDialogGroupAllSelected
? t('dialog.group.actions.deselect_all')
: t('dialog.group.actions.select_all')
}}
</el-button> </el-button>
<div <div
@@ -1189,11 +1193,17 @@
class="x-friend-item x-friend-item-border" class="x-friend-item x-friend-item-border"
style="width: 100%" style="width: 100%"
@click="showGroupDialog(group.id)"> @click="showGroupDialog(group.id)">
<!-- Manual checkbox --> <!-- Manual checkbox -->
<div style="margin-left: 5px; margin-right: 5px; transform: scale(0.8); transform-origin: left center;" <div
style="
margin-left: 5px;
margin-right: 5px;
transform: scale(0.8);
transform-origin: left center;
"
@click.stop> @click.stop>
<el-checkbox :checked="userDialogGroupEditSelectedGroupIds.includes(group.id)" <el-checkbox
:checked="userDialogGroupEditSelectedGroupIds.includes(group.id)"
@change="() => toggleGroupSelection(group.id)" /> @change="() => toggleGroupSelection(group.id)" />
</div> </div>
@@ -3125,7 +3135,7 @@
const allSelected = userDialogGroupEditSelectedGroupIds.value.length === userDialogGroupEditGroups.value.length; const allSelected = userDialogGroupEditSelectedGroupIds.value.length === userDialogGroupEditGroups.value.length;
// First update selection state // First update selection state
userDialogGroupEditSelectedGroupIds.value = allSelected ? [] : userDialogGroupEditGroups.value.map(g => g.id); userDialogGroupEditSelectedGroupIds.value = allSelected ? [] : userDialogGroupEditGroups.value.map((g) => g.id);
userDialogGroupAllSelected.value = !allSelected; userDialogGroupAllSelected.value = !allSelected;
// Toggle editMode off and back on to force checkbox UI update // Toggle editMode off and back on to force checkbox UI update
@@ -3145,17 +3155,17 @@
// Leave (remove user from) all selected groups // Leave (remove user from) all selected groups
function bulkLeaveGroups() { function bulkLeaveGroups() {
for (const groupId of userDialogGroupEditSelectedGroupIds.value) { for (const groupId of userDialogGroupEditSelectedGroupIds.value) {
leaveGroupPrompt(groupId) leaveGroupPrompt(groupId);
} }
} }
// Toggle individual group selection for bulk actions // Toggle individual group selection for bulk actions
function toggleGroupSelection(groupId) { function toggleGroupSelection(groupId) {
const index = userDialogGroupEditSelectedGroupIds.value.indexOf(groupId) const index = userDialogGroupEditSelectedGroupIds.value.indexOf(groupId);
if (index === -1) { if (index === -1) {
userDialogGroupEditSelectedGroupIds.value.push(groupId) userDialogGroupEditSelectedGroupIds.value.push(groupId);
} else { } else {
userDialogGroupEditSelectedGroupIds.value.splice(index, 1) userDialogGroupEditSelectedGroupIds.value.splice(index, 1);
} }
} }