This commit is contained in:
		
						commit
						afb37bd5a6
					
				
							
								
								
									
										36
									
								
								web/components/contract/add-liquidity-button.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								web/components/contract/add-liquidity-button.tsx
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| import { useState } from 'react' | ||||
| import clsx from 'clsx' | ||||
| 
 | ||||
| import { buttonClass } from 'web/components/button' | ||||
| import { CPMMContract } from 'common/contract' | ||||
| import { LiquidityModal } from './liquidity-modal' | ||||
| 
 | ||||
| export function AddLiquidityButton(props: { | ||||
|   contract: CPMMContract | ||||
|   className?: string | ||||
| }) { | ||||
|   const { contract, className } = props | ||||
| 
 | ||||
|   const [open, setOpen] = useState(false) | ||||
| 
 | ||||
|   const disabled = | ||||
|     contract.isResolved || (contract.closeTime ?? Infinity) < Date.now() | ||||
| 
 | ||||
|   if (disabled) return <></> | ||||
| 
 | ||||
|   return ( | ||||
|     <a | ||||
|       className={clsx( | ||||
|         buttonClass('2xs', 'override'), | ||||
|         'cursor-pointer', | ||||
|         'gap-1 border-2 border-blue-400 text-blue-400 hover:bg-blue-400 hover:text-white', | ||||
|         className | ||||
|       )} | ||||
|       onClick={() => setOpen(true)} | ||||
|       target="_blank" | ||||
|     > | ||||
|       <div>💧 Add liquidity</div> | ||||
|       <LiquidityModal contract={contract} isOpen={open} setOpen={setOpen} /> | ||||
|     </a> | ||||
|   ) | ||||
| } | ||||
|  | @ -20,6 +20,7 @@ import { DuplicateContractButton } from '../duplicate-contract-button' | |||
| import { Row } from '../layout/row' | ||||
| import { BETTORS, User } from 'common/user' | ||||
| import { Button } from '../button' | ||||
| import { AddLiquidityButton } from './add-liquidity-button' | ||||
| 
 | ||||
| export const contractDetailsButtonClassName = | ||||
|   'group flex items-center rounded-md px-3 py-2 text-sm font-medium cursor-pointer hover:bg-gray-100 text-gray-400 hover:text-gray-500' | ||||
|  | @ -241,6 +242,9 @@ export function ContractInfoDialog(props: { | |||
|           </table> | ||||
| 
 | ||||
|           <Row className="flex-wrap"> | ||||
|             {mechanism === 'cpmm-1' && ( | ||||
|               <AddLiquidityButton contract={contract} className="mr-2" /> | ||||
|             )} | ||||
|             <DuplicateContractButton contract={contract} /> | ||||
|           </Row> | ||||
|         </Col> | ||||
|  |  | |||
|  | @ -9,7 +9,6 @@ import { FollowMarketButton } from 'web/components/follow-market-button' | |||
| import { LikeMarketButton } from 'web/components/contract/like-market-button' | ||||
| import { ContractInfoDialog } from 'web/components/contract/contract-info-dialog' | ||||
| import { Tooltip } from '../tooltip' | ||||
| import { LiquidityButton } from './liquidity-button' | ||||
| 
 | ||||
| export function ExtraContractActionsRow(props: { contract: Contract }) { | ||||
|   const { contract } = props | ||||
|  | @ -19,10 +18,9 @@ export function ExtraContractActionsRow(props: { contract: Contract }) { | |||
|   return ( | ||||
|     <Row> | ||||
|       <FollowMarketButton contract={contract} user={user} /> | ||||
|       {contract.mechanism === 'cpmm-1' && ( | ||||
|         <LiquidityButton contract={contract} user={user} /> | ||||
|       )} | ||||
| 
 | ||||
|       <LikeMarketButton contract={contract} user={user} /> | ||||
| 
 | ||||
|       <Tooltip text="Share" placement="bottom" noTap noFade> | ||||
|         <Button | ||||
|           size="sm" | ||||
|  | @ -39,6 +37,7 @@ export function ExtraContractActionsRow(props: { contract: Contract }) { | |||
|           /> | ||||
|         </Button> | ||||
|       </Tooltip> | ||||
| 
 | ||||
|       <ContractInfoDialog contract={contract} user={user} /> | ||||
|     </Row> | ||||
|   ) | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ export function LiquidityModal(props: { | |||
|   return ( | ||||
|     <Modal open={isOpen} setOpen={setOpen} size="sm"> | ||||
|       <Col className="gap-2.5 rounded  bg-white p-4 pb-8 sm:gap-4"> | ||||
|         <Title className="!mt-0 !mb-2" text="💧 Add a subsidy" /> | ||||
|         <Title className="!mt-0 !mb-2" text="💧 Add liquidity" /> | ||||
| 
 | ||||
|         <div>Total liquidity subsidies: {formatMoney(totalLiquidity)}</div> | ||||
|         <AddLiquidityPanel contract={contract as CPMMContract} /> | ||||
|  | @ -91,7 +91,7 @@ function AddLiquidityPanel(props: { contract: CPMMContract }) { | |||
|           label="M$" | ||||
|           error={error} | ||||
|           disabled={isLoading} | ||||
|           inputClassName="w-16 mr-4" | ||||
|           inputClassName="w-28 mr-4" | ||||
|         /> | ||||
|         <Button size="md" color="blue" onClick={submit} disabled={isLoading}> | ||||
|           Add | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user