import { AdjustingLeverModal } from "../../../index"; import IconCom from "@icons/IconCom"; import { Edit } from "@icons/Edit"; import * as React from "react"; import { FC, useCallback, useEffect, useRef, useState } from "react"; import { formatFloor, toDefaultNumber } from "@utils/FormatNumber"; import { AdjustingLeverModalConfirmProps, AdjustingLeverModalRefFuncProps } from "@components/AdjustingLeverModal/interface"; import { MarginTypeEnum, TradeTypeEnum } from "@shared/types"; import { usePost } from "@utils/request"; import { APINameEnum } from "@utils/request/ApiNameEnum"; export interface PositionColumnsLeverageProps { value: string | number; marginType: MarginTypeEnum; tradeType: TradeTypeEnum; symbol: string; pair: any; } export const PositionColumnsLeverage: FC = props => { const { value, marginType, tradeType, symbol, pair } = props; const adjustingLeverModalRef = useRef(); const [open, setOpen] = useState(false); const onClose = useCallback(() => setOpen(false), []); const [leverage, setLeverage] = useState(value); const openAdjustingLeverModal = () => { setOpen(true); }; const [leverMutation, { data }] = usePost(APINameEnum.LEVERAGE); useEffect(() => { if (data) onClose(); }, [data]); const onConfirm = (o: AdjustingLeverModalConfirmProps) => { setLeverage(toDefaultNumber(o.lever)); leverMutation({ tradeType, symbol, leverage, marginType }); }; return ( <>
{`${formatFloor(value, pair?.leverageScale)}X`}
); };