fix: check for luminance only for badge

This commit is contained in:
Oleh Polisan 2024-06-21 17:39:45 +03:00
parent d47582b7ee
commit ccbb0945ff

View file

@ -47,7 +47,7 @@ function changeColorsInSvg(svg: string, stockColor: string, isBadge: boolean = f
const pickedColor = VesktopNative.settings.get().trayColor; const pickedColor = VesktopNative.settings.get().trayColor;
const reg = new RegExp(stockColor, "gim"); const reg = new RegExp(stockColor, "gim");
svg = svg.replace(reg, "#" + (pickedColor ?? stockColor)); svg = svg.replace(reg, "#" + (pickedColor ?? stockColor));
if (backgroundTooBright(pickedColor ?? stockColor)) svg = svg.replace(/white/gim, "black"); if (isBadge && backgroundTooBright(pickedColor ?? stockColor)) svg = svg.replace(/white/gim, "black");
return svg; return svg;
} }
@ -79,7 +79,7 @@ VesktopNative.tray.createIconRequest(async (iconName: string) => {
VesktopNative.tray.addBadgeToIcon(async (iconDataURL: string, badgeDataSVG: string) => { VesktopNative.tray.addBadgeToIcon(async (iconDataURL: string, badgeDataSVG: string) => {
const pickedColor = VesktopNative.settings.get().trayColor; const pickedColor = VesktopNative.settings.get().trayColor;
const fillColor = VesktopNative.settings.get().trayAutoFill ?? "white"; const fillColor = VesktopNative.settings.get().trayAutoFill ?? "white";
badgeDataSVG = changeColorsInSvg(badgeDataSVG, "#F35959"); badgeDataSVG = changeColorsInSvg(badgeDataSVG, "#F35959", true);
if (fillColor !== "auto") badgeDataSVG = badgeDataSVG.replace(/white/gim, fillColor); if (fillColor !== "auto") badgeDataSVG = badgeDataSVG.replace(/white/gim, fillColor);
const canvas = document.createElement("canvas"); const canvas = document.createElement("canvas");