+
+ {/* TOOO: AsyncSelect is lagging when dropdown menu must show more than 200 items */}
+ {/* TODO: Input's box-shadow */}
+
'Loading...'}
+ noOptionsMessage={() => 'Token not found'}
onChange={token => props.addToken(token, account)}
loadOptions={input => props.loadTokens(input, account.network)}
- filterOptions={
- (options: Array, search: string, values: Array) => options.map((o) => {
- const added = tokens.find(t => t.symbol === o.symbol);
- if (added) {
- return {
- ...o,
- name: `${o.name} (Already added)`,
- disabled: true,
- };
- }
- return o;
- })
- }
- valueKey="symbol"
- labelKey="name"
- placeholder="Search for token"
- searchPromptText="Type token name or address"
- noResultsText="Token not found"
+ formatOptionLabel={(option) => {
+ const isAdded = tokens.find(t => t.symbol === option.symbol);
+ if (isAdded) {
+ return `${option.name} (Already added)`;
+ }
+ return option.name;
+ }}
+ getOptionLabel={option => option.name}
+ getOptionValue={option => option.symbol}
/>
-
-
+