monal-im / Monal

Monal for XMPP (iOS and macOS)
https://monal-im.org
Other
503 stars 104 forks source link

Set monalGreen as the app's accent color #1218

Closed lissine0 closed 1 month ago

lissine0 commented 1 month ago

Pick monalGreen as accent color for the entire app. This means that all the navigation UI elements, and most buttons would be colored in it (instead of our current mix between monalGreen and blue) Also, it adapts to dark mode on its own. (two variants are provided, and SwiftUI selects the relevant one based on context) In addition, macOS users will be able to customize the accent color from their OS settings. But by default they get monalGreen. (previously they could also customize it, but some UI elements didn't get overrided by their choice)

Note that I did not apply the accentColor to the Rich Alert's buttons, as it wasn't applied before, and I didn't know if you want it.

I also added a custom button style, that's used mostly in the Quicksy registration (but also the Add account button, and in Onboarding) Be sure to check out its look in dark & light mode, when it's disabled and enabled. (I made the text of the button only bold when it's enabled, and I changed the text's color from always white, to matching the background color, in an attempt to improve constrast in dark mode)

How the button style looks in various pages of the Quicksy registration: (Note: some of these may be blurry)

On a semi-related note, in the ContactDetails, there's an option to select when you should receive notifications (always, on mention, and never) A ring bell gets colored accordingly in each case. But the entire list entry is by default colored in the accentColor, because the entire entry is a button that's not a navigation link.

I'm not sure how we should do in this case with regard to stying. Should the color of the list entry match the color of the ring bell? Or would a red color imply something rather strong to the user? (i.e. it might give the idea it's dangerous or destructive). We could also change it to the primary color; or keep it as it is now. (side question: when it is set to on-mention, should it be black or in the accent color?)

There's also another entry below it that's colored in the accent Color ("show shared Media and Files") Just like the other one, It is in the accent color by default because it's a button that's not a navigation link. I think it should be in primary color like the other entries, but I didn't modify it.

lissine0 commented 1 month ago

For the sake of comparison, here's how the button style looks like with white text in dark mode

(I thought it a little hard on the eyes)

tmolitor-stud-tu commented 1 month ago

I like the new MonalProminentButtonStylevery much :) And the design looks good, too :)

Two questions:

tmolitor-stud-tu commented 1 month ago

See here for the 2 quicksy colors (the 2 green colors in the background): https://github.com/monal-im/Monal/blob/develop/Monal/Images.xcassets/QuicksyAppLogo.imageset/Quicksy-ios-1024.png

tmolitor-stud-tu commented 1 month ago

Regarding your other questions: I think the bell icon should be colored, but the text beneath it should be primary. The icon should be green/black/red (always/mention/never)...but I'd use normal green like the one used by ios for the switch below.

regarding the media button: that one should be primary, too.

regarding your last dark mode screenshot: why is the text of that button in white? shouldn't it be in black like in your other quicksy screenshots?

lissine0 commented 1 month ago

I like the new MonalProminentButtonStylevery much :) And the design looks good, too :)

glad you liked it :)

what do you mean by the richAlert buttons you did not change? Do you have a screenshot of these buttons?

I did not change the RichAlert at all. (and its buttons weren't automatically colored by SwiftUI) Here's how it looks: (the same as before the PR)

regarding your last dark mode screenshot: why is the text of that button in white? shouldn't it be in black like in your other quicksy screenshots?

That's from an old version of my code. I posted it to demonstrate why I had to change the style of the button. (before this PR, the text on the button was always white, regardless of dark / light mode. It looked fine back then because its background was blue)

lissine0 commented 1 month ago

FYI, in Quicksy's logo, the left side has a constant color, wherease the right side has variable brightness. I took the RGB value from the heads of the two people on the right (R: 102, G: 185, B: 105, A: 1.0)

Screenshot

tmolitor-stud-tu commented 1 month ago

That's from an old version of my code. I posted it to demonstrate why I had to change the style of the button.

Ah! Everything alright then :)

The quicksy colors you picked are okay, too :)

btw: sorry for creating some conflicts