INNER CODE UNIT · TypeScript

fetchLanguage

CronusL-1141/AI-company · dashboard/src/i18n/index.ts:34

async function fetchLanguage(mode?: LanguageMode, signal?: AbortSignal): Promise<LanguageSetting> {
  const result = await apiFetch<LanguageSetting>(languagePath, mode === undefined ? { signal } : {
    method: 'PUT', body: JSON.stringify({ mode }),
  });
  if (!result || !['follow', 'zh', 'en'].includes(result.mode)
      || !['zh', 'en'].includes(result.effective)) {
    throw new Error('Invalid language setting response');
  }
  return result;
}

function cacheLanguage(lang: Lang) {
  try { localStorage.setItem('lang', lang); } catch { /* Cache is optional. */ }
}

export function useLanguage() {
  const [cachedLang] = useState<Lang>(detectLang);
  const queryClient = useQueryClient();

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…