* fix: Logic error in toast fix: Remove useless component * fix: Logout not clearing all stores * Add icons to notification settings * Add eslint rule to enforce spaced comment * Add eslint rule for arrow-body-style * Add eslint rule to enforce self-closing components * Add menu to api key settings Fix: Deleting webhook subscription does not remove from UI Split webhook subscriptions into active and inactive Styling updates
29 lines
786 B
TypeScript
29 lines
786 B
TypeScript
import md5 from "crypto-js/md5";
|
|
import { darken } from "polished";
|
|
import theme from "../styles/theme";
|
|
|
|
export const palette = [
|
|
theme.brand.red,
|
|
theme.brand.blue,
|
|
theme.brand.purple,
|
|
theme.brand.pink,
|
|
theme.brand.marine,
|
|
theme.brand.green,
|
|
theme.brand.yellow,
|
|
darken(0.2, theme.brand.red),
|
|
darken(0.2, theme.brand.blue),
|
|
darken(0.2, theme.brand.purple),
|
|
darken(0.2, theme.brand.pink),
|
|
darken(0.2, theme.brand.marine),
|
|
darken(0.2, theme.brand.green),
|
|
darken(0.2, theme.brand.yellow),
|
|
];
|
|
|
|
export const validateColorHex = (color: string) =>
|
|
/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color);
|
|
|
|
export const stringToColor = (input: string) => {
|
|
const inputAsNumber = parseInt(md5(input).toString(), 16);
|
|
return palette[inputAsNumber % palette.length];
|
|
};
|