@@ -1,12 +1,12 @@
1import React, { useCallback, useEffect, useState, FormEvent } from 'react';
1import React, { useCallback, useEffect, useState, FormEvent } from 'react';
2−import { Box, Row, StatelessTextInput } from '@tlon/indigo-react';
2+import { Box, Row, Icon, StatelessTextInput } from '@tlon/indigo-react';
3import { DEFAULT_GAS_PRICE_GWEI } from 'lib/constants';
3import { DEFAULT_GAS_PRICE_GWEI } from 'lib/constants';
4import useGasPrice from 'lib/useGasPrice';
4import useGasPrice from 'lib/useGasPrice';
6import Dropdown from './Dropdown';
6import Dropdown from './Dropdown';
7import './FeeDropdown.scss';
7import './FeeDropdown.scss';
9−const PRICE_LABELS = ['Fast', 'Average', 'Slow'];
9+const PRICE_LABELS = ['Fast', 'Normal', 'Slow'];
11export interface GasPrice {
11export interface GasPrice {
12 price: number;
12 price: number;
@@ -25,7 +25,8 @@ export default function FeeDropdown({
25 const { suggestedGasPrices } = useGasPrice(DEFAULT_GAS_PRICE_GWEI);
25 const { suggestedGasPrices } = useGasPrice(DEFAULT_GAS_PRICE_GWEI);
27 const [open, setOpen] = useState(false);
27 const [open, setOpen] = useState(false);
28+ const [useCustom, setUseCustom] = useState(false);
28− const [custom, setCustom] = useState<string>('0');
29+ const [custom, setCustom] = useState<string | undefined>();
29 const [selected, setSelected] = useState<GasPrice>(
30 const [selected, setSelected] = useState<GasPrice>(
30 suggestedGasPrices.average
31 suggestedGasPrices.average
@@ -66,6 +67,28 @@ export default function FeeDropdown({
66 [setGasPrice, setSelected, setOpen]
67 [setGasPrice, setSelected, setOpen]
72+ <Row className="fee-dropdown custom">
75+ className="custom-input"
76+ placeholder="Custom gwei"
77+ onChange={handleCustom}
71 className="fee-dropdown"
94 className="fee-dropdown"
@@ -79,19 +102,13 @@ export default function FeeDropdown({
79 className="price"
102 className="price"
80 onClick={selectPrice(value)}
103 onClick={selectPrice(value)}
81 key={`gas-price-${ind}`}>
104 key={`gas-price-${ind}`}>
105+ <Box className="speed">{PRICE_LABELS[ind]}</Box>
82− {PRICE_LABELS[ind]}: {formatDisplay(value)}
106+ <Box className="time">{formatDisplay(value)}</Box>
86− <Row className="price">
110+ <Row className="price" onClick={() => setUseCustom(true)}>
87− <Box className="label">Custom:</Box>
111+ <Box className="time">Custom...</Box>
90− className="custom-input"
92− onChange={handleCustom}
94− <Box className="unit">gwei</Box>
97 </Dropdown>
114 </Dropdown>