Bitcoin-Core-App icon indicating copy to clipboard operation
Bitcoin-Core-App copied to clipboard

Design specs for the desktop top bar component

Open GBKS opened this issue 2 years ago • 16 comments
trafficstars

In yesterday's call, we reviewed the current draft of the updated nav structure for when we have all the wallet features. An important element of this is the top bar on the desktop. Let's spec out all the different states in detail.

From the current design draft:

image

Older designs which show a lot of different states, but have a dedicated wallet page which we don't want anymore.

image

Jarol had also asked us to mock-up the hover, selected, disabled, focus and any other states needed. Those should be pretty straightforward now since we have our standard treatments defined.

GBKS avatar Jul 06 '23 07:07 GBKS

Let me work on this one

stackingsaunter avatar Jul 06 '23 08:07 stackingsaunter

Here's what I've done so far - Figma file

I think I covered them all, next steps would be to do wallet selector and it's states. Not sure if wallet selector "active" should be white or orange.

I added "Yellow" (light/dark) color to use for node indicator.

I also used layout for the component and it's responsive (although for condesed state I had to change autolayout settings).

image

image image image image image

stackingsaunter avatar Jul 12 '23 12:07 stackingsaunter

Regarding nav item states discussed today – below are screenshots from v1.0:

  • back button: icon, label are white in active state
  • (see cursor) Hovering changes label to Orange from white
Screenshot 2023-07-12 at 16 31 56

Also currently, Hover state for the Back button puts it in a grey box (see below). We could also try something like that here.

Screenshot 2023-07-12 at 16 43 33

yashrajd avatar Jul 12 '23 20:07 yashrajd

Did some updates.

Two layouts of wallet selector/balance and 2 types of color states. But I just realised the one with grey box @yashrajd proposed can be also nice, I can try this one as well.

image image image image

You can try the prototype here

I also added "pressed" state. Another idea for hover could perhaps be similar but darker

image

stackingsaunter avatar Jul 28 '23 19:07 stackingsaunter

Haven't spend much time on mobile, but sketched out some initial ideas

image

stackingsaunter avatar Jul 28 '23 20:07 stackingsaunter

Prototype's cool & very helpful @stackingsaunter.

I'm conflicted about Hover state: grey box will maintain consistency with existing behaviour (like Back button already implemented) but orange is fine too.

I'm agnostic about a Pressed state, but if implemented I prefer it as implemented in the prototype (orange + grey box, which makes sense since you need to hover before pressing) instead of the white in grey box as in your image above.

So here's my view (for dark mode) so far:

  • inactive: white

  • hover: grey box

  • pressed: orange + grey box (orange signifies it will become active when action is completed)

  • active: Orange with underline (as Christoph proposed)

  • disabled: grey/dark grey


For wallet selector/balance, I prefer white labels instead of grey. Unsure about icon since it means we have to provide options + extra UI to choose but perhaps we could do it in the future. Emoji set might be an easy way to go.

yashrajd avatar Jul 30 '23 16:07 yashrajd

Thank you for all the work on this, makes it super easy to compare options. I prefer the more subtle one with light grey text. It uses our color palette in a nicer way, IMHO. Having a very light transition duration of 100-150ms will also make it just a little bit nicer.

For toggling between balance display, we could also rely on the shift key. So shift-click to switch between full bitcoin (0.01 000 000), trimmed bitcoin (0.01), sats (10,000,000), and maybe even hidden balance. That would be in addition to having a toggle elsewhere, like the application menu bar and settings.

I looked into the wallet icon a bit more. It would be cool if those could represent different types, so here are some ideas.

image

If we have a good hover state, maybe we don't need the small arrow to indicate the switcher?

GBKS avatar Aug 02 '23 11:08 GBKS

For mobile, I'd keep send and receive as tabs since those are primary options (compared to block clock and settings) and tabs are easy to reach on mobile. It also solves the privacy issue of exposing your balance when you want to just do a quick send/receive.

GBKS avatar Aug 02 '23 11:08 GBKS

Brief note to also design a state for then the application is built without wallet features. The simplest approach is to remove the wallet icon/balance on the left and the tabs in the center, and only keep the block clock and settings buttons on the right.

image

GBKS avatar Aug 04 '23 17:08 GBKS

Components are ready to review - Figma file

image image image image image image

Current mobile design oscillates around those 4 ideas. More work to be done here image

stackingsaunter avatar Aug 31 '23 00:08 stackingsaunter

@GBKS did you end up deciding on mobile direction while I was gone?

stackingsaunter avatar Jan 10 '24 13:01 stackingsaunter

Here's the latest (if I remember correctly.

It might be nice to put together a web prototype for some of this stuff, so we can quickly feel it out and iterate.

GBKS avatar Jan 10 '24 13:01 GBKS

After some thought, I propose this screen as main mobile nav:

CleanShot 2024-01-17 at 14 54 45@2x

My reasoning:

  • "Settings" on desktop is not equal item to Activity, Send and Receive, so I think it's more consistent if it's not on mobile as well
  • (Assumption) In most cases, especially on mobile, users will not visit "Settings" often so it does not need to be as handy in the bottom nav as other options
  • As for wallet list dropdown, I chose this as it's exactly the same as on desktop, so to keep things simple and consistent

Alternitavely, wallet selector could be wider for easier selection

CleanShot 2024-01-17 at 14 56 12@2x

stackingsaunter avatar Jan 17 '24 13:01 stackingsaunter

I think this can be closed, as we agreed on the layout and you @GBKS updated the main file already. This is the mobile design we ended up with:

CleanShot 2024-02-20 at 22 49 13@2x

stackingsaunter avatar Feb 20 '24 21:02 stackingsaunter

Looks like I need to update a few minor things on the design docs still.

Also spoke with @johnny9 yesterday about the wallet list. He's going to look into what information we have about closed wallets. Might be easiest for now to just design three options where we just have the name, name + type, and name + type + balance, and then use whichever one we can make work technically.

GBKS avatar Feb 21 '24 06:02 GBKS

Also spoke with @johnny9 yesterday about the wallet list. He's going to look into what information we have about closed wallets.

It looks like you only know the name of the wallet folder if the wallet is closed. When the wallet is open you know all of the other values. From my understanding, I think the UX can be modified for the new UI and attempt to load the wallets for these values unless they were previously closed. If they are closed, persist that in the settings. Regardless, we do need to have a clear "closed" state for the wallet selector.

johnny9 avatar Feb 21 '24 13:02 johnny9

Closing this general issue, as I think we have it well covered in the docs. If there are minor tweaks required, we can create new issues.

GBKS avatar Aug 05 '24 09:08 GBKS