vega-frontend-monorepo/apps/trading/components/market-header/market-header.tsx

41 lines
1.2 KiB
TypeScript
Raw Normal View History

import { Popover, VegaIcon, VegaIconNames } from '@vegaprotocol/ui-toolkit';
import { Header, HeaderTitle } from '../header';
import { useParams } from 'react-router-dom';
import { MarketSelector } from '../../components/market-selector/market-selector';
import { MarketHeaderStats } from '../../client-pages/market/market-header-stats';
import { useMarket } from '@vegaprotocol/markets';
2023-07-31 16:08:55 +00:00
import { useState } from 'react';
export const MarketHeader = () => {
const { marketId } = useParams();
const { data } = useMarket(marketId);
2023-07-31 16:08:55 +00:00
const [open, setOpen] = useState(false);
if (!data) return null;
return (
<Header
title={
<Popover
2023-07-31 16:08:55 +00:00
open={open}
onChange={setOpen}
trigger={
<HeaderTitle>
{data.tradableInstrument.instrument.code}
<VegaIcon name={VegaIconNames.CHEVRON_DOWN} size={14} />
</HeaderTitle>
}
alignOffset={-10}
>
2023-07-31 16:08:55 +00:00
<MarketSelector
currentMarketId={marketId}
onSelect={() => setOpen(false)}
/>
</Popover>
}
>
<MarketHeaderStats market={data} />
</Header>
);
};