@redocly/theme
Version:
Shared UI components lib
24 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLanguagePicker = useLanguagePicker;
const react_router_dom_1 = require("react-router-dom");
const use_theme_hooks_1 = require("./use-theme-hooks");
const urls_1 = require("../utils/urls");
function useLanguagePicker() {
const { useL10nConfig, useLoadAndNavigate } = (0, use_theme_hooks_1.useThemeHooks)();
const navigate = (0, react_router_dom_1.useNavigate)();
const loadAndNavigate = useLoadAndNavigate();
const { currentLocale, locales, defaultLocale } = useL10nConfig();
const locale = locales.find((l) => l.code === currentLocale);
function setLocale(value) {
const newLangPathname = (0, urls_1.withPathPrefix)((0, urls_1.getPathnameForLocale)((0, urls_1.withoutPathPrefix)(location.pathname), defaultLocale, value, locales));
const newUrlWithLanguage = `${newLangPathname}${location.search}${location.hash}`;
loadAndNavigate({ navigate, to: newUrlWithLanguage });
}
return {
currentLocale: locale,
locales,
setLocale,
};
}
//# sourceMappingURL=use-language-picker.js.map