Show loan repaid in sell dialog

This commit is contained in:
James Grugett 2022-10-04 19:10:43 -05:00
parent f551e6c469
commit 8043fa515a

View File

@ -838,6 +838,11 @@ export function SellPanel(props: {
const sellQuantity = isSellingAllShares ? shares : amount const sellQuantity = isSellingAllShares ? shares : amount
const loanAmount = sumBy(userBets, (bet) => bet.loanAmount ?? 0)
const soldShares = Math.min(sellQuantity ?? 0, shares)
const saleFrac = soldShares / shares
const loanPaid = saleFrac * loanAmount
async function submitSell() { async function submitSell() {
if (!user || !amount) return if (!user || !amount) return
@ -882,6 +887,7 @@ export function SellPanel(props: {
sharesOutcome, sharesOutcome,
unfilledBets unfilledBets
) )
const netProceeds = saleValue - loanPaid
const resultProb = getCpmmProbability(cpmmState.pool, cpmmState.p) const resultProb = getCpmmProbability(cpmmState.pool, cpmmState.p)
const getValue = getMappedValue(contract) const getValue = getMappedValue(contract)
@ -941,9 +947,21 @@ export function SellPanel(props: {
<Col className="mt-3 w-full gap-3 text-sm"> <Col className="mt-3 w-full gap-3 text-sm">
<Row className="items-center justify-between gap-2 text-gray-500"> <Row className="items-center justify-between gap-2 text-gray-500">
Sale proceeds Sale amount
<span className="text-neutral">{formatMoney(saleValue)}</span> <span className="text-neutral">{formatMoney(saleValue)}</span>
</Row> </Row>
{loanPaid !== 0 && (
<>
<Row className="items-center justify-between gap-2 text-gray-500">
Loan repaid
<span className="text-neutral">{formatMoney(-loanPaid)}</span>
</Row>
<Row className="items-center justify-between gap-2 text-gray-500">
Net proceeds
<span className="text-neutral">{formatMoney(netProceeds)}</span>
</Row>
</>
)}
<Row className="items-center justify-between"> <Row className="items-center justify-between">
<div className="text-gray-500"> <div className="text-gray-500">
{isPseudoNumeric ? 'Estimated value' : 'Probability'} {isPseudoNumeric ? 'Estimated value' : 'Probability'}
@ -960,7 +978,7 @@ export function SellPanel(props: {
<WarningConfirmationButton <WarningConfirmationButton
marketType="binary" marketType="binary"
amount={saleValue} amount={netProceeds}
warning={warning} warning={warning}
isSubmitting={isSubmitting} isSubmitting={isSubmitting}
onSubmit={betDisabled ? undefined : submitSell} onSubmit={betDisabled ? undefined : submitSell}