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 {
|
try {
|
||||||
// 1) Fetch addresses
|
// 1) Fetch addresses
|
||||||
const admins = await fetchMinterGroupAdmins()
|
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)
|
minterAdminAddresses = admins.map(m => m.member)
|
||||||
// Compute total admin count and signatures needed (40%, rounded up)
|
// Compute total admin count and signatures needed (40%, rounded up)
|
||||||
const totalAdmins = admins.length;
|
const totalAdmins = admins.length;
|
||||||
@ -264,16 +283,8 @@ const displayExistingMinterAdmins = async () => {
|
|||||||
</tr>
|
</tr>
|
||||||
`
|
`
|
||||||
continue
|
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 += `
|
rowsHtml += `
|
||||||
<tr>
|
<tr>
|
||||||
<td style="border: 1px solid rgb(150, 199, 224); font-size: 1.5rem; padding: 4px; color:rgb(70, 156, 196)">${displayName}</td>
|
<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;">
|
<td style="border: 1px solid rgb(231, 112, 112); padding: 4px;">
|
||||||
<button
|
<button
|
||||||
style="padding: 5px; background: red; color: white; border-radius: 3px; cursor: pointer;"
|
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
|
Propose Demotion
|
||||||
</button>
|
</button>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user