| const SPECIAL_NAME_COLOR_RULES = Object.freeze([ | |
| ['kamya', 'rainbow'], | |
| ['purvi', 'golden'], | |
| ['samarth', 'diamond'], | |
| ['paras', 'blue'], | |
| ['pragya', 'military'], | |
| ['riddhiman', 'glitch'], | |
| ]); | |
| const DISPLAY_COLOR_MAP = Object.freeze({ | |
| rainbow: '#ff6bc2', | |
| golden: '#ffd700', | |
| diamond: '#aee9ff', | |
| blue: '#3d74ff', | |
| military: '#556b2f', | |
| glitch: '#2de37a', | |
| }); | |
| const ANIMATED_CAR_COLORS = new Set(Object.keys(DISPLAY_COLOR_MAP)); | |
| export function getSpecialCarColorForName(name, defaultColor) { | |
| const lowerName = String(name || '').trim().toLowerCase(); | |
| const matchedRule = SPECIAL_NAME_COLOR_RULES.find(([prefix]) => lowerName.startsWith(prefix)); | |
| return matchedRule ? matchedRule[1] : defaultColor; | |
| } | |
| export function normalizeDisplayCarColor(color) { | |
| const normalized = String(color || '').trim().toLowerCase(); | |
| return DISPLAY_COLOR_MAP[normalized] ?? color; | |
| } | |
| export function isAnimatedCarColor(color) { | |
| return ANIMATED_CAR_COLORS.has(String(color || '').trim().toLowerCase()); | |
| } | |
| export function isSpecialCarColor(color) { | |
| return isAnimatedCarColor(color); | |
| } |