diff --git a/app/access-check.tsx b/app/access-check.tsx index 63f6981..18c5e85 100644 --- a/app/access-check.tsx +++ b/app/access-check.tsx @@ -42,10 +42,14 @@ function PerChainEligibilityList({ perChainRoleEligibility, isResolvingRoleEligibility, roleEligibilityError, + retryingChainIds = [], + onRetryChain, }: { perChainRoleEligibility: PerChainRoleEligibilityResolution[]; isResolvingRoleEligibility: boolean; roleEligibilityError?: string; + retryingChainIds?: number[]; + onRetryChain?: (chainId: number) => void; }) { if ( perChainRoleEligibility.length === 0 && @@ -78,32 +82,51 @@ function PerChainEligibilityList({ ) : null} - {perChainRoleEligibility.map((chain) => ( - - - - Chain {chain.chainId} - - - {statusCopy[chain.status]} - + {perChainRoleEligibility.map((chain) => { + const isRetrying = retryingChainIds.includes(chain.chainId); + const canRetry = chain.chainId > 0 && chain.status !== "resolved" && onRetryChain; + + return ( + + + + Chain {chain.chainId} + + + {statusCopy[chain.status]} + + + {chain.resolvedRoles && chain.resolvedRoles.length > 0 ? ( + + Roles: {chain.resolvedRoles.join(", ")} + + ) : null} + {chain.errorMessage ? ( + + {chain.errorMessage} + + ) : null} + {canRetry ? ( +