status-im / status-desktop

Status Desktop client made in Nim & QML
https://status.app
Mozilla Public License 2.0
287 stars 78 forks source link

The airdrop address selector is not intuitive #13642

Open jrainville opened 7 months ago

jrainville commented 7 months ago

Bug Report

Description

When pasting an address in the address selector of the community airdrop screen, you need to press enter for it to work, but it's not intuitive. I just sat there waiting for something to happen.

airdrop.webm

As you can see in the video, even if I unfocus the input, nothing happens to tell me if it's a valid address. I need to manually go back and press Enter.

Steps to reproduce

  1. Go to airdrop screen in community settings
  2. Press the + in the To section
  3. Select ETH addresses
  4. Paste an address

Expected behavior

Two options:

  1. unfocusing or pasting automatically detects that it's an address and validates it
  2. Add a button in the field to make it clear that some user input is needed

The advantage of 1 is that it's faster and more automatic. However, we lose the option to paste an address, then paste another, etc. Though people probably don't even know it's possible.

Actual behavior

No indication that you need to press Enter

Additional Information

jrainville commented 7 months ago

@alexandraB99 you can choose the milestone. It's not a huge issue, though it's pretty simple to fix

noeliaSD commented 2 months ago

cc: @benjthayer @xAlisher

benjthayer commented 1 month ago

@jrainville @xAlisher it feels to me like it would be best to auto-validate the eth address if possible - most efficient for the user and most consistent in other areas of the app where eth addresses are validated (eg when saving an address or entering an address to Send to).

If the address is pasted, we could validate 1 second after the paste event (allowing the user to make any small edits to the address incase they missed a character or accidentally pasted a character that is not part of the address). We could then re-validate 1 second after the user has made an edit to the string.

If the user is typing the string (rare), we could simply validate as soon as we detect the 42nd character has been entered.

One thing we should consider to make it optimally clear that the user can enter >1 address: once validated, we could expand the input into a multiline input with the validated address on top and the prompt shown again directly underneath the validated address. WDYT?