sort MAM board admin list by name with NULL first
This commit is contained in:
parent
0814a733d2
commit
36bdf66946
@ -241,6 +241,25 @@ const displayExistingMinterAdmins = async () => {
|
||||
try {
|
||||
// 1) Fetch addresses
|
||||
const admins = await fetchMinterGroupAdmins()
|
||||
// Get names for each admin first
|
||||
for (const admin of admins) {
|
||||
try {
|
||||
admin.name = await getNameFromAddress(admin.member)
|
||||
} catch (err) {
|
||||
console.warn(`Error fetching name for ${admin.member}:`, err)
|
||||
admin.name = null
|
||||
}
|
||||
}
|
||||
// Sort admin list by name with NULL ACCOUNT at the top
|
||||
admins.sort((a, b) => {
|
||||
if (a.member === nullAddress && b.member !== nullAddress) {
|
||||
return -1;
|
||||
}
|
||||
if (b.member === nullAddress && a.member !== nullAddress) {
|
||||
return 1;
|
||||
}
|
||||
return (a.name || '').localeCompare(b.name || '');
|
||||
})
|
||||
minterAdminAddresses = admins.map(m => m.member)
|
||||
// Compute total admin count and signatures needed (40%, rounded up)
|
||||
const totalAdmins = admins.length;
|
||||
@ -264,16 +283,8 @@ const displayExistingMinterAdmins = async () => {
|
||||
</tr>
|
||||
`
|
||||
continue
|
||||
}
|
||||
// Attempt to get name
|
||||
let adminName
|
||||
try {
|
||||
adminName = await getNameFromAddress(adminAddr.member)
|
||||
} catch (err) {
|
||||
console.warn(`Error fetching name for ${adminAddr.member}:`, err)
|
||||
adminName = null
|
||||
}
|
||||
const displayName = adminName && adminName !== adminAddr.member ? adminName : "(No Name)"
|
||||
const displayName = adminAddr.name && adminAddr.name !== adminAddr.member ? adminAddr.name : "(No Name)"
|
||||
rowsHtml += `
|
||||
<tr>
|
||||
<td style="border: 1px solid rgb(150, 199, 224); font-size: 1.5rem; padding: 4px; color:rgb(70, 156, 196)">${displayName}</td>
|
||||
@ -281,7 +292,7 @@ const displayExistingMinterAdmins = async () => {
|
||||
<td style="border: 1px solid rgb(231, 112, 112); padding: 4px;">
|
||||
<button
|
||||
style="padding: 5px; background: red; color: white; border-radius: 3px; cursor: pointer;"
|
||||
onclick="handleProposeDemotionWrapper('${adminName}', '${adminAddr.member}')"
|
||||
onclick="handleProposeDemotionWrapper('${adminAddr.name}', '${adminAddr.member}')"
|
||||
>
|
||||
Propose Demotion
|
||||
</button>
|
||||
|
Loading…
x
Reference in New Issue
Block a user