UNPKG

@lifi/widget

Version:

LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.

32 lines (27 loc) 1.06 kB
import { useTranslation } from 'react-i18next' import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js' import { useSettings } from '../stores/settings/useSettings.js' import { useSettingsActions } from '../stores/settings/useSettingsActions.js' export const useLanguages = () => { const { t, i18n } = useTranslation() const { languages } = useWidgetConfig() const { language } = useSettings(['language']) const { setValue } = useSettingsActions() const sortedLanguages = Object.keys(i18n.store.data).sort() const selectedLanguageCode = sortedLanguages.includes( language || i18n.resolvedLanguage || '' ) ? language || i18n.resolvedLanguage : languages?.default || languages?.allow?.[0] return { availableLanguages: sortedLanguages, selectedLanguageCode: selectedLanguageCode, selectedLanguageDisplayName: t('language.name', { lng: selectedLanguageCode, }), setLanguageWithCode: (code: string) => { setValue('language', code) i18n.changeLanguage(code) }, } }