Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce loading states to our custom UI buttons #2694

Closed
eriknson opened this issue Sep 3, 2024 · 1 comment · Fixed by MetaMask/metamask-extension#28997 or MetaMask/metamask-extension#29275
Assignees
Labels
release-12.11.0 Issue or pull request that will be included in release 12.11.0

Comments

@eriknson
Copy link
Member

eriknson commented Sep 3, 2024

Let's add a loading state to our;

  1. Button component within the container
  2. Button component in the footer
david0xd added a commit that referenced this issue Dec 9, 2024
This PR adds loading variant for Snap UI button. This button shows
loading icon with an infinite animation.

Related ticket: #2694
Related extension PR:
MetaMask/metamask-extension#28997

Loading button in action:


https://github.com/user-attachments/assets/a2f15262-dc68-44cb-bbd2-22e288d9d09c
david0xd added a commit to MetaMask/metamask-extension that referenced this issue Dec 17, 2024
## **Description**
This PR enables loading button variant for Snaps UI.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/28997?quickstart=1)

#### Notes
- Targets Snaps release integration PR:
#29275

## **Related issues**
Fixes: MetaMask/snaps#2694

## **Related PR dependencies**
Snaps monorepo: MetaMask/snaps#2930

## **Manual testing steps**
1. Create some example Snap for testing and add Snap UI Button with
`loading` variant.
Example: 
```TypeScript
<Button variant="loading">Loading button</Button>
```

## **Screenshots/Recordings**
### **Before**
Loading button variant was not available before.

### **After**

https://github.com/user-attachments/assets/5afea22c-1951-4475-a908-aa5b97eafb6b


## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
FrederikBolding pushed a commit to MetaMask/metamask-extension that referenced this issue Dec 20, 2024
## **Description**
This PR enables loading button variant for Snaps UI.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/28997?quickstart=1)

#### Notes
- Targets Snaps release integration PR:
#29275

## **Related issues**
Fixes: MetaMask/snaps#2694

## **Related PR dependencies**
Snaps monorepo: MetaMask/snaps#2930

## **Manual testing steps**
1. Create some example Snap for testing and add Snap UI Button with
`loading` variant.
Example: 
```TypeScript
<Button variant="loading">Loading button</Button>
```

## **Screenshots/Recordings**
### **Before**
Loading button variant was not available before.

### **After**

https://github.com/user-attachments/assets/5afea22c-1951-4475-a908-aa5b97eafb6b


## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
github-merge-queue bot pushed a commit to MetaMask/metamask-extension that referenced this issue Dec 20, 2024
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Bump Snaps packages and handle any required changes.

Summary of Snaps changes:
- Allow async initialization logic for Snap bundles
- Add `onSettingsPage` export
- Add `Banner` component
- Support `size` prop on `Button`
- Support `fontWeight` prop on `Text`
- Add `loading` state for `Button`
- Use BigInt for processing insight chain IDs

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/29275?quickstart=1)

## **Related issues**
Closes MetaMask/snaps#2939
Closes MetaMask/snaps#2947
Closes MetaMask/snaps#2874
Closes MetaMask/snaps#2694

---------

Co-authored-by: David Drazic <[email protected]>
Co-authored-by: Guillaume Roux <[email protected]>
@metamaskbot metamaskbot added the release-12.11.0 Issue or pull request that will be included in release 12.11.0 label Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-12.11.0 Issue or pull request that will be included in release 12.11.0
Projects
None yet
4 participants
@david0xd @eriknson @metamaskbot and others