235 lines
6.0 KiB
TypeScript
235 lines
6.0 KiB
TypeScript
import clsx from 'clsx'
|
|
import { useEffect, useState } from 'react'
|
|
|
|
import { CPMMContract } from 'common/contract'
|
|
import { formatMoney } from 'common/util/format'
|
|
import { useUser } from 'web/hooks/use-user'
|
|
import { addLiquidity, withdrawLiquidity } from 'web/lib/firebase/api'
|
|
import { AmountInput } from './amount-input'
|
|
import { Row } from './layout/row'
|
|
import { useUserLiquidity } from 'web/hooks/use-liquidity'
|
|
import { Tabs } from './layout/tabs'
|
|
import { NoLabel, YesLabel } from './outcome-label'
|
|
import { Col } from './layout/col'
|
|
import { track } from 'web/lib/service/analytics'
|
|
import { InfoTooltip } from './info-tooltip'
|
|
import { BETTORS, PRESENT_BET } from 'common/user'
|
|
import { buildArray } from 'common/util/array'
|
|
import { useAdmin } from 'web/hooks/use-admin'
|
|
|
|
export function LiquidityPanel(props: { contract: CPMMContract }) {
|
|
const { contract } = props
|
|
|
|
const user = useUser()
|
|
const lpShares = useUserLiquidity(contract, user?.id ?? '')
|
|
|
|
const [showWithdrawal, setShowWithdrawal] = useState(false)
|
|
|
|
useEffect(() => {
|
|
if (!showWithdrawal && lpShares |