actual
actual copied to clipboard
[WIP] Dark theme
Work in progress. Placeholder for adding a dark theme.
- [x] Simplify colors down to a handful
- [x] Sidebar
- [x] Settings
- [x] Payees
- [x] Rules
- [x] Budget
- [x] Schedules
- [x] Reports
- [x] Other modals
- [x] Add dark mode theme
- [ ] Automatically select based on browser setting
- [ ] Create selectable themes
Deploy Preview for actualbudget failed.
Name | Link |
---|---|
Latest commit | 38eceb278743501880a771438e32cb43bc41e69b |
Latest deploy log | https://app.netlify.com/sites/actualbudget/deploys/64bed987427152000878d4b3 |
Linking to #618
:wave: just checking in: are you planing to pick this up again? Any blockers or issues we could help with?
Bundle Stats - desktop-client
Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.
As this PR is updated, I'll keep you updated on how the bundle size is impacted.
Total
Files count | Total bundle size | % Changed |
---|---|---|
13 -> 12 | 2.35 MB -> 2.37 MB (+18.03 KB) | +0.75% |
Changeset (largest 100 files by percent change)
File | Ξ | Size |
---|---|---|
src/icons/v2/MoonStars.js |
π +1.48 KB | 0 B -> 1.48 KB |
src/components/ThemeSelector.js |
π +1.17 KB | 0 B -> 1.17 KB |
src/icons/v2/Sun.js |
π +1020 B | 0 B -> 1020 B |
src/components/settings/Themes.js |
π +677 B | 0 B -> 677 B |
src/components/Background.js |
π +118.79 KB (+32786.25%) | 371 B -> 119.15 KB |
src/style.tsx |
π +14.46 KB (+371.16%) | 3.89 KB -> 18.35 KB |
src/components/common/Search.tsx |
π +367 B (+71.82%) | 511 B -> 878 B |
src/components/common/Button.tsx |
π +946 B (+43.53%) | 2.12 KB -> 3.05 KB |
src/components/schedules/StatusBadge.js |
π +569 B (+29.84%) | 1.86 KB -> 2.42 KB |
src/components/common/Select.tsx |
π +628 B (+28.20%) | 2.17 KB -> 2.79 KB |
src/components/common/Input.tsx |
π +266 B (+22.24%) | 1.17 KB -> 1.43 KB |
src/components/App.js |
π +532 B (+15.00%) | 3.46 KB -> 3.98 KB |
src/components/reports/chart-theme.js |
π +230 B (+14.33%) | 1.57 KB -> 1.79 KB |
src/components/autocomplete/AccountAutocomplete.js |
π +229 B (+11.73%) | 1.91 KB -> 2.13 KB |
src/components/autocomplete/SavedFilterAutocomplete.js |
π +133 B (+10.67%) | 1.22 KB -> 1.35 KB |
src/components/manager/DeleteFile.js |
π +238 B (+8.78%) | 2.65 KB -> 2.88 KB |
src/components/common/InputWithContent.tsx |
π +94 B (+8.61%) | 1.07 KB -> 1.16 KB |
src/components/util/AmountInput.js |
π +134 B (+7.71%) | 1.7 KB -> 1.83 KB |
src/components/DevelopmentTopBar.tsx |
π +52 B (+6.91%) | 753 B -> 805 B |
src/components/common/Card.tsx |
π +33 B (+6.29%) | 525 B -> 558 B |
src/components/manager/subscribe/ChangePassword.tsx |
π +100 B (+5.53%) | 1.77 KB -> 1.86 KB |
src/components/sidebar.js |
π +578 B (+5.14%) | 10.97 KB -> 11.54 KB |
src/components/common/Menu.tsx |
π +127 B (+4.45%) | 2.79 KB -> 2.91 KB |
src/components/Notifications.tsx |
π +160 B (+4.00%) | 3.91 KB -> 4.07 KB |
src/components/autocomplete/PayeeAutocomplete.js |
π +262 B (+3.78%) | 6.76 KB -> 7.02 KB |
src/components/Titlebar.js |
π +309 B (+3.73%) | 8.09 KB -> 8.39 KB |
src/components/reports/Change.js |
π +15 B (+3.69%) | 407 B -> 422 B |
src/components/manager/BudgetList.js |
π +229 B (+3.68%) | 6.07 KB -> 6.29 KB |
src/components/NotesButton.tsx |
π +87 B (+3.55%) | 2.39 KB -> 2.48 KB |
src/components/budget/util.js |
π +48 B (+3.37%) | 1.39 KB -> 1.44 KB |
src/components/budget/MonthPicker.js |
π +94 B (+3.13%) | 2.93 KB -> 3.02 KB |
src/components/manager/ConfigServer.js |
π +122 B (+2.99%) | 3.99 KB -> 4.11 KB |
src/components/select/DateSelect.js |
π +230 B (+2.95%) | 7.63 KB -> 7.85 KB |
src/components/Page.js |
π +54 B (+2.89%) | 1.82 KB -> 1.88 KB |
src/components/reports/Tooltip.js |
π +44 B (+2.82%) | 1.53 KB -> 1.57 KB |
src/components/modals/EditRule.js |
π +500 B (+2.79%) | 17.49 KB -> 17.98 KB |
src/components/settings/Experimental.js |
π +53 B (+2.45%) | 2.11 KB -> 2.16 KB |
src/components/transactions/TransactionsTable.js |
π +907 B (+2.29%) | 38.74 KB -> 39.63 KB |
src/components/LoggedInUser.js |
π +48 B (+2.29%) | 2.05 KB -> 2.1 KB |
src/components/BankSyncStatus.js |
π +27 B (+2.01%) | 1.31 KB -> 1.33 KB |
src/components/modals/PlaidExternalMsg.js |
π +60 B (+2.00%) | 2.92 KB -> 2.98 KB |
src/components/common/Label.tsx |
π +6 B (+1.99%) | 302 B -> 308 B |
src/components/table.tsx |
π +456 B (+1.98%) | 22.48 KB -> 22.93 KB |
src/components/settings/UI.tsx |
π +28 B (+1.95%) | 1.4 KB -> 1.43 KB |
src/components/budget/MobileBudgetTable.js |
π +428 B (+1.88%) | 22.18 KB -> 22.59 KB |
src/components/budget/MonthCountSelector.js |
π +19 B (+1.84%) | 1.01 KB -> 1.03 KB |
src/components/modals/CreateAccount.js |
π +54 B (+1.83%) | 2.88 KB -> 2.93 KB |
src/components/modals/ConfirmCategoryDelete.js |
π +46 B (+1.82%) | 2.47 KB -> 2.51 KB |
src/components/budget/report/BudgetSummary.tsx |
π +146 B (+1.82%) | 7.83 KB -> 7.97 KB |
src/components/reports/DateRange.js |
π +13 B (+1.79%) | 728 B -> 741 B |
src/components/common/Modal.tsx |
π +86 B (+1.65%) | 5.1 KB -> 5.19 KB |
src/components/modals/BudgetSummary.js |
π +36 B (+1.52%) | 2.32 KB -> 2.35 KB |
src/components/manager/subscribe/common.tsx |
π +34 B (+1.48%) | 2.24 KB -> 2.28 KB |
src/components/transactions/MobileTransaction.js |
π +133 B (+1.45%) | 8.93 KB -> 9.06 KB |
src/components/AppBackground.js |
π +12 B (+1.41%) | 851 B -> 863 B |
src/components/reports/graphs/NetWorthGraph.tsx |
π +44 B (+1.40%) | 3.07 KB -> 3.11 KB |
src/components/schedules/index.js |
π +28 B (+1.39%) | 1.97 KB -> 2 KB |
src/components/manager/ImportYNAB4.js |
π +29 B (+1.34%) | 2.12 KB -> 2.15 KB |
src/components/modals/EditField.js |
π +42 B (+1.31%) | 3.13 KB -> 3.17 KB |
src/components/manager/ImportYNAB5.js |
π +29 B (+1.31%) | 2.17 KB -> 2.19 KB |
src/components/settings/index.js |
π +61 B (+1.30%) | 4.59 KB -> 4.65 KB |
src/components/accounts/Balance.js |
π +47 B (+1.29%) | 3.57 KB -> 3.61 KB |
src/components/reports/NetWorth.js |
π +44 B (+1.22%) | 3.53 KB -> 3.57 KB |
src/components/reports/Overview.js |
π +64 B (+1.20%) | 5.19 KB -> 5.25 KB |
src/components/manager/ImportActual.js |
π +29 B (+1.19%) | 2.38 KB -> 2.41 KB |
src/components/budget/MobileTable.js |
π +5 B (+1.14%) | 439 B -> 444 B |
src/components/FinancesApp.js |
π +93 B (+1.14%) | 7.99 KB -> 8.08 KB |
src/components/common.tsx |
π +37 B (+1.13%) | 3.21 KB -> 3.25 KB |
src/components/reports/CashFlow.js |
π +43 B (+1.05%) | 4.01 KB -> 4.05 KB |
src/components/accounts/Reconcile.js |
π +31 B (+1.03%) | 2.93 KB -> 2.96 KB |
src/components/MobileWebMessage.js |
π +22 B (+0.97%) | 2.21 KB -> 2.23 KB |
src/components/manager/subscribe/Bootstrap.tsx |
π +20 B (+0.92%) | 2.11 KB -> 2.13 KB |
src/components/transactions/TransactionList.js |
π +47 B (+0.91%) | 5.03 KB -> 5.08 KB |
src/components/transactions/SimpleTransactionsTable.js |
π +38 B (+0.86%) | 4.3 KB -> 4.34 KB |
src/components/manager/ManagementApp.js |
π +41 B (+0.81%) | 4.91 KB -> 4.95 KB |
src/components/accounts/AccountSyncCheck.js |
π +26 B (+0.81%) | 3.15 KB -> 3.17 KB |
src/components/util/DisplayId.js |
π +6 B (+0.80%) | 753 B -> 759 B |
src/components/budget/misc.js |
π +189 B (+0.77%) | 24.13 KB -> 24.31 KB |
src/components/alerts.tsx |
π +11 B (+0.74%) | 1.45 KB -> 1.46 KB |
src/components/modals/SelectLinkedAccounts.js |
π +32 B (+0.71%) | 4.38 KB -> 4.42 KB |
src/components/manager/subscribe/Error.tsx |
π +6 B (+0.67%) | 901 B -> 907 B |
src/components/reports/index.tsx |
π +6 B (+0.65%) | 922 B -> 928 B |
src/components/schedules/PostsOfflineNotification.js |
π +14 B (+0.65%) | 2.12 KB -> 2.13 KB |
src/components/schedules/DiscoverSchedules.js |
π +32 B (+0.64%) | 4.91 KB -> 4.94 KB |
src/components/accounts/MobileAccounts.js |
π +32 B (+0.57%) | 5.48 KB -> 5.51 KB |
src/components/common/View.tsx |
π +3 B (+0.57%) | 526 B -> 529 B |
src/components/budget/rollover/BudgetSummary.tsx |
π +47 B (+0.56%) | 8.19 KB -> 8.24 KB |
src/components/modals/GoCardlessExternalMsg.js |
π +33 B (+0.50%) | 6.48 KB -> 6.51 KB |
src/components/filters/SavedFilters.js |
π +29 B (+0.48%) | 5.84 KB -> 5.87 KB |
src/components/settings/Encryption.js |
π +14 B (+0.48%) | 2.88 KB -> 2.89 KB |
src/components/FatalError.js |
π +22 B (+0.46%) | 4.63 KB -> 4.65 KB |
src/components/schedules/SchedulesTable.js |
π +30 B (+0.45%) | 6.49 KB -> 6.52 KB |
src/components/budget/MobileBudget.js |
π +29 B (+0.45%) | 6.31 KB -> 6.34 KB |
src/components/accounts/Account.js |
π +124 B (+0.42%) | 29.07 KB -> 29.19 KB |
src/components/modals/ImportTransactions.js |
π +76 B (+0.38%) | 19.6 KB -> 19.68 KB |
src/components/SidebarWithData.js |
π +13 B (+0.35%) | 3.63 KB -> 3.64 KB |
src/components/settings/FixSplits.js |
π +8 B (+0.31%) | 2.5 KB -> 2.51 KB |
src/components/accounts/MobileAccount.js |
π +11 B (+0.18%) | 6.07 KB -> 6.08 KB |
src/components/modals/CloseAccount.js |
π +7 B (+0.17%) | 4.06 KB -> 4.06 KB |
src/components/modals/CreateEncryptionKey.js |
π +7 B (+0.16%) | 4.19 KB -> 4.2 KB |
View detailed bundle breakdown
Added
No assets were added
Removed
Asset | File Size | % Changed |
---|---|---|
static/media/bg.svg | 116.73 KB -> 0 B (-116.73 KB) | -100% |
Bigger
Asset | File Size | % Changed |
---|---|---|
static/js/main.js | 1.04 MB -> 1.18 MB (+134.48 KB) | +12.57% |
static/js/reports.chunk.js | 20.8 KB -> 21.09 KB (+300 B) | +1.41% |
index.html | 1.68 KB -> 1.75 KB (+71 B) | +4.14% |
Smaller
Asset | File Size | % Changed |
---|---|---|
asset-manifest.json | 1.47 KB -> 1.39 KB (-84 B) | -5.58% |
Unchanged
Asset | File Size | % Changed |
---|---|---|
static/js/457.chunk.js | 387.21 KB | 0% |
static/media/Inter.var.woff2 | 317.25 KB | 0% |
static/media/Inter-italic.var.woff2 | 239.29 KB | 0% |
static/media/Inter-roman.var.woff2 | 221.86 KB | 0% |
static/js/969.chunk.js | 12.94 KB | 0% |
static/js/resize-observer-polyfill.chunk.js | 8.12 KB | 0% |
static/css/main.css | 6.08 KB | 0% |
static/media/browser-server.js | 963 B | 0% |
Bundle Stats - loot-core
Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.
As this PR is updated, I'll keep you updated on how the bundle size is impacted.
Total
Files count | Total bundle size | % Changed |
---|---|---|
2 | 1.96 MB -> 1.96 MB (+72 B) | +0.00% |
Changeset
File | Ξ | Size |
---|---|---|
packages/loot-core/src/server/main.ts |
π +138 B (+0.22%) | 60.26 KB -> 60.4 KB |
View detailed bundle breakdown
Added
No assets were added
Removed
No assets were removed
Bigger
Asset | File Size | % Changed |
---|---|---|
kcab.worker.js | 1007.82 KB -> 1007.89 KB (+72 B) | +0.01% |
Smaller
No assets were smaller
Unchanged
Asset | File Size | % Changed |
---|---|---|
xfo.xfo.kcab.worker.js | 1004.04 KB | 0% |
After significant work, this is ready for review. Sorry about the size. Every UI change from this point merged into master (especially refactoring UI components to a new file) will require a manual merge/de-confliction and re-review of colors, so prioritization of review is key to reducing total development effort.
A 1-to-1 comparison with the existing 'light' theme will show a few differences:
- consistent coloring of accents, which means there will be color differences such as the random blue highlights now being purple
- consistent coloring of menus and tooltips, which means some previous menus that were blue are now white
- simplification of some checkboxes (there are two, one simple and one extremely complex, I went with the simpler one closer to core html/css)
- row highlight on hover now works, which adds clarity, especially in wide tables or budget multi-month view
Known issues:
- blue flashes for the "advanced" drop-down menus (CustomSelect that uses @reach/listbox).
- white flash when dark theme is selected and the page is refreshed (the result of
render
being called in parallel withinit
where global preferences are loaded)
Bit of feedback on the text, the green #1F6F08 is really hard to read on the dark background #141520 when the font size is decreased.
If you have a look at the web accessibility standards it actually fails with them colours.
Same issue occurs for the purple text when the font size is decreased
Bit of feedback on the text, the green #1F6F08 is really hard to read on the dark background #141520 when the font size is decreased.
If you have a look at the web accessibility standards it actually fails with them colours.
Same issue occurs for the purple text when the font size is decreased
Thanks for the review. We built our color pallet starting from huetone's "Stripe" color set and modified it to better match Actual's scheme. Would going from green500 to green400 work for you? It takes the contrast from -20 to -41 (which I think is better!).
Realistically though, the current pairing meets WCAG for the current text size, right? To what small font size should we support?
π (I have not yet done the dark-mode theme review or code review; starting off with a product review of the existing light theme)
Exciting to see this open up for review! Can't wait to officially merge and release it. But before then: we definitely need to do a lot of polish.
Can you give examples? We've been through many reviews on discord and it got to the point where there was no feedback, though maybe everyone was burned out on it!
The light theme has a lot of changes. I would have expected the existing light theme to basically have zero changes (except for maybe some smaller tweaks).
I wish we could do it with zero changes. Besides what I've listed, can you give examples of changes? I went through 1-to-1 testing but I possibly missed some items.
But now it looks like a completely different product.
Sorry, but I'm not seeing that (besides what I noted). Is what I noted the "lot of changes"?
What I would recommend doing here is: roll back all the light-mode changes in this PR. And then if you wish yo pursue them further - open a subsequent PR/s where you re-introduce them and clearly outline 1) what is changing and 2) why are you proposing to change this. Could we discuss those now? Otherwise, "rolling back" means writing explicit exceptions to the various menus and undoing the changes made to increase app consistency.
Thanks!
Thanks again for your thoughts.
If we're doing a pure apples to apples comparison
Old:
New:
- The amount 'to budget' is a different colour,
- The little month icons are a darker colour
- The category headings in the budget table are a darker colour
- The sidebar is a darker colour
- The double chevron to hide the sidebar is only visible when hovered over?
- 'No server' is faded out?
- The purple month background is darker (i think)?
- Is the font a bit bigger?
Not to say any of those are a bad thing, I dont really mind any of them, expect maybe the darker colour of the sidebar.
I think though @MatissJanis one of the issues here is that that actual use(d) a LOT of colours and one of the goals of this PR towards having a functional dark theme and indeed in the future user-customisable themes was to try and simplify the pallette a bit. (This i believe was discussed on DC)
When @jlongster released Actual to the community, the goal was to allow the community to help take the "product" forward. (not that I like the word product in this context)
I would have expected the existing light theme to basically have zero changes (except for maybe some smaller tweaks). But now it looks like a completely different product.
I think this reply raises a number of issues with the Actual project overall
- Where is the expectation from the core contributors actually outlined?
- We have this but it isn't much to go on.
- Where does it say what the core contributors are expecting from people who give up their time to add to the code base?
- There is nothing here that actually outlines the problem other than it looks different, I had a look at the deploy preview and some of the colours have changed but I wouldn't say "it looks like a totally different product"
There are a number of PR's that have been opened of late where large amounts of code have been requested to be removed and or changed because the PR doesn't fit (it is too big, or the change is scope creep) where is this outlined and where is the expectation on people put forward?
There are also some PR's that are opened that basically don't have to convince anyone to merge them they have one line "this will improve this" and it gets merged but others get major push back.
Individuals are putting in lots of time to contribute to Actual as a whole and there is nothing that I can see that demonstrates the ask.
Now, I am sure for this we will say a pitch issue should have been opened, maybe that is true, but someone on the core contributors team is on board with this as there is a dark mode channel in Discord now, not something just anyone can create.
What I would recommend doing here is: roll back all the light-mode changes in this PR. And then if you wish yo pursue them further - open a subsequent PR/s where you re-introduce them and clearly outline 1) what is changing and 2) why are you proposing to change this.
This is a massive ask, the dark theme has been discussed in detail in Discord, maybe some reasoning from @biohzrddd around why the colours have changed or someone from the core team can catch themselves up with the discussion?
I personally think the core team need to stop with the changes get their heads together and come up with a set of clear documents that can help contributors create pull requests that fit into whatever vision you all have going forward, until then this is going to continue happening and it isn't fair on contributors who want to help make Actual better.
I am indebted to @Shazib for his detailed listing of the light mode changes.
Confession - I am simply a keen user, with no understanding of the technical issues. However, it is very clear, even to me, the immense amount of work that @biohzrddd has put into this and I am grateful for that.
Another confession, I am unlikely to use a dark theme but that is just my personal preference. However, it does mean that I feel very attached to, and protective of, the current colour pallet and design of Actual. I have been using Actual since early 2019 and love it!
This may be personal to me, but whatever the rights and wrongs of a dark theme generally, the new proposed side bar colour comes as quite a shock to me and I find it anything but restful. Similarly with the green font in the "to budget" row. Whilst @MatissJanis comment of it being like a different product may be quite strong, I nonetheless really wish to preserve the current light theme design. I do hear the message that this presents technical difficulties but to that argument, I would respond that, as things are, it feels a bit like "the tail wagging the dog".
I'd certainly be very supportive of light theme going back closer to the way it was, the 'to budget font colour' and sidebar in particular, I can't really say the little month icons being a bit darker for example. is any kind of issue for me personally. I wouldn't think the subtle convergence of multiple slightly variant shades of grey need a standalone PR. π€·
But I would certainly disagree that it is an entirely different product, or that a total rollback of large portions of the PR is needed before it warrants consideration.
In any event, one of the underlying goals of this PR is to make theming easier and more flexible in general, so I think the discussed changes to put light theme back the way it was can be made somewhat painlessly? (correct me if i'm wrong @biohzrddd).
In @biohzrddd's defence I would also say that this change was shared many times as a draft in the discord and there were several long running discussions prior to and during its implementation for feedback before it was submitted for review here, and at that time very little comments were given.
If we're doing a pure apples to apples comparison
-snip-
* The amount 'to budget' is a different colour,
I've changed it back to purple since the new color was universally unpopular. How about we have three colors here: negative = red, zero = green, and positive = purple. Zero = green would be a new addition to highlight the benefit/goal of zero-based budgeting.
* The little month icons are a darker colour
This is a consistency thing. There were many different shades of text, now there are basically two (pageText and pageTextSubdued).
* The category headings in the budget table are a darker colour
I pulled these down to the lightest shade available. if that isn't enough, I'll have to adjust the entire color pallet as we need to keep a roughly constant lightness value to every color.
* The sidebar is a darker colour
The sidebar is now exactly the same color. I had to adjust the navy color pallet a bit to accommodate.
* The double chevron to hide the sidebar is only visible when hovered over?
I don't see anything I did that caused this? See sidebar.js https://github.com/actualbudget/actual/pull/922/files#diff-565f9aa3fd3ac3a210dcfd5960c0143bc62da9bfb0d2f8c56e68371cf49aae0d Either way, it is now consistent with the budget expand/collapse chevron and most other drop-downs on the budget screen. If someone still doesn't agree with it, I can figure it out and get it back in.
* 'No server' is faded out?
Changed to be regular pageText (dark font) on hover and subdued otherwise. My rationale is that this isn't something you're always looking at and it helps to cleanup the UI to focus on what's needed. Maybe with a server and syncing this is not the case? Again I can change if it isn't liked.
* The purple month background is darker (i think)?
The color pallet is simplified and all accent colors the same. I brought the global accent color down a shade of purple which is very close.
* Is the font a bit bigger?
It shouldn't be! A spot check on a few text items shows it is the same.
Not to say any of those are a bad thing, I dont really mind any of them, expect maybe the darker colour of the sidebar.
Sidebar fixed.
I think though @MatissJanis one of the issues here is that that actual use(d) a LOT of colours and one of the goals of this PR towards having a functional dark theme and indeed in the future user-customisable themes was to try and simplify the pallette a bit. (This i believe was discussed on DC) Thank you for recognizing this. Yes, the PR only says "Dark theme", but to get to that point a LOT of effort had to be put into creating a color pallet and applying that to everything consistently.
I'd certainly be very supportive of light theme going back closer to the way it was, the 'to budget font colour' and sidebar in particular, Done.
I can't really say the little month icons being a bit darker for example. is any kind of issue for me personally. I wouldn't think the subtle convergence of multiple slightly variant shades of grey need a standalone PR. shrug
But I would certainly disagree that it is an entirely different product, or that a total rollback of large portions of the PR is needed before it warrants consideration.
In any event, one of the underlying goals of this PR is to make theming easier and more flexible in general, so I think the discussed changes to put light theme back the way it was can be made somewhat painlessly? (correct me if i'm wrong @biohzrddd).
That was absolutely one of the goals.
In @biohzrddd's defence I would also say that this change was shared many times as a draft in the discord and there were several long running discussions prior to and during its implementation for feedback before it was submitted for review here, and at that time very little comments were given.
If links to the discord reviews would help, I can post those. There were probably 3 large reviews and MANY mini reviews.
I am indebted to @Shazib for his detailed listing of the light mode changes.
Confession - I am simply a keen user, with no understanding of the technical issues. However, it is very clear, even to me, the immense amount of work that @biohzrddd has put into this and I am grateful for that.
Another confession, I am unlikely to use a dark theme but that is just my personal preference. However, it does mean that I feel very attached to, and protective of, the current colour pallet and design of Actual. I have been using Actual since early 2019 and love it!
This may be personal to me, but whatever the rights and wrongs of a dark theme generally, the new proposed side bar colour comes as quite a shock to me and I find it anything but restful. Similarly with the green font in the "to budget" row.
Both issues fixed!
Whilst @MatissJanis comment of it being like a different product may be quite strong, I nonetheless really wish to preserve the current light theme design. I do hear the message that this presents technical difficulties but to that argument, I would respond that, as things are, it feels a bit like "the tail wagging the dog".
Thank you very much for being so responsive in making those changes! The sidebar is certainly now a more restful colour. However, putting two Actual windows side by side (23.7.1 and Netlify, it still markedly different to my eyes from the current colour.
Thank you very much for being so responsive in making those changes! The sidebar is certainly now a more restful colour. However, putting two Actual windows side by side (23.7.1 and Netlify, it still markedly different to my eyes from the current colour.
Fixed. The sidebar uses: navy800: '#102a43', which is the exact same. I adjusted the other navy colors to blend with it.
Thank you for being so receptive to feedback! It is already looking much better IMO :)
- not 100% on this one, but I kinda like how the zero values in the budget table on
master
are very light gray so that they fade into the background better than the new color. Maybe this calls for a third text color? - the β> Splitβ buttons in the transaction tables stand out way too much now
- previously, the area to the left of the payee column of split transaction children matched the page background color, which helped reinforce the perception that the splits were nested under the parent transaction. (This also included not showing row separators in that area, and not showing the row hover highlight there). Thatβs missing from this PR.
- Some things I like: youβve made the balances on the accounts page, the old colors look kinda gross now :), the purple highlight colors on input fields look great, I think the white rather than blue boxes in the settings page make more sense
- there appear to be two selection styles, one for input fields and one for other elements. How do you feel about unifying the two and having a style with a light (or dark) enough background color that the text color doesnβt need to change (like how the text selection on
master
works, but purple) - the focus indicator around the search field on the account pages is now missing, so there isnβt any indication aside from the blinking cursor that the field is focused.
- on the payees page, all of the βcreate ruleβ buttons are purple (and the pre/default/post indicator in the editor is also purple). IMO we should treat the purple button as a βprimary actionβΒ and try to only have one per page/modal
- I kinda liked how buttons and dropdowns generally didnβt have cursor:pointer on the current version, it made Actual feel more like a native app and less like a website.
π Wow! This looks so much closer to the Actual that I originally fell in love! Thank you so much for being receptive to the feedback!
Some more small issues (all light mode):
- [ ] scrollbars: the old ones were more subtle whereas the new ones stand out too much
- [ ] side nav: the collapse icon is no longer always visible (maybe that's fine? I'm like 50/50 on this)
- [ ] budget entries: zero ("0") values - these are a bit too close to the primary color - can we make them either the original shade or just a bit more subtle than currently?
- [ ] transaction table - green shade for positive amounts - could we make this lighter? On low-res screens it looks too similar to the primary text color we use elsewhere
- [ ] transaction table - "cleared totals" / "uncleared totals" - the background color should be gray
- [ ] transaction table - searchbar no longer has focus outline
- [ ] transaction table - filter pills are significantly different
- [ ] transaction table - autocompletes looked better in the dark shade than the new white one
- [ ] transaction table - datepicker - months for some reason are highlighted in purple
- [ ] transaction table - the filter popovers are pretty different
- [ ] transaction table - table headers are in different shade - this I personally really like, but just mentioning it to have a complete list
- [ ] schedules - primary button color shadeis different - no longer the usual brand purple
- [ ] schedules - add new schedule modal - significantly different in many aspects
- [ ] rules/payees - primary button color not using the brand purple color
- [ ] rules/payees - add new rule modal also pretty different from the original
- [ ] settings - various differences
Darkmode feedback:
- [ ] scrollbars: can we make them solid color instead of an outline?
- [ ] transaction table - filter popover looks.. weird, but I can't exaclt put my finger on WHAT I dislike about it; maybe it's the gray background color?
- [ ] transaction table - autocomplete - also the background color IMO could be improved to something more darker
- [ ] transaction table - search box missing focus outline
- [ ] rules/payees - creation modal - the "payee"/"category"/etc options should not be bolded; also the "all"/"any" selection
Overall the darkmode looks super good! So it's mostly just some small nitpicks about it.
Could I ask one more thing? To put the light/dark toggle buttons under a feature flag. I think once we merge this - we will want to keep it as an experimental feature for 1 month to flush out any more details/bugs we spot once people start using it for their real budgets.
Awesome work here! Dark mode is very exciting and it's looking really cool so far. Thanks for all your hard work.
As a power user who's manually entered every transaction I've ever made since I got my first credit card at the age of 18 into Actual, I just want to leave a comment about some of the color changes to the OG light theme.
description | before | after |
---|---|---|
reports | ||
account |
The reports page, the account page, and in general most pages feel significantly darker with the new color palette.
- Report cards are no longer white and now seem to blend in more with the background, making them less visually obvious and making them feel "muted" and therefore uninteresting. Could we brighten report cards back up again?
- Along with the muted theme, the new green color used for amount text in the report cards (and elsewhere in the app like cleared checkmarks in the transactions table) also feels like a negative change; the previous green color fit perfectly with the bright, cheery UI, and the new darker green color feels muted and a bit out-of-place.
- I would add the transactions table to this list as well. Previously it was perfectly white; now it's more of a gray, and it just makes the UI feel more muted. I feel like the majority, if not all of the elements that were previously white in the light theme should remain that way.
- I strongly dislike the change from blue to green in the report graphs; not only from an aesthetic standpoint, but also from an accessibility one.
-
The new red / green colors are significantly lower-contrast than the previous shades of red / blue, making it more difficult for anyone to visually make out shifts from negative to positive or vice-versa.
-
Red / green is an inaccessible color combination: Why Your Data Visualizations Should Be Colorblind-Friendly
- See the graphic here:
-
On the "I love this side", hiding the floating sidebar button unless hovering over the sidebar is a really great improvement, as well as the more muted appearance for the server indicator in the top right. Great changes there π
Also one more small bug: the coloring of the selected item in the sidebar reverts back to the unselected color when you hover it
Thank you for being so receptive to feedback! It is already looking much better IMO :)
* not 100% on this one, but I kinda like how the zero values in the budget table on `master` are very light gray so that they fade into the background better than the new color. Maybe this calls for a third text color?
I'd rather see this as a code change where we don't even show the value when zero. The current "ghost" color fails every test possible. Happy to be overridden.
* the β> Splitβ buttons in the transaction tables stand out way too much now
I changed this from the positive to neutral button, which still has a border. Is that OK? I think without some kind of indication (that doesn't visually blend with the text like the right chevron), it is difficult to quickly find splits.
* previously, the area to the left of the payee column of split transaction children matched the page background color, which helped reinforce the perception that the splits were nested under the parent transaction. (This also included not showing row separators in that area, and not showing the row hover highlight there). Thatβs missing from this PR.
I agree on the colors -- I'll see what I can do.
The border under the date field on a split is broken in master (but fixed on mine):
* Some things I like: youβve made the balances on the accounts page, the old colors look kinda gross now :), the purple highlight colors on input fields look great,
I agree, the random blue felt out of place.
I think the white rather than blue boxes in the settings page make more sense
Agreed, it is clearer and brings the setting boxes forward rather than back.
* there appear to be two selection styles, one for input fields and one for other elements. How do you feel about unifying the two and having a style with a light (or dark) enough background color that the text color doesnβt need to change (like how the text selection on `master` works, but purple)
Done.
* the focus indicator around the search field on the account pages is now missing, so there isnβt any indication aside from the blinking cursor that the field is focused.
Fixed and I cleaned up the input styling a bit. We have two input types: one basic and one with content that uses the basic internally. I wish we could have the various "Filter..." inputs also have an icon, but that's a separate PR.
* on the payees page, all of the βcreate ruleβ buttons are purple (and the pre/default/post indicator in the editor is also purple). IMO we should treat the purple button as a βprimary actionβ and try to only have one per page/modal
Fixed, no more purple background. Let me know your thoughts.
* I kinda liked how buttons and dropdowns generally didnβt have cursor:pointer on the current version, it made Actual feel more like a native app and less like a website.
Removed from buttons (kept elsewhere)
wave Wow! This looks so much closer to the Actual that I originally fell in love! Thank you so much for being receptive to the feedback!
Some more small issues (all light mode):
* [ ] scrollbars: the old ones were more subtle whereas the new ones stand out too much
I've had trouble with these, getting both light and dark to work together. I tried out something new, let me know if it doesn't work.
* [ ] side nav: the collapse icon is no longer always visible (maybe that's fine? I'm like 50/50 on this)
There has been mostly positive feedback on it, I think it should stay to be consistent with budget collapse/expand functionality.
* [ ] budget entries: zero ("0") values - these are a bit too close to the primary color - can we make them either the original shade or just a bit more subtle than currently?
See my comment above on this and let me know your thoughts.
* [ ] transaction table - green shade for positive amounts - could we make this lighter? On low-res screens it looks too similar to the primary text color we use elsewhere
Done based on previous feedback.
* [ ] transaction table - "cleared totals" / "uncleared totals" - the background color should be gray
Done.
I'll work on the other half of your comments another time.
Great progress and thank you for making so many requested changes so quickly!
Apologies if I have missed the below in all the other comments: Light Mode: Upcoming scheduled transactions in the transaction table have changed from the usual light grey to purple. But only partially, as the categories column is still grey. My vote would be for all the upcoming scheduled transaction columns to remain grey so that they do not stand out so much.
Dark Mode: with my existing disclaimer that I am not a great dark mode fan I did try it out. This will sound odd but I found it very "bright" and not particularly restful. Is that normal for dark mode?
* [ ] transaction table - searchbar no longer has focus outline
Fixed from J-f1 feedback.
* [ ] transaction table - filter pills are significantly different
I reworked the pills to be consistent across the app. I found them in Rules > Edit/Create Rule > Stage, all conditional selections and MultiItem
from a multi-select box such as Filter on the Accounts page, and the expanded budget balance on Accounts page.
* [ ] transaction table - autocompletes looked better in the dark shade than the new white one
As far as I can remember, you're the first to dislike them. This may be a item to vote on as I much prefer the consistency of all drop-down menus being the same: Accounts > Filter, Budget > Category > dots > Menu, Budget > Category Name > Menu, Budget > Month > dots > Menu, and all drop-downs on Accounts > Transaction. The calendar currently has PNG for the left/right arrows, so styling on it is limited to dark backgrounds (hence the difference from other menus right now).
Another option is to switch ALL menus to the sidebar background color.
* [ ] transaction table - datepicker - months for some reason are highlighted in purple
Fixed.
* [ ] transaction table - the filter popovers are pretty different
Noted above discussing pills.
* [ ] transaction table - table headers are in different shade - this I personally really like, but just mentioning it to have a complete list * [ ] schedules - primary button color shadeis different - no longer the usual brand purple
How do you think this should be changed?
* [ ] schedules - add new schedule modal - significantly different in many aspects
How do you think this should be changed?
* [ ] rules/payees - primary button color not using the brand purple color
All primary buttons should use the same purple color, this includes the month selection again for consistency across the app. Some people disliked the darker month picker color so I lightened it one shade, but that affects the buttons. I pushed it back up to match the old design, but that makes the month selection darker.
Another option that might be controversial is making the month picker a neutral button color (for light theme - light gray). We have the giant month header right under the picker anyways...
* [ ] rules/payees - add new rule modal also pretty different from the original
How do you think this should be changed?
* [ ] settings - various differences
How do you think this should be changed?
Darkmode feedback:
* [ ] scrollbars: can we make them solid color instead of an outline?
Fixed in previous feedback.
* [ ] transaction table - filter popover looks.. _weird_, but I can't exaclt put my finger on WHAT I dislike about it; maybe it's the gray background color?
master
dark-theme
Maybe this helps compare?
* [ ] transaction table - autocomplete - also the background color IMO could be improved to something more darker
Give an example color you like and I'll try it. Related to above discussion on consistency across menus.
* [ ] transaction table - search box missing focus outline
Fixed earlier.
* [ ] rules/payees - creation modal - the "payee"/"category"/etc options should not be bolded; also the "all"/"any" selection
I bolded them to help with WCAG contrast. The purple on grey at lower lightness needs a bigger or bolder font.
Overall the darkmode looks super good! So it's mostly just some small nitpicks about it.
Could I ask one more thing? To put the light/dark toggle buttons under a feature flag. I think once we merge this - we will want to keep it as an experimental feature for 1 month to flush out any more details/bugs we spot once people start using it for their real budgets.
This seems overkill? If there is a mis-colored element somewhere, it won't cause dataloss. The experimental text:
These features are not fully tested and may not work as expected. THEY MAY CAUSE IRRECOVERABLE DATA LOSS. They may do nothing at all. Only enable them if you know what you are doing.
Also one more small bug: the coloring of the selected item in the sidebar reverts back to the unselected color when you hover it
Done in the last push.
Kind of a late addition so feel free to push to a later PR.
Can I suggest that the applied filters backgounds match the Cleared/Uncleared backgrounds in both light and dark mode? This would make these elemets feel a lot more cohesive on the page.
Great progress and thank you for making so many requested changes so quickly!
Apologies if I have missed the below in all the other comments: Light Mode: Upcoming scheduled transactions in the transaction table have changed from the usual light grey to purple. But only partially, as the categories column is still grey. My vote would be for all the upcoming scheduled transaction columns to remain grey so that they do not stand out so much.
Two issues with this:
- The category is a notification "pill" with its own background, not text, so it will be a different color.
- I can see having subdued text for "incoming" transactions, but currently there is only one code path for "incoming" transactions and there is the chance you have one that is currently "Due" or "Missed". Should those be subdued or brought front and center? I think the latter.
Dark Mode: with my existing disclaimer that I am not a great dark mode fan I did try it out. This will sound odd but I found it very "bright" and not particularly restful. Is that normal for dark mode?
I think having too dark of a theme can also cause eye strain and we have to consider having appropriate contrast for a variety of WCAG reasons. Is there any item in particular you found bright?
Comparing it with Discord's dark theme, we're perceptually darker.
Kind of a late addition so feel free to push to a later PR.
Can I suggest that the applied filters backgounds match the Cleared/Uncleared backgrounds in both light and dark mode? This would make these elemets feel a lot more cohesive on the page.
Done.