(core) Detect when a page initial is an emoji, avoid repeating it, and style it better

Summary:
- Detecting emoji is surprisingly tricky; we use a fancy regex as a decent heuristic.
- Icons are a little larger than before.
- Styling tweaked for light and dark modes
- In case the OS doesn't render the emoji as one character, truncate what's
  shown in the icon box.

Test Plan: Added a test case.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3904
This commit is contained in:
Dmitry S
2023-06-26 12:58:29 -04:00
parent 4ea748b1a3
commit b0aa17c932
6 changed files with 93 additions and 9 deletions

View File

@@ -241,6 +241,8 @@ export interface ThemeColors {
'left-panel-page-options-selected-hover-bg': string;
'left-panel-page-initials-fg': string;
'left-panel-page-initials-bg': string;
'left-panel-page-emoji-fg': string;
'left-panel-page-emoji-outline': string;
/* Right Panel */
'right-panel-tab-fg': string;

View File

@@ -220,6 +220,8 @@ export const GristDark: ThemeColors = {
'left-panel-page-options-selected-hover-bg': '#A4A4A4',
'left-panel-page-initials-fg': 'white',
'left-panel-page-initials-bg': '#929299',
'left-panel-page-emoji-fg': 'black',
'left-panel-page-emoji-outline': '#69697D',
/* Right Panel */
'right-panel-tab-fg': '#EFEFEF',

View File

@@ -220,6 +220,8 @@ export const GristLight: ThemeColors = {
'left-panel-page-options-selected-hover-bg': '#929299',
'left-panel-page-initials-fg': 'white',
'left-panel-page-initials-bg': '#929299',
'left-panel-page-emoji-fg': 'white',
'left-panel-page-emoji-outline': '#BDBDBD',
/* Right Panel */
'right-panel-tab-fg': '#262633',