import React from "react"; import { Link } from "react-router-dom"; import { IState, ProposalDetail } from "../../types"; import Back from "../Back"; const amount = (amount: number) => (amount / 1000000).toFixed(2); const getRound = (block: number): number => Math.round((block - 57600) / 201600); const executionFailed = (result: string, executed: any) => { if (result !== "Approved") return result; if (!executed || !Object.keys(executed)) return; if (executed.Approved && executed.Approved.ExecutionFailed) return executed.Approved.ExecutionFailed.error; return false; }; const Spending = (props: IState) => { const spending = props.proposals.filter( (p: ProposalDetail) => p && p.type === "spending" ); const rounds: ProposalDetail[][] = []; let unknown = 0; let sum = 0; let sums: number[] = []; spending.forEach((p) => { const r = getRound(p.finalizedAt); rounds[r] = rounds[r] ? rounds[r].concat(p) : [p]; if (!sums[r]) sums[r] = 0; if (!p.detail) return unknown++; if (executionFailed(p.result, p.executed)) return; sum += p.detail.spending[0]; sums[r] += p.detail.spending[0]; }); return (