diff --git a/libs/deal-ticket/src/components/deal-ticket/deal-ticket-2.tsx b/libs/deal-ticket/src/components/deal-ticket/deal-ticket-2.tsx new file mode 100644 index 000000000..da9d2957e --- /dev/null +++ b/libs/deal-ticket/src/components/deal-ticket/deal-ticket-2.tsx @@ -0,0 +1,78 @@ +import { create } from 'zustand'; +import type { Market, MarketData } from '@vegaprotocol/market-list'; +import type { OrderSubmissionBody } from '@vegaprotocol/wallet'; +import { OrderType } from '@vegaprotocol/types'; +import { useEffect } from 'react'; +import { persist, subscribeWithSelector } from 'zustand/middleware'; +import { Controller, useForm } from 'react-hook-form'; +import { InputError } from '@vegaprotocol/ui-toolkit'; + +export const DealTicket2 = ({ + market, + marketData, +}: { + market: Market; + marketData: MarketData; + submit: (order: OrderSubmissionBody['orderSubmission']) => void; + onClickCollateral?: () => void; +}) => { + const { order, update, control, errors, onSubmit } = useOrderForm(market.id); + + console.log('render'); + + if (!order) return null; + + return ( +
+
+
+ + ( + { + update({ marketId: market.id, size: e.target.value }); + }} + /> + )} + /> + {errors.size?.message && ( + {errors.size.message} + )} +
+
+ + ( + { + update({ marketId: market.id, price: e.target.value }); + }} + /> + )} + /> + {errors.price?.message && ( + {errors.price.message} + )} +
+ +
+
{JSON.stringify(order, null, 2)}
+
{JSON.stringify(marketData, null, 2)}
+
+ ); +}; diff --git a/libs/deal-ticket/src/components/deal-ticket/deal-ticket-container.tsx b/libs/deal-ticket/src/components/deal-ticket/deal-ticket-container.tsx index 93d00d3c3..fe1ff4436 100644 --- a/libs/deal-ticket/src/components/deal-ticket/deal-ticket-container.tsx +++ b/libs/deal-ticket/src/components/deal-ticket/deal-ticket-container.tsx @@ -5,6 +5,7 @@ import { useThrottledDataProvider } from '@vegaprotocol/react-helpers'; import { useVegaTransactionStore } from '@vegaprotocol/wallet'; import { useMarket, marketDataProvider } from '@vegaprotocol/market-list'; import { DealTicket } from './deal-ticket'; +import { DealTicket2 } from './deal-ticket-2'; export interface DealTicketContainerProps { marketId: string; diff --git a/libs/deal-ticket/src/components/deal-ticket/index.ts b/libs/deal-ticket/src/components/deal-ticket/index.ts index e28d29132..24c0a9816 100644 --- a/libs/deal-ticket/src/components/deal-ticket/index.ts +++ b/libs/deal-ticket/src/components/deal-ticket/index.ts @@ -3,6 +3,7 @@ export * from './deal-ticket-container'; export * from './deal-ticket-limit-amount'; export * from './deal-ticket-market-amount'; export * from './deal-ticket'; +export * from './deal-ticket-2'; export * from './expiry-selector'; export * from './market-selector'; export * from './side-selector';