hensei-web/src/lib/utils/gender.ts

31 lines
No EOL
822 B
TypeScript

/**
* Gender mapping utilities for Granblue Fantasy
*/
import { getBasePath } from '$lib/utils/images'
export const GENDER_LABELS: Record<number, string> = {
0: 'Unknown',
1: 'Male',
2: 'Female',
3: 'Other'
}
export function getGenderLabel(gender?: number | null): string {
if (gender === null || gender === undefined) return '—'
return GENDER_LABELS[gender] || '—'
}
export function getGenderIcon(gender?: number | null): string {
const label = getGenderLabel(gender)
if (label === '—' || label === 'Unknown') return ''
// Gender icons may use different naming convention
return `${getBasePath()}/labels/gender/Label_Gender_${label.replace('/', '_')}.png`
}
export function getGenderOptions() {
return Object.entries(GENDER_LABELS).map(([value, label]) => ({
value: Number(value),
label
}))
}