diff options
Diffstat (limited to 'packages/website/ts/pages/instant/fee_percentage_slider.tsx')
-rw-r--r-- | packages/website/ts/pages/instant/fee_percentage_slider.tsx | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/packages/website/ts/pages/instant/fee_percentage_slider.tsx b/packages/website/ts/pages/instant/fee_percentage_slider.tsx index d76cee58f..c4d9f908f 100644 --- a/packages/website/ts/pages/instant/fee_percentage_slider.tsx +++ b/packages/website/ts/pages/instant/fee_percentage_slider.tsx @@ -1,64 +1,36 @@ import Slider from 'rc-slider'; -import 'rc-slider/assets/index.css'; import * as React from 'react'; +import styled from 'styled-components'; +import 'ts/pages/instant/rc-slider.css'; -import { Text } from 'ts/components/ui/text'; import { colors } from 'ts/style/colors'; -import { injectGlobal } from 'ts/style/theme'; const SliderWithTooltip = (Slider as any).createSliderWithTooltip(Slider); // tslint:disable-next-line:no-unused-expression -injectGlobal` - .rc-slider-tooltip-inner { - box-shadow: none !important; - background-color: ${colors.white} !important; - border-radius: 4px !important; - padding: 3px 12px !important; - height: auto !important; - position: relative; - top: 7px; - &: after { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border-width: 6px; - bottom: 100%; - left: 100%; - border-bottom-color: ${colors.white}; - margin-left: -60%; - } - } - .rc-slider-disabled { - background-color: inherit !important; - } -`; export interface FeePercentageSliderProps { value: number; - isDisabled: boolean; + isDisabled?: boolean; onChange: (value: number) => void; } export class FeePercentageSlider extends React.Component<FeePercentageSliderProps> { public render(): React.ReactNode { return ( - <SliderWithTooltip - disabled={this.props.isDisabled} + <StyledSlider min={0} max={0.05} step={0.0025} value={this.props.value} + disabled={this.props.isDisabled} onChange={this.props.onChange} tipFormatter={this._feePercentageSliderFormatter} - tipProps={{ placement: 'bottom' }} + tipProps={{ placement: 'bottom', overlayStyle: { backgroundColor: '#fff', borderRadius: '4px' } }} trackStyle={{ - backgroundColor: '#b4b4b4', + backgroundColor: colors.brandLight, }} railStyle={{ - backgroundColor: '#696969', + backgroundColor: 'rgba(255, 255, 255, 0.2)', }} handleStyle={{ border: 'none', @@ -72,6 +44,37 @@ export class FeePercentageSlider extends React.Component<FeePercentageSliderProp ); } private readonly _feePercentageSliderFormatter = (value: number): React.ReactNode => { - return <Text fontColor={colors.black} fontSize="14px" fontWeight={700}>{`${(value * 100).toFixed(2)}%`}</Text>; + return <Text>{`${(value * 100).toFixed(2)}%`}</Text>; }; } + +const StyledSlider = styled(SliderWithTooltip)` + .rc-slider-tooltip__inner { + box-shadow: none !important; + background-color: ${colors.white} !important; + border-radius: 4px !important; + padding: 3px 12px !important; + height: auto !important; + position: relative; + top: 7px; + &:after { + border: solid transparent; + content: ' '; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-width: 6px; + bottom: 100%; + left: 100%; + border-bottom-color: ${colors.white}; + margin-left: -60%; + } + } +`; + +const Text = styled.span` + color: #000000; + font-size: 12px; + line-height: 18px; +`; |