Add volume calculation. Remove new bet button that was unnecessary.
This commit is contained in:
parent
e253b3beca
commit
29e13497bf
|
@ -21,6 +21,11 @@ export function BetPanel(props: { contract: Contract; className?: string }) {
|
|||
const [isSubmitting, setIsSubmitting] = useState(false)
|
||||
const [wasSubmitted, setWasSubmitted] = useState(false)
|
||||
|
||||
function onBetChoice(choice: 'YES' | 'NO') {
|
||||
setBetChoice(choice)
|
||||
setWasSubmitted(false)
|
||||
}
|
||||
|
||||
function onBetChange(str: string) {
|
||||
const amount = parseInt(str)
|
||||
setBetAmount(isNaN(amount) ? undefined : amount)
|
||||
|
@ -44,11 +49,6 @@ export function BetPanel(props: { contract: Contract; className?: string }) {
|
|||
setWasSubmitted(true)
|
||||
}
|
||||
|
||||
function newBet() {
|
||||
setBetAmount(undefined)
|
||||
setWasSubmitted(false)
|
||||
}
|
||||
|
||||
const betDisabled = isSubmitting || wasSubmitted
|
||||
|
||||
const initialProb = getProbability(contract.pot, betChoice)
|
||||
|
@ -72,7 +72,7 @@ export function BetPanel(props: { contract: Contract; className?: string }) {
|
|||
<YesNoSelector
|
||||
className="p-2"
|
||||
selected={betChoice}
|
||||
onSelect={setBetChoice}
|
||||
onSelect={choice => onBetChoice(choice)}
|
||||
/>
|
||||
|
||||
<Spacer h={4} />
|
||||
|
@ -128,19 +128,7 @@ export function BetPanel(props: { contract: Contract; className?: string }) {
|
|||
Place bet
|
||||
</button>
|
||||
|
||||
{wasSubmitted && (
|
||||
<Col>
|
||||
<Spacer h={4} />
|
||||
|
||||
<div>Bet submitted!</div>
|
||||
|
||||
<Spacer h={4} />
|
||||
|
||||
<button className="btn btn-accent btn-xs" onClick={newBet}>
|
||||
New bet
|
||||
</button>
|
||||
</Col>
|
||||
)}
|
||||
{wasSubmitted && <div className="mt-4">Bet submitted!</div>}
|
||||
</Col>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import { Contract } from '../lib/firebase/contracts'
|
|||
import { Col } from './layout/col'
|
||||
import { Row } from './layout/row'
|
||||
import { Spacer } from './layout/spacer'
|
||||
import { formatWithCommas } from '../lib/util/format'
|
||||
|
||||
// Auto import doesn't work for some reason...
|
||||
// So we manually register ChartJS components instead:
|
||||
|
@ -39,6 +40,9 @@ const chartData = {
|
|||
|
||||
export const ContractOverview = (props: { contract: Contract }) => {
|
||||
const { contract } = props
|
||||
const { pot, seedAmounts } = contract
|
||||
|
||||
const volume = pot.YES + pot.NO - seedAmounts.YES - seedAmounts.NO
|
||||
|
||||
return (
|
||||
<Col className="max-w-3xl w-full">
|
||||
|
@ -49,7 +53,7 @@ export const ContractOverview = (props: { contract: Contract }) => {
|
|||
<div className="py-2">•</div>
|
||||
<div className="p-2 whitespace-nowrap">Dec 9</div>
|
||||
<div className="py-2">•</div>
|
||||
<div className="p-2 whitespace-nowrap">200,000 volume</div>
|
||||
<div className="p-2 whitespace-nowrap">{formatWithCommas(volume)} volume</div>
|
||||
</Row>
|
||||
|
||||
<Spacer h={4} />
|
||||
|
|
|
@ -4,6 +4,10 @@ const formatter = new Intl.NumberFormat('en-US', {
|
|||
maximumFractionDigits: 0,
|
||||
})
|
||||
|
||||
export const formatMoney = (amount: number) => {
|
||||
export function formatMoney(amount: number) {
|
||||
return 'M$ ' + formatter.format(amount).substr(1)
|
||||
}
|
||||
|
||||
export function formatWithCommas(amount: number) {
|
||||
return formatter.format(amount).substr(1)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user