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

Feat: show connected wallet info #22

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

DimaKush
Copy link

@DimaKush DimaKush commented Jan 9, 2025

Description

Added builder status indicators (batch membership and check-in status) to the wallet connection dropdown.

Changes

  • Created useBuilderStatus hook to fetch status from BatchRegistry contract
  • Added status icons to AddressInfoDropdown component
  • Shows green icons for allowlisted and checked-in addresses

Testing

  1. Connect wallet
  2. Verify batch member icon (group) appears if address is allowlisted
  3. Verify check-in icon appears if address has checked in

Screenshot

Screenshot 2025-01-09 at 19-32-55 Debug Contracts Scaffold-ETH 2

Related Issues

Closes #7

This PR includes:

  • The new useBuilderStatus hook
  • Modified AddressInfoDropdown component
  • Proper imports and status indicators

The changes are focused and minimal, adding the requested functionality without unnecessary modifications.

ENS/address: 0x845D62b5405aAAe6b95CF3fbf33968A1E71a9cAD

Copy link

vercel bot commented Jan 9, 2025

@DimaKush is attempting to deploy a commit to the BuidlGuidl Team on Vercel.

A member of the Team first needs to authorize it.

@derrekcoleman
Copy link
Member

Thank you for the PR, @DimaKush! I appreciate your detailed description and screenshot, very professional.

Let's take a step back and consider the goal of the issue. The idea is to give the user visual feedback for whether they are (1) on the allowList and (2) checkedIn or not. Your current implementation shows these icons inside of the wallet component, making it impossible (or at least not obvious) to hover these icons and discover what they are trying to say. Maybe moving them next to (but outside of) the wallet component would make this UX more discoverable.

Thinking about state for a moment, there are several possible paths:

  • No wallet connected (we want user to connect)
  • Connected, not on allowList (we want to let them know)
  • Connected, on allowList, not checkedIn (we want them to checkIn)
  • Connected, on allowList, checkedIn (we want them to feel successful)

How might you represent each of these states in a way that helps the user discover the next step they need to take? Right now you show green icons for true states, but what about "failing gracefully" and guiding the user for false states?

@FrankiePower
Copy link

@DimaKush i think you did a good job. but i have an idea for something. if you want you can let me do it or make improvement to yours or do it instead

Screenshot from 2025-01-10 09-34-58

@derrekcoleman if @DimaKush is okay with it, i can do this. or we could just go which whatever he has. this is just the idea i had for it and i thought to share

@DimaKush
Copy link
Author

DimaKush commented Jan 10, 2025

@FrankiePower Yep looks good, but on mobile we don't have a lot of space at Header. So I moved this to main page.

@FrankiePower
Copy link

okay @DimaKush . also if you don't mind i'd like to see a preview (screenshot) of what it looks like

@DimaKush
Copy link
Author

image
image
image

@All-Khwarizmi
Copy link
Contributor

All-Khwarizmi commented Jan 10, 2025

I'm not working on this but reading through your work I thought we could mix it together.

Since I would prefer the current user status information to be displayed in the header, it would be nice to have a more concise unique badge, instead of two, that is responsible for displaying the user status.

Enregistrement.de.l.ecran.2025-01-10.a.15.59.12.mov

What do you think?

@FrankiePower
Copy link

i think i also like what @All-Khwarizmi is proposing. we can find a way to implement the responsiveness for other screens. but then you'd also have to find a way to display what @DimaKush is trying to display.

@derrekcoleman
Copy link
Member

I love this conversation! This design "problem" appears all of the time - we want the information to be obvious/available (e.g. in the header of all pages), but need it to be concise/unobtrusive (e.g. make sense on mobile).

Personally, I like the pattern of using attention-grabbing icons (imagine ❗ for error states) with on-hover/on-click tooltips that the user can easily discover to learn more in 1-2 sentences.

@DimaKush
Copy link
Author

Move Status Component to Header

Moved batch status from homepage to header for better UX. Users can now see their allowlist/check-in status from any page.

Before

  • Status only visible on homepage
  • Had to navigate back to check status
  • Easy to miss important state changes

After

  • Always visible in header
  • Quick access to GitHub/batch links
  • Immediate feedback on status changes
  • Works well on mobile/desktop

Changes

  • Moved UserStateInBatch component into Header

Screenshots

Screenshot from 2025-01-12 11-50-05
Screenshot from 2025-01-12 11-50-23
Screenshot from 2025-01-12 11-51-46

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6. Show connected wallet info
4 participants