-
Notifications
You must be signed in to change notification settings - Fork 243
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
Tweak dark theme #1213
base: main
Are you sure you want to change the base?
Tweak dark theme #1213
Conversation
Please clean up your commit history and post again to request a review. See here for guidelines. |
525b063
to
3af0d2e
Compare
I’ve cleaned up the commit history by removing unnecessary merge commits into the This is my first time using Apologies for any confusion. Please review the updated PR. |
The |
Thanks! I'll let other folks take a look at this one. |
Hi! Please read through the commit style guide (also previously linked by Alya) linked in our README and fix the commit message: https://github.com/zulip/zulip-flutter?tab=readme-ov-file#submitting-a-pull-request |
076d0de
to
139d4e5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! I noted the differences between this revision and the Figma design after going through lib/widgets/message_list.dart
and some part of lib/widgets/compose_box.dart
for colors used in the widgets.
Some of the comments are just about different colors being used, and others request the addition/removal of variables. It should be fine to include color adjustments all in a single commit, but for adding/removing variables, let's try to have separate commits for the ones added, so it is easier to see which variables they replace. Consider using the NFC tag if a commit is a pure refactor.
I think there are also changes to the autocomplete window, but that should be addressed in #995,
lib/widgets/theme.dart
Outdated
labelEdited: const HSLColor.fromAHSL(0.35, 0, 0, 1).toColor(), | ||
labelMenuButton: const Color(0xffffffff).withValues(alpha: 0.85), | ||
mainBackground: const Color(0xff1d1d1d), | ||
textInput: const Color(0xffffffff).withValues(alpha: 0.9), | ||
title: const Color(0xffffffff), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at this, I see an opportunity to remove colorMessageHeaderIconInteractive
(below this) and use title
with the right opacity at places where colorMessageHeaderIconInteractive
is used. Because it is adjusting something that was not previously a part of the design, let's do that in a separate commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If colorMessageHeaderIconInteractive
is removed from DesignVariables
(and use title
at places where it is used), it must be removed from both the light and dark themes.
In the dark theme, colorMessageHeaderIconInteractive
is identical to title
but with a different opacity.
title: const Color(0xffffffff),
colorMessageHeaderIconInteractive: Colors.white.withValues(alpha: 0.2),
However, in the light theme, colorMessageHeaderIconInteractive
and title
have distinct values (Colors.black.withValues(alpha: 0.2)
and Color(0xff1a1a1a)
), not just a difference in opacity.
title: const Color(0xff1a1a1a),
colorMessageHeaderIconInteractive: Colors.black.withValues(alpha: 0.2),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. Let's make sure that we stick to the design. In Figma, I see that we use title
for that element, so we should do just that.
It was also hinted that designVariables.colorMessageHeaderIconInteractive
is meant to be temporary before we have a color specified in a design:
// TODO(design) copies the recipient header in web; is there a better color?
color: designVariables.colorMessageHeaderIconInteractive, size: 14)),
so it should be fine to remove it.
lib/widgets/message_list.dart
Outdated
dateSeparatorText: const HSLColor.fromAHSL(0.5, 0, 0, 1).toColor(), | ||
dmRecipientHeaderBg: const HSLColor.fromAHSL(1, 0, 0, 0.14).toColor(), | ||
messageTimestamp: const HSLColor.fromAHSL(0.5, 0, 0, 1).toColor(), | ||
recipientHeaderText: const HSLColor.fromAHSL(0.9, 0, 0, 1).toColor(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both this and senderName
are the same as DesignVariables.title
(and title
is the variable used in Figma), so let's use that for consistency with the design, and remove these variables, all in its separate commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here also,
If senderName
and recipientHeaderText
is removed from MessageListTheme
(and use title
at places where it is used), it must be removed from both the light and dark themes.
In the dark theme, both these values are identical to title but with a different opacity.
recipientHeaderText: const HSLColor.fromAHSL(0.9, 0, 0, 1).toColor(),
senderName: const HSLColor.fromAHSL(0.9, 0, 0, 1).toColor(),
title: const Color(0xffffffff),
However, in the light theme, both of them and title have distinct values not just a difference in opacity.
recipientHeaderText: const HSLColor.fromAHSL(1, 0, 0, 0.15).toColor(),
senderName: const HSLColor.fromAHSL(1, 0, 0, 0.2).toColor(),
title: const Color(0xff1a1a1a),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similarly, we should refer to the Figma design. Because the design uses title
in light/dark mode, we should use the same variable as well.
Adjusted the colors for `foreground` in `DesignVariables` and `dateSeparator` in `MessageListTheme` as asked. `foreground`: zulip#1213 (comment) `dateSeparator`: zulip#1213 (comment)
Added `labelTime` variable in `MessageListTheme` that replaces the `dateSeparatorText` and `messageTimestamp` variable according to the latest design. `labelTime`: zulip#1213 (comment)
9c71065
to
139d4e5
Compare
Adjusted the colors for `foreground` in `DesignVariables` and `dateSeparator` in `MessageListTheme` as asked. `foreground`: zulip#1213 (comment) `dateSeparator`: zulip#1213 (comment)
Added `labelTime` variable in `MessageListTheme` that replaces the `dateSeparatorText` and `messageTimestamp` variable according to the latest design. `labelTime`: zulip#1213 (comment)
Adjusted the colors for `foreground` in `DesignVariables` and `dateSeparator` in `MessageListTheme` as asked. `foreground`: zulip#1213 (comment) `dateSeparator`: zulip#1213 (comment)
Added `labelTime` variable in `MessageListTheme` that replaces the `dateSeparatorText` and `messageTimestamp` variable according to the latest design. `labelTime`: zulip#1213 (comment)
56f8fdb
to
2a11a43
Compare
Added `labelTime` variable in `MessageListTheme` that replaces the `dateSeparatorText` and `messageTimestamp` variable according to the latest design. `labelTime`: zulip#1213 (comment)
2a11a43
to
ce64ca5
Compare
Adjusted the colors for `foreground` in `DesignVariables` and `dateSeparator` in `MessageListTheme` as asked. `foreground`: zulip#1213 (comment) `dateSeparator`: zulip#1213 (comment)
Added `labelTime` variable in `MessageListTheme` that replaces the `dateSeparatorText` and `messageTimestamp` variable according to the latest design. `labelTime`: zulip#1213 (comment)
ce64ca5
to
c6aca86
Compare
Removed `colorMessageHeaderIconInteractive` from `DesignVariables` and used `title` in place of it as per the design guidelines. discussion: zulip#1213 (comment)
Removed `senderName` & `recipientHeaderText` from `MessageListTheme` and used `title` in place of it as per the design guidelines. discussion: zulip#1213 (comment)
About Changes
This PR updates the color variables in
DesignVariables
andMessageListTheme
for a slightly higher contrast in dark theme according to the values in the figma file.Fixes: #973
Screenshots