Revert "Clean up and fix stuff on answers panel (#914)"

This reverts commit 721448f408.
This commit is contained in:
James Grugett 2022-09-25 23:29:13 -04:00
parent be2c60d3f3
commit 68120ec2b2

View File

@ -38,13 +38,26 @@ export function AnswersPanel(props: {
const answers = (useAnswers(contract.id) ?? contract.answers).filter( const answers = (useAnswers(contract.id) ?? contract.answers).filter(
(a) => a.number != 0 || contract.outcomeType === 'MULTIPLE_CHOICE' (a) => a.number != 0 || contract.outcomeType === 'MULTIPLE_CHOICE'
) )
const [winningAnswers, notWinningAnswers] = partition( const hasZeroBetAnswers = answers.some((answer) => totalBets[answer.id] < 1)
answers,
(a) => a.id === resolution || (resolutions && resolutions[a.id]) const [winningAnswers, losingAnswers] = partition(
answers.filter((a) => (showAllAnswers ? true : totalBets[a.id] > 0)),
(answer) =>
answer.id === resolution || (resolutions && resolutions[answer.id])
) )
const [visibleAnswers, invisibleAnswers] = partition( const sortedAnswers = [
sortBy(notWinningAnswers, (a) => -getOutcomeProbability(contract, a.id)), ...sortBy(winningAnswers, (answer) =>
(a) => showAllAnswers || totalBets[a.id] > 0 resolutions ? -1 * resolutions[answer.id] : 0
),
...sortBy(
resolution ? [] : losingAnswers,
(answer) => -1 * getDpmOutcomeProbability(contract.totalShares, answer.id)
),
]
const answerItems = sortBy(
losingAnswers.length > 0 ? losingAnswers : sortedAnswers,
(answer) => -getOutcomeProbability(contract, answer.id)
) )
const user = useUser() const user = useUser()
@ -94,13 +107,13 @@ export function AnswersPanel(props: {
return ( return (
<Col className="gap-3"> <Col className="gap-3">
{(resolveOption || resolution) && {(resolveOption || resolution) &&
sortBy(winningAnswers, (a) => -(resolutions?.[a.id] ?? 0)).map((a) => ( sortedAnswers.map((answer) => (
<AnswerItem <AnswerItem
key={a.id} key={answer.id}
answer={a} answer={answer}
contract={contract} contract={contract}
showChoice={showChoice} showChoice={showChoice}
chosenProb={chosenAnswers[a.id]} chosenProb={chosenAnswers[answer.id]}
totalChosenProb={chosenTotal} totalChosenProb={chosenTotal}
onChoose={onChoose} onChoose={onChoose}
onDeselect={onDeselect} onDeselect={onDeselect}
@ -114,10 +127,10 @@ export function AnswersPanel(props: {
tradingAllowed(contract) ? '' : '-mb-6' tradingAllowed(contract) ? '' : '-mb-6'
)} )}
> >
{visibleAnswers.map((a) => ( {answerItems.map((item) => (
<OpenAnswer key={a.id} answer={a} contract={contract} /> <OpenAnswer key={item.id} answer={item} contract={contract} />
))} ))}
{invisibleAnswers.length > 0 && !showAllAnswers && ( {hasZeroBetAnswers && !showAllAnswers && (
<Button <Button
className="self-end" className="self-end"
color="gray-white" color="gray-white"
@ -130,7 +143,7 @@ export function AnswersPanel(props: {
</Col> </Col>
)} )}
{answers.length === 0 && ( {answers.length <= 1 && (
<div className="pb-4 text-gray-500">No answers yet...</div> <div className="pb-4 text-gray-500">No answers yet...</div>
)} )}