mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 21:54:47 +08:00
Issue: - chrome-select inputs have slightly blurry dropdown arrow - chrome-select inputs in dark theme have a hard to see dropdown arrow due to contrast Changes: - changing dropdown arrow icons to .svg - adding dark theme dropdown arrow Pictures: Before - Settings in Dark Theme: https://imgur.com/NePBXu6 After - Settings in Dark Theme: https://imgur.com/aGjk7UM Before - Settings in Light Theme: https://imgur.com/78VAoee After - Settings in Light Theme: https://imgur.com/kLCyEqM Bug: 1164031 Change-Id: I2d7c10788692cf973e24a23f4c22b12e22a26919 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2616383 Reviewed-by: Alex Rudenko <alexrudenko@chromium.org> Reviewed-by: Patrick Brosset <patrick.brosset@microsoft.com> Commit-Queue: Michael Liao <michael.liao@microsoft.com>
Adding new icons:
-
Out of a spritesheet (if you have a separately saved icon already go to 2.):
- Open a spritesheet with the icon of interest, like
largeIcons.svgin Inkscape. - Make sure it's the
src/version of the spritesheet. - Copy-paste the icon to a new page. Make sure it preserved its original size and aspect ratio, and isn't otherwise altered.
- To make sure step (3) below doesn't destroy the icon, it might be necessary to resize it. Just select everything and use the elements in the top toolbar to resize the icon (make sure the aspect ratio is preserved).
- Set the size of the page to match the icon. You may use Inkscape's Edit>Resize Page to Selection command to accomplish this.
- If you chose to include padding in the icon, make sure the icon is centered within the page.
- Save the icon with
_icon.svgsuffix. For instancelist_icon.svg.
- Open a spritesheet with the icon of interest, like
-
Add respective entries to
.gnifiles.- Update the
devtols_image_fileslist indevtools_image_files.gni. - Update the
grd_files_release_sourceslist indevtools_grd_files.gni.
- Update the
-
Optimize:
./scripts/optimize_svg_images.py.- This script produces, for example,
Images/list_icon.svgfromImages/src/list_icon.svgby rounding numbers and removing hopefully unnecessary content. However, it might end up distorting/destroying the icon, especially if it is too small. Make sure to open the output of the optimiztion process (e.g.Images/list_icon.svg) in Inkscape and inspect it for damage. Enlarging the input image, as desribed in step (1) usually circumvents this.
-
Use Icon component in the DevTools front-end:
- Visit https://docs.google.com/document/d/1EA--IokG6YW51y7unS8dIKUx6EtyjETT0uglmvIpfsg/edit#heading=h.xgjl2srtytjt for more information on that.