vega-frontend-monorepo/apps/trading/pages/markets/index.page.tsx

30 lines
724 B
TypeScript
Raw Normal View History

Feat/63 Deal ticket (#82) * scaffold dealticket package, remove trading views from react-helpers * add deal ticket component, add intent utils, expand dialog and form group styles * add splash component, show market not found message if market doesnt exist * tidy up error handling * add handleError method for vega tx hook * add better testname for provider test, flesh out tests a bit more for deal ticket * Add unit tests for useVegaTransaction and useOrderSubmit hooks * add wrapper component for order dialog styles * add vega styled loader to ui toolkit and use in order dialog * add title prop to order dialog * split limit and market tickets into own files * add button radio component * revert dialog styles * move splash component to ui-toolkit, add story * convert intent to enum * Make button always type=button unless type prop is passed * inline filter logic for tif selector * add date-fns, add datetime to helpers * add order types to wallet package, make price undefined if order type is market * use enums in deal ticket logic * tidy up order state by moving submit and transaction hooks out of deal ticket * add comment for dialog styles * remove decimal from price input * add types package, delete old generated types from trading project * rename types package to graphql * update generate command to point to correct locations * fix use order submit test * use intent shadow helper * remove date-fns and format manually, update submit button error to use input-error * remove stray console.log
2022-03-17 19:35:46 +00:00
import { Markets } from '@vegaprotocol/graphql';
2022-02-17 05:03:46 +00:00
import { useRouter } from 'next/router';
2022-03-14 15:52:02 +00:00
import { MarketListTable } from '@vegaprotocol/market-list';
import { useMarkets } from '../../hooks/use-markets';
import { Splash } from '@vegaprotocol/ui-toolkit';
2022-02-28 23:43:36 +00:00
2022-03-14 15:52:02 +00:00
const Markets = () => {
const { pathname, push } = useRouter();
const { markets, error, loading } = useMarkets();
if (error) {
return <Splash>Something went wrong: {error.message}</Splash>;
2022-02-28 23:43:36 +00:00
}
2022-02-17 05:03:46 +00:00
2022-03-14 15:52:02 +00:00
if (loading) {
return <Splash>Loading...</Splash>;
}
2022-02-28 23:43:36 +00:00
2022-02-17 05:03:46 +00:00
return (
2022-03-14 15:52:02 +00:00
<MarketListTable
markets={markets}
onRowClicked={(id) =>
push(`${pathname}/${id}?portfolio=orders&trade=orderbook`)
}
/>
2022-02-17 05:03:46 +00:00
);
};
export default Markets;