Use element colors for team portraits
CI / Verify (push) Successful in 1m0s
CI / Build immutable images and deploy (push) Successful in 1m26s

This commit is contained in:
2026-09-01 15:03:37 +07:00 Unverified
parent 9553acccd5
commit e0312b4598
4 changed files with 42 additions and 5 deletions
+21
View File
@@ -0,0 +1,21 @@
import { describe, expect, it } from "vitest";
import { elementBackgroundColor } from "@/lib/catalog/element";
describe("catalog element backgrounds", () => {
it("maps every character element to its flat color", () => {
expect(elementBackgroundColor("Pyro")).toBe("#EF7938");
expect(elementBackgroundColor("Hydro")).toBe("#4CC2F1");
expect(elementBackgroundColor("Anemo")).toBe("#74C2A8");
expect(elementBackgroundColor("Electro")).toBe("#AF8EC1");
expect(elementBackgroundColor("Dendro")).toBe("#A5C83B");
expect(elementBackgroundColor("Cryo")).toBe("#9FD6E3");
expect(elementBackgroundColor("Geo")).toBe("#FAB632");
});
it("uses the neutral character background when the element is unavailable", () => {
expect(elementBackgroundColor(null)).toBe("#17383d");
expect(elementBackgroundColor(undefined)).toBe("#17383d");
expect(elementBackgroundColor("Unknown")).toBe("#17383d");
});
});
+13
View File
@@ -0,0 +1,13 @@
const elementBackgroundColors: Record<string, string> = {
Pyro: "#EF7938",
Hydro: "#4CC2F1",
Anemo: "#74C2A8",
Electro: "#AF8EC1",
Dendro: "#A5C83B",
Cryo: "#9FD6E3",
Geo: "#FAB632",
};
export function elementBackgroundColor(element: string | null | undefined): string {
return (element && elementBackgroundColors[element]) || "#17383d";
}