import {useEffect, useLayoutEffect, useRef, useState} from 'react'; import {GradeResultInterface, MeritProfileInterface} from '@services/type'; import {getMajorityGrade} from '@services/majorityJudgment'; interface ParamsInterface { numVotes: number; outgaugeThreshold: number; } interface GradeBarInterface { grade: GradeResultInterface; size: number; index: number; params: ParamsInterface; } const GradeBar = ({index, grade, size, params}: GradeBarInterface) => { const width = `${size * 100}%`; const textWidth = Math.floor(100 * size); const left = `${(size * 100) / 2}%`; const top = index % 2 ? '20px' : '-20px'; if (size < 0.001) { return null; } return (