@redocly/theme
Version:
Shared UI components lib
24 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLanguagePicker = useLanguagePicker;
const react_router_dom_1 = require("react-router-dom");
const hooks_1 = require("../../core/hooks");
const utils_1 = require("../../core/utils");
function useLanguagePicker() {
const { useL10nConfig, useLoadAndNavigate } = (0, 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, utils_1.withPathPrefix)((0, utils_1.getPathnameForLocale)((0, utils_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