File size: 1,093 Bytes
199f033
 
 
d2934ab
199f033
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
}