64817aa43e
* fix: order by trading mode not by open timestamp * fix: add fixed vh on landing content * fix: order by trading mode * fix: useMarketList added to data provider * fix: fix network-parameters.spec.tsx * fix: network switcher font color & height of table rows * chore: add market page mock to hook * fix: remove redundant class * fix: formatting and height of landing modal * fix: break-word on ids in market info * fix: linting issue remove import * fix: remove markets landing mock as it is similar with market list * Update apps/trading-e2e/src/integration/home.cy.ts Co-authored-by: Joe <joe@vega.xyz>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { useMarketList } from '@vegaprotocol/market-list';
|
|
import { AsyncRenderer } from '@vegaprotocol/ui-toolkit';
|
|
import { useRouter } from 'next/router';
|
|
import { useEffect } from 'react';
|
|
import { useGlobalStore } from '../stores';
|
|
|
|
export function Index() {
|
|
const { replace } = useRouter();
|
|
// The default market selected in the platform behind the overlay
|
|
// should be the oldest market that is currently trading in continuous mode(i.e. not in auction).
|
|
const { data, error, loading } = useMarketList();
|
|
const setLandingDialog = useGlobalStore((state) => state.setLandingDialog);
|
|
|
|
useEffect(() => {
|
|
if (data) {
|
|
const marketId = data[0]?.id;
|
|
|
|
// If a default market is found, go to it with the landing dialog open
|
|
if (marketId) {
|
|
setLandingDialog(true);
|
|
replace(`/markets/${marketId}`);
|
|
}
|
|
// Fallback to the markets list page
|
|
else {
|
|
replace('/markets');
|
|
}
|
|
}
|
|
}, [data, replace, setLandingDialog]);
|
|
|
|
return (
|
|
<AsyncRenderer data={data} loading={loading} error={error}>
|
|
{/* Render a loading and error state but we will redirect if markets are found */}
|
|
{null}
|
|
</AsyncRenderer>
|
|
);
|
|
}
|
|
|
|
Index.getInitialProps = () => ({
|
|
page: 'home',
|
|
});
|
|
|
|
export default Index;
|