// 아바타 색상/이니셜 유틸 — 이미지가 없는 곳(화상회의 다크 타일·참여자 목록·채팅)에서
// 이름 기반으로 일관된 배경색과 첫 글자를 만든다. 순수 함수.

// 이름 해시로 배정하는 아바타 배경색 팔레트
const AVATAR_COLORS = [
  '#d0982a',
  '#e0518d',
  '#3d8bf2',
  '#16a37b',
  '#b3631f',
  '#7c5cf0',
  '#0e9594',
  '#d6455d',
  '#0284c7',
  '#65a30d',
]

// 이름 문자코드 합을 팔레트 길이로 나눈 나머지로 색을 고른다(동일 이름 → 동일 색).
export function avatarColor(name: string): string {
  const key = name || '?'
  let sum = 0
  for (const ch of key) sum += ch.charCodeAt(0)
  return AVATAR_COLORS[sum % AVATAR_COLORS.length] as string
}

// 표시용 첫 글자(공백 제거). 비어 있으면 물음표.
export function avatarInitial(name: string): string {
  return (name || '?').trim().charAt(0) || '?'
}
