import raw from '../../../shared/voices.json';
export type Lang = 'tr' | 'en' | 'ar' | 'ru';
export type Voice = { id: string; name: string; gender: 'E' | 'K'; elevenId: string; note: string; default?: boolean; hidden?: boolean; model?: string; lang?: Lang };
export const ALL_VOICES = raw as Voice[];
export const VOICES = ALL_VOICES.filter((v) => !v.hidden);
export const LANGS: { id: Lang; name: string }[] = [{ id: 'tr', name: 'Türkçe' }, { id: 'en', name: 'English' }, { id: 'ar', name: 'العربية' }, { id: 'ru', name: 'Русский' }];
export const voiceLang = (v: Voice): Lang => v.lang || 'tr';
export const langName = (l?: string | null) => (LANGS.find((x) => x.id === l)?.name ?? 'Türkçe');
/** Seçilen dildeki görünür sesler */
export const voicesFor = (lang: Lang) => VOICES.filter((v) => voiceLang(v) === lang);
export const TR_VOICES = voicesFor('tr');
export const DEFAULT_VOICE = VOICES.find((v) => v.default)!.id;
export const defaultVoiceFor = (lang: Lang) => (lang === 'tr' ? DEFAULT_VOICE : voicesFor(lang)[0].id);
export const voiceById = (id?: string | null) => ALL_VOICES.find((v) => v.id === id) ?? ALL_VOICES.find((v) => v.default)!;
