import 'pennant/dist/style.css'; import { ChartType, Interval, Overlay, Study, chartTypeLabels, intervalLabels, overlayLabels, studyLabels, } from 'pennant'; import { TradingButton, TradingDropdown, TradingDropdownCheckboxItem, TradingDropdownContent, TradingDropdownItemIndicator, TradingDropdownRadioGroup, TradingDropdownRadioItem, TradingDropdownTrigger, Icon, } from '@vegaprotocol/ui-toolkit'; import type { IconName } from '@blueprintjs/icons'; import { IconNames } from '@blueprintjs/icons'; import { t } from '@vegaprotocol/i18n'; import { useCandlesChartSettings } from './use-candles-chart-settings'; const chartTypeIcon = new Map([ [ChartType.AREA, IconNames.TIMELINE_AREA_CHART], [ChartType.CANDLE, IconNames.WATERFALL_CHART], [ChartType.LINE, IconNames.TIMELINE_LINE_CHART], [ChartType.OHLC, IconNames.WATERFALL_CHART], ]); export const CandlesMenu = () => { const { interval, chartType, studies, overlays, setInterval, setType, setStudies, setOverlays, } = useCandlesChartSettings(); const triggerClasses = 'text-xs'; const contentAlign = 'end'; const triggerButtonProps = { size: 'extra-small' } as const; return ( <> {t(`Interval: ${intervalLabels[interval]}`)} } > { setInterval(value as Interval); }} > {Object.values(Interval).map((timeInterval) => ( {intervalLabels[timeInterval]} ))} } > { setType(value as ChartType); }} > {Object.values(ChartType).map((type) => ( {chartTypeLabels[type]} ))} {t('Indicators')} } > {Object.values(Overlay).map((overlay) => ( { const newOverlays = [...overlays]; const index = overlays.findIndex((item) => item === overlay); index !== -1 ? newOverlays.splice(index, 1) : newOverlays.push(overlay); setOverlays(newOverlays); }} > {overlayLabels[overlay]} ))} {Object.values(Study).map((study) => ( { const newStudies = [...studies]; const index = studies.findIndex((item) => item === study); index !== -1 ? newStudies.splice(index, 1) : newStudies.push(study); setStudies(newStudies); }} > {studyLabels[study]} ))} ); };