Files
shop/utils/randomTailwindColor.ts
Michael Czechowski 44107c0734
Some checks failed
Build and publish / build (push) Failing after 19s
feat: extract shop from mp/shop — initial libreshop/shop
Source moved verbatim from mp/shop/ on 2026-04-29; mp was the first
concrete adapter consuming the libreshop toolkit. Builds and publishes
git.librete.ch/libreshop/shop on every main / v* push via the standard
.gitea/workflows/build.yml shared across libreshop components.
2026-04-29 17:48:56 +02:00

30 lines
704 B
TypeScript

type TailwindColorPrefix = "text" | "bg" | "shadow" | "from" | "to" | "via" | "group-hover:shadow" | "group-active:shadow";
type TailwindColorShade = 50 | 100 | 150 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
export const randomTailwindColor = (rand: number, prefix: TailwindColorPrefix = "bg", shade: TailwindColorShade = 100, suffix = "") => {
const tailwindColors = [
"red",
"orange",
"amber",
"yellow",
"lime",
"green",
"emerald",
"teal",
"cyan",
"sky",
"blue",
"indigo",
"violet",
"purple",
"fuchsia",
"pink",
"rose"
];
const randomColorIndex = rand % tailwindColors.length;
return `${prefix}-${tailwindColors[randomColorIndex]}-${shade}${suffix}`;
};