* feat: use MarketList query only * fix: remove Market.ts from index * feat: 30 refactor dialog, market list, change query * feat: #30 add indicativeVolume, total fees, tooltip, large dialog, tooltip accepts html description * fix: #30 total fees display in tooltip * fix: #30 toggle title on dialog open * fix: #30 fix order, price, high, low utils * fix: #30 fix test for market utils * feat: #30 add popover with markets to select * feat: #30 storybook popover * feat: #30 remove border on trigger and add some other classes * fix: #30 fix format check with format:write * feat: #30 add tooltip on taker fee * feat: #30 add tooltip on taker fee * fix: #30 format on select market list * fix: #30 remove unknown cast in test mock data * fix: #30 show markets where you have open positions * fix: #30 double check if open positions * fix: #30 dialog has only small/large sizes * feat: #30 add border on trigger and change padding and no wrap * fix: #30 if fees or factors are not found * fix: #30 remove markets.cy tests as markets page is now gone * fix #30 remove view full market list test * fix: #30 add rotating arrow on market title * fix: #30 add ease-in-out on popover * fix: #30 add ease-in-out on popover * fix: #30 align select a market table * fix: #30 select a market title * fix: #30 select a market title * fix: #30 fix any validateDOMnesting issues * fix: #30 show loading market data * fix: #30 add list of header columns * fix: #30 add list of header columns * fix: #30 small refactoring after review * fix: #30 update bold undreline class names * fix: #30 add large-mobile size * feat: #30 refactor select markets tables to render array of columns * fix: #30 remove size from select market dialog * fix: #30 add extra file for columns * fix: #30 update formtting * fix: #30 make sure popup closes on same market navigation * fix: rename market-utils, add calcCandle methods, store market id on select * fix: useMemo ondata and marketPositionData + orderbook stories fix * feat: #30 add open volume positions * fix: add market summary back * fix: update formatting * fix: use currentcolor on arrow * fix: create all markets page * fix: add overflow-y auto * fix: enlarge select market to get started dialog * fix: revert markets container * fix: use query to fix flickering on position markets * fix: edit unordered list in tooltips * fix: fix tooltip table * fix: fix home.cy.ts * chore: skip /markets tests
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import type { ReactNode } from 'react';
|
|
import React from 'react';
|
|
import {
|
|
Provider,
|
|
Root,
|
|
Trigger,
|
|
Content,
|
|
Arrow,
|
|
} from '@radix-ui/react-tooltip';
|
|
|
|
export interface TooltipProps {
|
|
children: React.ReactElement;
|
|
description?: string | ReactNode;
|
|
open?: boolean;
|
|
align?: 'start' | 'center' | 'end';
|
|
}
|
|
|
|
// Conditionally rendered tooltip if description content is provided.
|
|
export const Tooltip = ({ children, description, open, align }: TooltipProps) =>
|
|
description ? (
|
|
<Provider delayDuration={200} skipDelayDuration={100}>
|
|
<Root open={open}>
|
|
<Trigger asChild>{children}</Trigger>
|
|
<Content align={align} alignOffset={8}>
|
|
<div className="relative z-0 p-8 bg-black-50 border border-black-60 text-white rounded-sm max-w-sm">
|
|
{description}
|
|
</div>
|
|
<Arrow
|
|
width={10}
|
|
height={5}
|
|
className="mx-8 fill-black-60 dark:fill-white-60 z-0 translate-x-[1px] translate-y-[-1px]"
|
|
/>
|
|
<Arrow
|
|
width={8}
|
|
height={4}
|
|
className="z-[1] mx-8 translate-y-[-1px] fill-black-50"
|
|
/>
|
|
</Content>
|
|
</Root>
|
|
</Provider>
|
|
) : (
|
|
children
|
|
);
|