import React, { useContext } from "react" import { Box, Stack } from "@mui/material" import { useForm } from "react-hook-form" import { toItemId } from "@rarible/types" import { PrepareBidResponse } from "@rarible/sdk/build/types/order/bid/domain" import { faChevronRight } from "@fortawesome/free-solid-svg-icons" import { FormTextInput } from "../../components/common/form/form-text-input" import { FormSubmit } from "../../components/common/form/form-submit" import { resultToState, useRequestResult } from "../../components/hooks/use-request-result" import { ConnectorContext } from "../../components/connector/sdk-connection-provider" import { RequestResult } from "../../components/common/request-result" import { useNavigate } from "react-router-dom" interface IBidPrepareFormProps { disabled?: boolean onComplete: (response: PrepareBidResponse) => void itemId: string | undefined } export function BidPrepareForm({ itemId, disabled, onComplete }: IBidPrepareFormProps) { const navigate = useNavigate() const connection = useContext(ConnectorContext) const form = useForm() const { handleSubmit } = form const { result, setError } = useRequestResult() return ( <>
{ if (!connection.sdk) { return } try { onComplete(await connection.sdk.order.bid({ itemId: toItemId(formData.itemId) })) navigate(`/bid/${formData.itemId}`, {}) } catch (e) { setError(e) } })} >
) }