/** * amiPro utils */ 'use strict'; function setI18NText(i18n_map){ for (const key of i18n_map.keys()) { const elm = $("#"+key); if(elm){ const lang = window.navigator.language; var elem = i18n_map.get(key) var msg = null if(elem){ msg = elem.get(lang) if(!msg)msg=elem.get('en-US'); } if(!msg)msg = key+"-"+lang $("#"+key).html(msg); } } } function getI18NText(i18n_map, key){ const lang = window.navigator.language; var elem = i18n_map.get(key) var msg = null if(elem){ msg = elem.get(lang) if(!msg)msg=elem.get('en-US'); } if(!msg)msg = key+"-"+lang return msg } function initRevealAnimations(){ const animated = document.querySelectorAll('.reveal, [data-animate]'); if(!animated || animated.length === 0){ return; } if(!('IntersectionObserver' in globalThis)){ for (const el of animated) { el.classList.add('is-visible'); } return; } const observer = new IntersectionObserver(function(entries){ for (const entry of entries) { if(entry.isIntersecting){ entry.target.classList.add('is-visible'); observer.unobserve(entry.target); } } }, {threshold: 0.18}); for (const el of animated) { el.classList.add('reveal'); observer.observe(el); } }