{"version":3,"file":"4386.c378831a2860e98b2070.bundle.mjs","mappings":"+HAEA,MACMA,EAAc,SACdC,EAAiB,IAAIC,IAE3B,IAAIC,EAAO,EAwBXC,eAAeC,EAAuBC,GAClC,MAAMC,EAyBV,SAAkCD,GAC9B,MACME,EAhBV,SAAgCF,GAC5B,MAAMG,EArBV,WACI,MAAMC,EAASC,aAAaC,QAAQ,kBAIpC,OAbJ,SAAoBC,GAChB,MAAMC,EAAYC,KAAKC,MAAMH,GAC7B,OAAII,MAAMC,QAAQJ,GACPA,EAAUK,KAAIC,GAAQA,EAAKC,KAE/B,EACX,CAKwBC,CADAX,aAAaC,QAAQ,WAAWF,KAIxD,CAeoBa,GACVC,EAAUP,MAAMR,EAAQgB,QAAQC,KAAK,GAG3C,MAAO,CACHC,YAAa,UACbC,cAAenB,EACfoB,YALevB,EAAQwB,aAAa,yBAMpCN,UACArB,OAER,CAImB4B,CAAuBzB,GAEtC,OAGJ,UAA4BC,EAAKC,IAC7B,MAAO,GAAGD,KAAO,IAAIyB,gBAAgBxB,GAAQyB,YACjD,CALWC,CAAkB,CAHT,2BAGmB1B,GACvC,CA9BgB2B,CAAyB7B,GAC/B8B,QAxBVhC,eAA4BG,GAGxB,OAFAJ,WACuBkC,MAAM9B,IACb+B,MACpB,CAoB2BC,CAAahC,GAC9BiC,EAAUJ,EAASK,KAErBnC,IACAA,EAAQoC,UAAYF,EACpBlC,EAAQqC,UAAUC,IAAI5C,GACtBC,EAAe2C,IAAItC,GAE3B,CA2BA,IAA4BA,IAQT,kCAA8BN,MAP7C,OAA4BM,GAAUuC,IAC7B5C,EAAe6C,IAAID,IACpBxC,EAAuBwC,EAC3B,G","sources":["webpack://socialUX/./views/userBehavior/userBehaviorContent.js"],"sourcesContent":["import createElementChangeListener from '../../elementChangeListener';\n\nconst userBehaviorClass = 'rm_user_behavior_content';\nconst loadedClass = 'loaded'; \nconst elementsLoaded = new Set(); \n\nlet page = 1;\n\nasync function fetchContent(url) {\n    page++;\n    const response = await fetch(url);\n    return response.json();\n}\n\nfunction extractIds(data) {\n    const dataArray = JSON.parse(data);\n    if (Array.isArray(dataArray)) {\n        return dataArray.map(item => item.id);\n    }\n    return [];\n}\n\nfunction getUserHistory() {\n    const userId = localStorage.getItem(\"userTrackingId\");\n    const userHistory = localStorage.getItem(`history-${userId}`);\n    const userPostIds = extractIds(userHistory);\n\n    return userPostIds;\n}\n\nasync function getUserBehaviorContent(element) {\n    const url = buildUserBehaviorPageUrl(element);\n    const response = await fetchContent(url);\n    const content = response.html;\n\n    if (element) {\n        element.innerHTML = content;\n        element.classList.add(loadedClass);\n        elementsLoaded.add(element);\n    }\n}\n\nfunction makeUserBehaviorParams(element) {\n    const postIds = getUserHistory();\n    const weights = Array(postIds.length).fill(1);\n    const layoutName = element.getAttribute('data-attr-layout-name');\n\n    return {\n        resource_id: \"generic\",\n        post_ids_list: postIds,\n        layout_name: layoutName,\n        weights,\n        page,\n    };\n}\n\nfunction buildUserBehaviorPageUrl(element) {\n    const baseUrl = \"/res/custom_page/data.js\";\n    const params = makeUserBehaviorParams(element);\n\n    return appendQueryParams([baseUrl, params]);\n}\n\nfunction appendQueryParams([url, params]) {\n    return `${url}?${new URLSearchParams(params).toString()}`;\n}\n\nfunction monitorNewElements(element){\n    createElementChangeListener(element, (contentPlaceholder) => {\n        if (!elementsLoaded.has(contentPlaceholder)) {\n            getUserBehaviorContent(contentPlaceholder);\n        }\n    })\n}\n\nmonitorNewElements(`.${userBehaviorClass}:not(.${loadedClass})`);"],"names":["loadedClass","elementsLoaded","Set","page","async","getUserBehaviorContent","element","url","params","postIds","userId","localStorage","getItem","data","dataArray","JSON","parse","Array","isArray","map","item","id","extractIds","getUserHistory","weights","length","fill","resource_id","post_ids_list","layout_name","getAttribute","makeUserBehaviorParams","URLSearchParams","toString","appendQueryParams","buildUserBehaviorPageUrl","response","fetch","json","fetchContent","content","html","innerHTML","classList","add","contentPlaceholder","has"],"sourceRoot":""}