From 31ee21b7f2e41ab32e0178b8c174b2f0343dab23 Mon Sep 17 00:00:00 2001 From: chaojun Date: Wed, 8 Jul 2026 18:43:37 +0800 Subject: [PATCH] fix: fellowship salary claimants list --- .../fellowship/salary/claimants/list.jsx | 13 ++++++---- .../salary/useFellowshipSalaryClaimants.js | 24 ++++++++++++++++++- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/packages/next-common/components/fellowship/salary/claimants/list.jsx b/packages/next-common/components/fellowship/salary/claimants/list.jsx index 8847d57f49..ab6914203c 100644 --- a/packages/next-common/components/fellowship/salary/claimants/list.jsx +++ b/packages/next-common/components/fellowship/salary/claimants/list.jsx @@ -19,8 +19,8 @@ import FieldLoading from "next-common/components/icons/fieldLoading"; import { SystemVoteAbstain } from "@osn/icons/subsquare"; import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset"; -function SalaryCellTooltip({ isActive, rank, params, children }) { - const { symbol, decimals } = useSalaryAsset(); +function SalaryCellTooltip({ isActive, rank, params, children, cycleIndexer }) { + const { symbol, decimals } = useSalaryAsset(cycleIndexer?.blockHeight); const { activeSalary = [], passiveSalary = [] } = params ?? {}; const activeRankSalary = getRankSalary(activeSalary, rank); @@ -54,7 +54,9 @@ function SalaryCellTooltip({ isActive, rank, params, children }) { } function ClaimantAmountCell({ claimant }) { - const { symbol, decimals } = useSalaryAsset(); + const { symbol, decimals } = useSalaryAsset( + claimant?.cycleIndexer?.blockHeight, + ); const status = claimant?.status?.status || {}; const registered = has(status, "registered") ? status?.registered @@ -72,7 +74,9 @@ function ClaimantSalaryCell({ claimant, member, params }) { const isActive = member?.status?.isActive; const rank = claimant?.rank; - const { symbol, decimals } = useSalaryAsset(); + const { symbol, decimals } = useSalaryAsset( + claimant?.cycleIndexer?.blockHeight, + ); const { activeSalary = [], passiveSalary = [] } = params ?? {}; const activeRankSalary = getRankSalary(activeSalary, rank); @@ -123,6 +127,7 @@ export default function FellowshipSalaryClaimantsList({ isActive={member?.status?.isActive} rank={claimant.rank} params={params} + cycleIndexer={claimant.cycleIndexer} > { + const source = claimants || claimantsFromServer; + const serverByAddress = {}; + if (claimantsFromServer) { + for (const c of claimantsFromServer) { + if (c.address) serverByAddress[c.address] = c; + } + } + return source?.map((claimant) => { + const server = claimant.address + ? serverByAddress[claimant.address] + : null; + if (server?.cycleIndexer && !claimant.cycleIndexer) { + return { ...claimant, cycleIndexer: server.cycleIndexer }; + } + return claimant; + }); + })(); + const sortedClaimants = orderBy( - (claimants || claimantsFromServer)?.map?.((claimant) => { + merged?.map?.((claimant) => { const address = claimant?.address; const member = find(members, { address }); const rank = member?.rank;