Simplify get answer items logic

This commit is contained in:
Ian Philips 2022-05-04 11:39:15 -04:00
parent a155ff71ea
commit ff7c6dae09

View File

@ -52,10 +52,10 @@ export function AnswersPanel(props: {
const chosenTotal = _.sum(Object.values(chosenAnswers)) const chosenTotal = _.sum(Object.values(chosenAnswers))
const answerItems = getAnswers( const answerItems = getAnswerItems(
contract, contract,
user, losingAnswers.length > 0 ? losingAnswers : sortedAnswers,
winningAnswers.length > 0 ? winningAnswers.map((a) => a.id) : [] user
) )
const onChoose = (answerId: string, prob: number) => { const onChoose = (answerId: string, prob: number) => {
@ -140,20 +140,14 @@ export function AnswersPanel(props: {
) )
} }
function getAnswers( function getAnswerItems(
contract: FullContract<DPM, FreeResponse>, contract: FullContract<DPM, FreeResponse>,
user: User | undefined | null, answers: Answer[],
ignoreAnswerOutcomes: string[] user: User | undefined | null
) { ) {
const { answers } = contract
let outcomes = _.uniq( let outcomes = _.uniq(
answers.map((answer) => answer.number.toString()) answers.map((answer) => answer.number.toString())
).filter( ).filter((outcome) => getOutcomeProbability(contract, outcome) > 0.0001)
(outcome) =>
getOutcomeProbability(contract, outcome) > 0.0001 &&
!ignoreAnswerOutcomes.includes(outcome)
)
outcomes = _.sortBy(outcomes, (outcome) => outcomes = _.sortBy(outcomes, (outcome) =>
getOutcomeProbability(contract, outcome) getOutcomeProbability(contract, outcome)
).reverse() ).reverse()