(function initUGC(window) { const { location, document, history } = window; const { pathname, search } = location; let currentUrl = `${pathname}${search}`; let currentRef = document.referrer; console.log("🤖 lemonsquare initialized:", !!__lemonsquare?.website_id); if (!__lemonsquare?.website_id) return; let react_loaded = false; async function loadUGCApp() { await new Promise(res => setTimeout(res, 1000)); let elem0 = document.createElement('div'); elem0.setAttribute('id', 'lemon-square-ugc'); elem0.setAttribute('website_id', '60cfda85-90d8-48c9-85c2-1f7d88527eb2'); elem0.setAttribute('ugc_set_id', '178'); elem0.setAttribute('header', ''); elem0.setAttribute('subheader', ''); elem0.setAttribute('grid', 'true'); elem0.setAttribute('locale', '{}'); elem0.setAttribute('current_tags', ''); elem0.setAttribute('design_mode', 'false'); elem0.setAttribute('large_x', '4'); elem0.setAttribute('large_y', '1'); elem0.setAttribute('mid_x', '2'); elem0.setAttribute('mid_y', '2'); elem0.setAttribute('small_x', '2'); elem0.setAttribute('small_y', '1'); let ugcElem0 = document.getElementById('lemon-ugc-rimmel-wonder-ever-eyeshadow-202411-wip1'); if (ugcElem0) { ugcElem0.appendChild(elem0); if (!react_loaded) { let script = document.createElement('script'); script.setAttribute('async', ''); script.setAttribute('src', 'https://new-lemon-square-public.s3.ap-northeast-1.amazonaws.com/v2/ugc-embed-scripts/index.umd.cjs'); elem0.parentNode.insertBefore(script, elem0.nextSibling); react_loaded = true; } } let elem1 = document.createElement('div'); elem1.setAttribute('id', 'lemon-square-ugc'); elem1.setAttribute('website_id', '60cfda85-90d8-48c9-85c2-1f7d88527eb2'); elem1.setAttribute('ugc_set_id', '180'); elem1.setAttribute('header', ' '); elem1.setAttribute('subheader', ' '); elem1.setAttribute('grid', 'true'); elem1.setAttribute('locale', '{}'); elem1.setAttribute('current_tags', ''); elem1.setAttribute('design_mode', 'false'); elem1.setAttribute('large_x', '3'); elem1.setAttribute('large_y', '1'); elem1.setAttribute('mid_x', '3'); elem1.setAttribute('mid_y', '1'); elem1.setAttribute('small_x', '2'); elem1.setAttribute('small_y', '2'); let ugcElem1 = document.getElementById('lemon-ugc-rimmel-lf-oil-moist-tint-s-202411'); if (ugcElem1) { ugcElem1.appendChild(elem1); if (!react_loaded) { let script = document.createElement('script'); script.setAttribute('async', ''); script.setAttribute('src', 'https://new-lemon-square-public.s3.ap-northeast-1.amazonaws.com/v2/ugc-embed-scripts/index.umd.cjs'); elem1.parentNode.insertBefore(script, elem1.nextSibling); react_loaded = true; } } let elem2 = document.createElement('div'); elem2.setAttribute('id', 'lemon-square-ugc'); elem2.setAttribute('website_id', '60cfda85-90d8-48c9-85c2-1f7d88527eb2'); elem2.setAttribute('ugc_set_id', '260'); elem2.setAttribute('header', ' '); elem2.setAttribute('subheader', ' '); elem2.setAttribute('grid', 'true'); elem2.setAttribute('locale', '{}'); elem2.setAttribute('current_tags', ''); elem2.setAttribute('design_mode', 'false'); elem2.setAttribute('large_x', '4'); elem2.setAttribute('large_y', '1'); elem2.setAttribute('mid_x', '4'); elem2.setAttribute('mid_y', '1'); elem2.setAttribute('small_x', '2'); elem2.setAttribute('small_y', '2'); let ugcElem2 = document.getElementById('lemon-ugc-rimmel-wonder-ever-eyeshadow-202411'); if (ugcElem2) { ugcElem2.appendChild(elem2); if (!react_loaded) { let script = document.createElement('script'); script.setAttribute('async', ''); script.setAttribute('src', 'https://new-lemon-square-public.s3.ap-northeast-1.amazonaws.com/v2/ugc-embed-scripts/index.umd.cjs'); elem2.parentNode.insertBefore(script, elem2.nextSibling); react_loaded = true; } } }; const handlePush = async (state, title, url) => { if (!url) return; currentRef = currentUrl; const newUrl = url.toString(); if (newUrl.substring(0, 4) === 'http') { currentUrl = '/' + newUrl.split('/').splice(3).join('/'); } else { currentUrl = newUrl; } if (currentUrl !== currentRef) { loadUGCApp(); } }; const hook = (_this, method, callback) => { const orig = _this[method]; return (...args) => { callback.apply(null, args); return orig.apply(_this, args); } }; // track history changes history.pushState = hook(history, 'pushState', handlePush); history.replaceState = hook(history, 'replaceState', handlePush); const update = () => { if (document.readyState === 'complete') { loadUGCApp(); } }; document.addEventListener('readystatechange', update, true); update(); })(window);