After clicking the button, we need to make sure that a user can't interact with it again and is aware that an operation is in progress.
| old | new |
We could introduce a loading state containing some indicator, but we don't have anything similar on the web and the landing, so it probably isn't worth it to introduce just for this case.
Also, I considered using a common button component from the web by extracting it to the lib. This would require a lot of design decisions because the web colors and margins don't always match what we have on the landing and the native - where the SIWE component is displayed.
Another consideration was to use the Button component from the landing, but it is so simple that it wouldn't be beneficial.
So overall, there were some opportunities to reduce code duplication, but I don't think they are worth it now.