feat(trading): mobile responsiveness - market selector (#5582)

This commit is contained in:
m.ray 2024-01-11 13:23:48 +02:00 committed by GitHub
parent d05cd6a2ed
commit d32f27fcb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 11 deletions

View File

@ -97,9 +97,9 @@ const MarketData = ({
return ( return (
<> <>
<div className="w-2/5" role="gridcell"> <div className="w-2/6" role="gridcell">
<h3 className="flex items-baseline"> <h3 className="flex items-baseline">
<span className="overflow-hidden text-sm lg:text-base text-ellipsis whitespace-nowrap"> <span className="overflow-hidden text-xs md:text-sm lg:text-base text-ellipsis whitespace-nowrap">
{market.tradableInstrument.instrument.code} {market.tradableInstrument.instrument.code}
</span> </span>
{allProducts && productType && ( {allProducts && productType && (
@ -113,7 +113,7 @@ const MarketData = ({
)} )}
</div> </div>
<div <div
className="w-1/5 overflow-hidden text-xs lg:text-sm whitespace-nowrap text-ellipsis" className="w-2/6 overflow-hidden text-xs lg:text-sm whitespace-nowrap text-ellipsis text-right"
title={symbol} title={symbol}
data-testid="market-selector-price" data-testid="market-selector-price"
role="gridcell" role="gridcell"
@ -121,14 +121,14 @@ const MarketData = ({
{price} {symbol} {price} {symbol}
</div> </div>
<div <div
className="w-1/5 overflow-hidden text-xs text-right lg:text-sm whitespace-nowrap text-ellipsis" className="w-2/6 sm:w-1/6 overflow-hidden text-xs lg:text-sm whitespace-nowrap text-ellipsis text-right"
title={t('24h vol')} title={t('24h vol')}
data-testid="market-selector-volume" data-testid="market-selector-volume"
role="gridcell" role="gridcell"
> >
{volume} {volume}
</div> </div>
<div className="flex justify-end w-1/5" role="gridcell"> <div className="hidden sm:w-1/6 sm:flex justify-end" role="gridcell">
{oneDayCandles && ( {oneDayCandles && (
<Sparkline <Sparkline
width={64} width={64}

View File

@ -64,7 +64,7 @@ export const MarketSelector = ({
setFilter((curr) => ({ ...curr, product })); setFilter((curr) => ({ ...curr, product }));
}} }}
/> />
<div className="text-sm grid grid-cols-[2fr_1fr_1fr] gap-1 "> <div className="text-sm flex sm:grid grid-cols-[2fr_1fr_1fr] gap-1 ">
<div className="flex-1"> <div className="flex-1">
<TradingInput <TradingInput
onChange={(e) => onChange={(e) =>
@ -182,16 +182,16 @@ const MarketList = ({
'p-2 mx-2 border-b border-default text-xs text-secondary' 'p-2 mx-2 border-b border-default text-xs text-secondary'
)} )}
> >
<div className="w-2/5" role="columnheader"> <div className="w-2/6" role="columnheader">
{t('Name')} {t('Name')}
</div> </div>
<div className="w-1/5" role="columnheader"> <div className="w-2/6 text-right pr-4" role="columnheader">
{t('Price')} {t('Price')}
</div> </div>
<div className="w-1/5 text-right" role="columnheader"> <div className="w-2/6 sm:w-1/6 text-right" role="columnheader">
{t('24h volume')} {t('24h volume')}
</div> </div>
<div className="w-1/5" role="columnheader" /> <div className="hidden sm:w-1/6" role="columnheader" />
</div> </div>
<div ref={listRef}> <div ref={listRef}>
<List <List

View File

@ -5,6 +5,7 @@ import { useParams } from 'react-router-dom';
import * as PopoverPrimitive from '@radix-ui/react-popover'; import * as PopoverPrimitive from '@radix-ui/react-popover';
import { useState } from 'react'; import { useState } from 'react';
import { useT } from '../../lib/use-t'; import { useT } from '../../lib/use-t';
import classNames from 'classnames';
/** /**
* This is only rendered for the mobile navigation * This is only rendered for the mobile navigation
@ -30,7 +31,16 @@ export const NavHeader = () => {
trigger={ trigger={
<h1 className="flex gap-1 sm:gap-2 md:gap-4 items-center text-default text-lg whitespace-nowrap xl:pr-4 xl:border-r border-default"> <h1 className="flex gap-1 sm:gap-2 md:gap-4 items-center text-default text-lg whitespace-nowrap xl:pr-4 xl:border-r border-default">
{data ? data.tradableInstrument.instrument.code : t('Select market')} {data ? data.tradableInstrument.instrument.code : t('Select market')}
<VegaIcon name={VegaIconNames.CHEVRON_DOWN} size={20} /> <span
className={classNames(
'transition-transform ease-in-out duration-300',
{
'rotate-180': open,
}
)}
>
<VegaIcon name={VegaIconNames.CHEVRON_DOWN} size={20} />
</span>
</h1> </h1>
} }
> >