sort votes by most Yes & least No
This commit is contained in:
parent
7cfd0357b5
commit
1aa4985375
@ -289,19 +289,19 @@ const applyVoteSortingData = async (cards, ascending = true, boardType = 'minter
|
|||||||
const pollName = card.decryptedCardData?.poll
|
const pollName = card.decryptedCardData?.poll
|
||||||
if (!pollName) {
|
if (!pollName) {
|
||||||
// No poll => no votes
|
// No poll => no votes
|
||||||
card._adminVotes = 0
|
|
||||||
card._adminYes = 0
|
card._adminYes = 0
|
||||||
card._minterVotes = 0
|
card._adminNo = 0
|
||||||
card._minterYes = 0
|
card._minterYes = 0
|
||||||
|
card._minterNo = 0
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// Fetch poll results
|
// Fetch poll results
|
||||||
const pollResults = await fetchPollResults(pollName)
|
const pollResults = await fetchPollResults(pollName)
|
||||||
if (!pollResults) {
|
if (!pollResults) {
|
||||||
card._adminVotes = 0
|
|
||||||
card._adminYes = 0
|
card._adminYes = 0
|
||||||
card._minterVotes = 0
|
card._adminNo = 0
|
||||||
card._minterYes = 0
|
card._minterYes = 0
|
||||||
|
card._minterNo = 0
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// Process them
|
// Process them
|
||||||
@ -312,10 +312,10 @@ const applyVoteSortingData = async (cards, ascending = true, boardType = 'minter
|
|||||||
card.decryptedCardData.creator,
|
card.decryptedCardData.creator,
|
||||||
card.card.identifier
|
card.card.identifier
|
||||||
)
|
)
|
||||||
card._adminVotes = adminYes + adminNo
|
|
||||||
card._adminYes = adminYes
|
card._adminYes = adminYes
|
||||||
card._minterVotes = minterYes + minterNo
|
card._adminNo = adminNo
|
||||||
card._minterYes = minterYes
|
card._minterYes = minterYes
|
||||||
|
card._minterNo = minterNo
|
||||||
} else {
|
} else {
|
||||||
const cardDataResponse = await qortalRequest({
|
const cardDataResponse = await qortalRequest({
|
||||||
action: "FETCH_QDN_RESOURCE",
|
action: "FETCH_QDN_RESOURCE",
|
||||||
@ -324,10 +324,10 @@ const applyVoteSortingData = async (cards, ascending = true, boardType = 'minter
|
|||||||
identifier: card.identifier,
|
identifier: card.identifier,
|
||||||
})
|
})
|
||||||
if (!cardDataResponse || !cardDataResponse.poll) {
|
if (!cardDataResponse || !cardDataResponse.poll) {
|
||||||
card._adminVotes = 0
|
|
||||||
card._adminYes = 0
|
card._adminYes = 0
|
||||||
card._minterVotes = 0
|
card._adminNo = 0
|
||||||
card._minterYes = 0
|
card._minterYes = 0
|
||||||
|
card._minterNo = 0
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
const pollResults = await fetchPollResults(cardDataResponse.poll);
|
const pollResults = await fetchPollResults(cardDataResponse.poll);
|
||||||
@ -338,40 +338,40 @@ const applyVoteSortingData = async (cards, ascending = true, boardType = 'minter
|
|||||||
cardDataResponse.creator,
|
cardDataResponse.creator,
|
||||||
card.identifier
|
card.identifier
|
||||||
)
|
)
|
||||||
card._adminVotes = adminYes + adminNo
|
|
||||||
card._adminYes = adminYes
|
card._adminYes = adminYes
|
||||||
card._minterVotes = minterYes + minterNo
|
card._adminNo = adminNo
|
||||||
card._minterYes = minterYes
|
card._minterYes = minterYes
|
||||||
|
card._minterNo = minterNo
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn(`Error fetching or processing poll for card ${card.identifier}:`, error)
|
console.warn(`Error fetching or processing poll for card ${card.identifier}:`, error)
|
||||||
card._adminVotes = 0
|
|
||||||
card._adminYes = 0
|
card._adminYes = 0
|
||||||
card._minterVotes = 0
|
card._adminNo = 0
|
||||||
card._minterYes = 0
|
card._minterYes = 0
|
||||||
|
card._minterNo = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ascending) {
|
if (ascending) {
|
||||||
// least votes first
|
// least votes first
|
||||||
cards.sort((a, b) => {
|
cards.sort((a, b) => {
|
||||||
const diffAdminTotal = a._adminVotes - b._adminVotes
|
|
||||||
if (diffAdminTotal !== 0) return diffAdminTotal
|
|
||||||
const diffAdminYes = a._adminYes - b._adminYes
|
const diffAdminYes = a._adminYes - b._adminYes
|
||||||
if (diffAdminYes !== 0) return diffAdminYes
|
if (diffAdminYes !== 0) return diffAdminYes
|
||||||
const diffMinterTotal = a._minterVotes - b._minterVotes
|
const diffAdminNo = b._adminNo - a._adminNo
|
||||||
if (diffMinterTotal !== 0) return diffMinterTotal
|
if (diffAdminNo !== 0) return diffAdminNo
|
||||||
return a._minterYes - b._minterYes
|
const diffMinterYes = a._minterYes - b._minterYes
|
||||||
|
if (diffMinterYes !== 0) return diffMinterYes
|
||||||
|
return b._minterNo - a._minterNo
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// most votes first
|
// most votes first
|
||||||
cards.sort((a, b) => {
|
cards.sort((a, b) => {
|
||||||
const diffAdminTotal = b._adminVotes - a._adminVotes
|
|
||||||
if (diffAdminTotal !== 0) return diffAdminTotal
|
|
||||||
const diffAdminYes = b._adminYes - a._adminYes
|
const diffAdminYes = b._adminYes - a._adminYes
|
||||||
if (diffAdminYes !== 0) return diffAdminYes
|
if (diffAdminYes !== 0) return diffAdminYes
|
||||||
const diffMinterTotal = b._minterVotes - a._minterVotes
|
const diffAdminNo = a._adminNo - b._adminNo
|
||||||
if (diffMinterTotal !== 0) return diffMinterTotal
|
if (diffAdminNo !== 0) return diffAdminNo
|
||||||
return b._minterYes - a._minterYes
|
const diffMinterYes = b._minterYes - a._minterYes
|
||||||
|
if (diffMinterYes !== 0) return diffMinterYes
|
||||||
|
return a._minterNo - b._minterNo
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user