infinity-forge
Version:
42 lines • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Translate = Translate;
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
function Translate(_a) {
var setLanguage = _a.setLanguage, languagesSelecteds = _a.languagesSelecteds;
(0, react_1.useEffect)(function () {
var addScript = document.createElement('script');
addScript.setAttribute('src', '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');
document.body.appendChild(addScript);
window.googleTranslateElementInit = function () {
new window.google.translate.TranslateElement({
pageLanguage: 'pt',
autoDisplay: false,
}, 'google_translate_element');
var comboBox = document.querySelector('.goog-te-combo');
var observer = new MutationObserver(function () {
var selectedLanguage = document.querySelector('.goog-te-combo');
if (selectedLanguage) {
setLanguage(selectedLanguage === null || selectedLanguage === void 0 ? void 0 : selectedLanguage.value);
}
if (languagesSelecteds && languagesSelecteds.length > 0) {
var options = comboBox.querySelectorAll('option');
options.forEach(function (option) {
if (!languagesSelecteds.includes(option.value)) {
option.remove();
}
});
}
});
if (comboBox) {
observer.observe(comboBox, { attributes: true, childList: true, subtree: true });
}
};
return function () {
document.body.removeChild(addScript);
};
}, [setLanguage]);
return (0, jsx_runtime_1.jsx)("div", { id: 'google_translate_element' });
}
//# sourceMappingURL=translate.js.map