From 003f594f6348b55109dd66416e75fcc2a88faade Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 26 Nov 2022 23:44:08 -0400 Subject: finish up cosmetic style changes --- src/util/colors.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'src/util/colors.js') diff --git a/src/util/colors.js b/src/util/colors.js index 5848a82..a0cc748 100644 --- a/src/util/colors.js +++ b/src/util/colors.js @@ -1,16 +1,25 @@ -/** @format */ - // Color and theming utility functions! Handy. // Graciously stolen from https://stackoverflow.com/a/54071699! ::::) // in: r,g,b in [0,1], out: h in [0,360) and s,l in [0,1] export function rgb2hsl(r, g, b) { let a = Math.max(r, g, b), - n = a - Math.min(r, g, b), - f = 1 - Math.abs(a + a - n - 1); + n = a - Math.min(r, g, b), + f = 1 - Math.abs(a + a - n - 1); + let h = - n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n); - return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2]; + n && + a == r + ? (g - b) / n + : a == g + ? 2 + (b - r) / n + : 4 + (r - g) / n; + + return [ + 60 * (h < 0 ? h + 6 : h), + f ? n / f : 0, + (a + a - n) / 2 + ]; } export function getColors(primary) { @@ -19,10 +28,10 @@ export function getColors(primary) { .match(/[0-9a-fA-F]{2,2}/g) .slice(0, 3) .map((val) => parseInt(val, 16) / 255); + const [h, s, l] = rgb2hsl(r, g, b); - const dim = `hsl(${Math.round(h)}deg, ${Math.round(s * 50)}%, ${Math.round( - l * 80 - )}%)`; + + const dim = `hsl(${Math.round(h)}deg, ${Math.round(s * 50)}%, ${Math.round(l * 80)}%)`; const bg = `hsla(${Math.round(h)}deg, ${Math.round(s * 15)}%, 12%, 0.80)`; return { -- cgit 1.3.0-6-gf8a5