stone-analytics 0.0.109 → 0.0.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ct=Object.create;var _=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var gt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var dt=(t,e)=>{for(var o in e)_(t,o,{get:e[o],enumerable:!0})},M=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of mt(e))!ut.call(t,i)&&i!==o&&_(t,i,{get:()=>e[i],enumerable:!(r=lt(e,i))||r.enumerable});return t};var pt=(t,e,o)=>(o=t!=null?ct(gt(t)):{},M(e||!t||!t.__esModule?_(o,"default",{value:t,enumerable:!0}):o,t)),_t=t=>M(_({},"__esModule",{value:!0}),t);var It={};dt(It,{StoneDataLayerStore:()=>D,checkTimeStamp:()=>I,getABCookie:()=>bt,getGoogleAnalyticsClientId:()=>St,getLotName:()=>O,getPageDirection:()=>F,getPageType:()=>A,getProjectName:()=>z,getStoneClientId:()=>ht,getStoneHashClientId:()=>V,getStoneSessionId:()=>yt,getYandexMetrikaClientId:()=>vt,setClientId:()=>L,setSessionId:()=>C,sokolnikiPageViewType:()=>R,staticPageViewType:()=>B,stoneDataLayerStore:()=>Tt,stoneHodPageViewType:()=>J,useComagicStatus:()=>kt,useInitializeMetrics:()=>ft});module.exports=_t(It);var T=()=>String(Date.now())+String(Math.floor(Math.random()*9e8)+1e8);var N=typeof localStorage<"u",I=t=>{if(!t)return!1;let e=Number(t.slice(0,10)),o=new Date(e*1e3),r=new Date(new Date().toISOString());return r.getFullYear()>o.getFullYear()&&r.getMonth()>=o.getMonth()&&r.getDate()>=o.getDate()},C=()=>{let t=T();N&&localStorage.setItem("st_session_id",t)},L=()=>{let t=T();N&&localStorage.setItem("st_client_id",t)};var P=require("react"),ft=()=>{let t=typeof localStorage<"u",e=!!(t&&localStorage.getItem("st_client_id")),o=!!(t&&localStorage.getItem("st_session_id")),r=I(t?localStorage.getItem("st_client_id"):null);return(!e||r)&&L(),o||C(),(0,P.useEffect)(()=>{let i=localStorage.getItem("tabCount"),n=i?parseInt(i):0;n<0&&(localStorage.setItem("tabCount",String(0)),n=0),n++,n&&localStorage.setItem("tabCount",String(n));let a=()=>{let c=localStorage.getItem("tabCount");if(c&&typeof window<"u"){let u=String(Number(c)-1),d=window.scrollY,p=document.documentElement.scrollHeight-document.documentElement.clientHeight,g=d/p*100;u==="0"&&localStorage.setItem("st_session_id",""),localStorage.setItem("tabCount",u)}};return window.addEventListener("beforeunload",a),()=>{window.removeEventListener("beforeunload",a)}},[]),(0,P.useEffect)(()=>{let i,n=()=>{clearTimeout(i),i=setTimeout(()=>{localStorage.setItem("st_session_id","")},18e5)},a=["mousemove","click","touchstart","scroll","keydown"];return a.forEach(c=>{window.addEventListener(c,n)}),n(),()=>{a.forEach(c=>{window.removeEventListener(c,n)}),clearTimeout(i)}},[]),{}};var $=pt(require("@fingerprintjs/fingerprintjs")),j=require("cookies-next"),V=async()=>{let t;try{return await $.default.load().then(o=>o.get()).then(o=>{t=o.visitorId}),t}catch(e){console.log("error fingerprintJS"+e)}},yt=()=>{let t=localStorage.getItem("st_session_id");if(t&&t!="")return t},ht=()=>{let t=localStorage.getItem("st_client_id");if(t&&t!="")return t},St=()=>{let t=String((0,j.getCookie)("_ga"));if(t&&t!="")return t;{let e=localStorage.getItem("_ga");if(e&&e!="")return e}},vt=()=>{let t=String((0,j.getCookie)("_ym_uid"));if(t&&t!="")return t;{let e=localStorage.getItem("_ym_uid");if(e&&e!="")return e}};var f=require("react"),kt=()=>{let[t,e]=(0,f.useState)({loadedComagic:!1,errorComagic:!1});return(0,f.useEffect)(()=>{if(window.Comagic){e({loadedComagic:!0,errorComagic:!1});return}let o=setInterval(()=>{window.Comagic&&(e({loadedComagic:!0,errorComagic:!1}),clearInterval(o))},300);return()=>clearInterval(o)},[]),t};var bt=t=>{if(typeof document>"u")return null;let e=t==null?void 0:t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(`(^|;\\s*)${e}=([^;]*)`),r=document.cookie.match(o);return r?decodeURIComponent(r[2]):null};var st=require("mobx");var U={commercial:"offices",residential:"apartments",retail:"retail",offices:"offices",investments:"investments"},H={"stone.moscow":"apartments","stone-sokolniki":"apartments","sokolniki-stone":"apartments","stone-rise":"apartments","stone-hod":"offices"},F=(t,e)=>{let o=null;if(e&&(Object.keys(H).forEach(n=>{e.includes(n)&&(o=H[n])}),o))return o;switch(t){case"/commercial/sokolniki-retail":return"retail";case"/commercial/mnevniki-retail":return"retail"}let r=Object.keys(U).filter(n=>t.includes(n))[0],i=U[r];return i||null};var y=/^\/commercial\/([^/]+)$/,h=/^\/residential\/([^/]+)$/,S=/^\/retail\/([^/]+)$/,v=/^\/offices\/([^/]+)$/,k=/^\/catalog\/commercial\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,b=/^\/catalog\/residential\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,w=/^\/catalog\/retail\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,E=/^\/catalog\/offices\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i;var B={"/":"main","/loyalty":"loyalty","/residential":"category_page","/residential/standards":"standards","/commercial":"category_page","/commercial/standards":"standards","/retail":"category_page","/rent":"rent","/service":"services","/favorites":"favorites","/presscenter":"press_center","/purchaseterms":"terms_of_purchase","/purchaseterms/residential":"terms_of_purchase","/contacts":"contacts","/documents":"documents","/documents/docs":"documents","/documents/soglasie-na-rassylki":"documents","/documents/politika-konfidenczialnosti":"documents","/documents/usloviya-loyalty":"documents","/investments":"investments","/about":"about_company","/catalog/commercial":"lot_catalog","/catalog/residential":"lot_catalog","/catalog/retail":"lot_catalog","/catalog/offices":"lot_catalog"},R={"/":"project_card","/policy":"project_card"},J={"/":"stoneHod_main","/policy":"stoneHod_policy"},Y={"stone.moscow":"category_page","stone-sokolniki":"project_card","sokolniki-stone":"project_card","stone-rise":"project_card","stone-hod":"category_page"},A=(t,e="stone",o)=>{let r=null;if(o&&(Object.keys(Y).forEach(i=>{o.includes(i)&&(r=Y[i])}),r))return r;if(t)switch(e){case"stone":return Object.keys(B).includes(t)?B[t]:y.test(t)||h.test(t)||S.test(t)||v.test(t)?"project_card":k.test(t)||b.test(t)||w.test(t)||E.test(t)?"lot_card":null;case"sokolniki":return R[t];case"stone-hod":return J[t];default:return null}return"other"};var W={"stone-sokolniki":"sokolniki","sokolniki-stone":"sokolniki","stone-rise":"rise","stone-hod":"hodinka"},z=(t,e)=>{let o=null,r=t.match(y),i=t.match(h),n=t.match(S),a=t.match(v),c=t.match(k),u=t.match(b),d=t.match(w),p=t.match(E);return e&&Object.keys(W).forEach(g=>{e.includes(g)&&(o=W[g])}),o||(c?c[1]:u?u[1]:d?d[1]:p?p[1]:r?r[1]:i?i[1]:n?n[1]:a?a[1]:null)};var wt=/^\/catalog\/commercial\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,Et=/^\/catalog\/residential\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,Dt=/^\/catalog\/retail\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,xt=/^\/catalog\/offices\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,O=t=>{let e=t.match(wt),o=t.match(Et),r=t.match(Dt),i=t.match(xt);return e?e[1]:o?o[1]:r?r[1]:i?i[1]:null};var s=t=>({ym_uid:t.ym_uid??null,cm_visitor_id:t.cm_visitor_id??null,fingerprint_id:(t==null?void 0:t.fingerprint_id)??null,visible_virtual_pn:(t==null?void 0:t.visible_virtual_pn)??null,page_type:t.page_type,page_direction:t.page_direction,page_project:t.page_project,page_lot:t.page_lot,ab_test_name:t.ab_test_name,ab_test_group:t.ab_test_group,user_id:t.initializeUserId()??null,auth:t.initializeUserAuth()??!1});var G=async({store:t})=>{try{let e=s(t),o={event:"pageview"},r={...e};delete r.ym_uid,t.pushLayer({...r,...o})}catch(e){console.log("error",e)}};var X=async({store:t})=>{try{let e=s(t),o={event:"pageview_force"};t.pushLayer({...e,...o})}catch(e){console.log("error",e)}};var q=require("js-md5"),m=()=>{var e,o;let t=(o=(e=document.getElementById("header_phone"))==null?void 0:e.getAttribute("href"))==null?void 0:o.replace(/\D/g,"");return typeof t=="string"?(0,q.md5)(t):void 0};var K=t=>{if(typeof window<"u"&&typeof ym<"u"){let e;return ym(t,"getClientID",function(o){e=o}),e??null}};var Q=()=>typeof Comagic<"u"?Comagic&&Comagic.getVisitorId():null;var l=t=>{t.ym_uid=K(95057596),t.cm_visitor_id=Q()};var Z=async({store:t,lead_id:e,block_name:o,auth:r,submitted_lot:i,submitted_lot_project:n})=>{try{let a=s(t),c={event:"submit",lead_id:String(e),block_name:o,auth:r??null,submitted_lot:i??null,submitted_lot_project:n??null};a.visible_virtual_pn=m(),l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var tt=async({store:t,block_name:e,list_of_lots:o})=>{try{let r=s(t),i={event:"lot_feed_show",block_name:e,list_of_lots:o},n={...r};l(r),delete n.ym_uid,delete n.cm_visitor_id,r.visible_virtual_pn=m(),t.pushLayer({...r,...i})}catch(r){console.log("error",r)}};var et=async({store:t,action_element:e,action_element_text:o,block_name:r,clicked_url:i,auth:n,clicked_lot:a,clicked_lot_project:c,clicked_lot_position:u,action_element_status:d,banner_position:p})=>{try{let g=s(t),x={event:"click",action_element:e,action_element_text:o??null,block_name:r,auth:n??null,clicked_url:i,clicked_lot:a??null,clicked_lot_project:c??null,clicked_lot_position:u??null};p&&(x.banner_position=p),d&&(x.action_element_status=d),g.visible_virtual_pn=m(),l(g),t.pushLayer({...g,...x})}catch(g){console.log("error",g)}};var ot=async({store:t,action_element:e,auth:o,action_element_text:r,block_name:i})=>{try{let n=s(t),a={event:"check",action_element:e,auth:o??null,action_element_text:r??null,block_name:i};n.visible_virtual_pn=m(),l(n),t.pushLayer({...n,...a})}catch(n){console.log("error",n)}};var rt=async({store:t,action_element:e,block_name:o,auth:r,action_element_status:i})=>{try{let n=s(t),a={event:"blur",action_element:e,action_element_status:i,block_name:o,auth:r??null};n.visible_virtual_pn=m(),l(n),t.pushLayer({...n,...a})}catch(n){console.log("error",n)}};var nt=async({store:t})=>{try{let e=s(t),o={event:"fullscreenview"};e.visible_virtual_pn=m(),l(e),t.pushLayer({...e,...o})}catch(e){console.log("error",e)}};var it=async({store:t,banner_text:e,banner_link:o,banner_position:r,auth:i,block_name:n})=>{try{let a=s(t),c={event:"banner_show",banner_text:e??null,banner_link:o??null,banner_position:r??null,auth:i??null,block_name:n};l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var at=async({store:t,banner_text:e,banner_link:o,auth:r,clicked_url:i,block_name:n})=>{try{let a=s(t),c={event:"banner_click",banner_text:e,banner_link:o,auth:r??null,clicked_url:i,block_name:n};l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var D=class{pageParamsIsLoading;pageParamsWasSet;ym_uid;cm_visitor_id;fingerprint_id;visible_virtual_pn;page_type;page_direction;page_project;page_lot;ab_test_name;ab_test_group;constructor(){this.pageParamsIsLoading=!1,this.pageParamsWasSet=!1,this.page_type=void 0,this.page_direction=void 0,this.page_project=void 0,this.page_lot=void 0,(0,st.makeAutoObservable)(this)}initializeUserId(){return typeof window>"u"?null:localStorage.getItem("user_reg_id")}initializeUserAuth(){if(typeof window>"u")return!1;try{let e=localStorage.getItem("auth_store");if(!e)return!1;let o=JSON.parse(e);return(o==null?void 0:o.isLoggedIn)??!1}catch(e){return console.error("Failed to parse auth_store from localStorage:",e),!1}}pushLayer(e){typeof window<"u"&&(window.StoneDataLayer||[]).push(e)}setPageParams({pathname:e,source:o,href:r}){this.pageParamsIsLoading=!0,this.page_direction=F(e,r),this.page_type=A(e,o,r),this.page_project=z(e,r),this.page_lot=O(e),this.ab_test_name="abgroup",this.ab_test_group=process.env.NEXT_PUBLIC_AB_TEST_GROUP,this.pageParamsIsLoading=!1,this.pageParamsWasSet=!0}async setFingerPrint(){this.fingerprint_id=await V()??null}async setEventPageView(e){await G({store:this,...e})}async setEventPageViewForce(){await X({store:this})}async setEventSubmit(e){await Z({store:this,...e})}async setEventLotFeedShow(e){await tt({store:this,...e})}async setEventClick(e){await et({store:this,...e})}async setEventCheck(e){await ot({store:this,...e})}async setEventBlur(e){await rt({store:this,...e})}async setEventFullScreen(){await nt({store:this})}async setEventBannerShow(e){await it({store:this,...e})}async setEventBannerClick(e){await at({store:this,...e})}},Tt=new D;0&&(module.exports={StoneDataLayerStore,checkTimeStamp,getABCookie,getGoogleAnalyticsClientId,getLotName,getPageDirection,getPageType,getProjectName,getStoneClientId,getStoneHashClientId,getStoneSessionId,getYandexMetrikaClientId,setClientId,setSessionId,sokolnikiPageViewType,staticPageViewType,stoneDataLayerStore,stoneHodPageViewType,useComagicStatus,useInitializeMetrics});
|
|
1
|
+
var lt=Object.create;var y=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var ut=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty;var pt=(t,e)=>{for(var o in e)y(t,o,{get:e[o],enumerable:!0})},N=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of gt(e))!dt.call(t,i)&&i!==o&&y(t,i,{get:()=>e[i],enumerable:!(r=mt(e,i))||r.enumerable});return t};var _t=(t,e,o)=>(o=t!=null?lt(ut(t)):{},N(e||!t||!t.__esModule?y(o,"default",{value:t,enumerable:!0}):o,t)),ft=t=>N(y({},"__esModule",{value:!0}),t);var Ct={};pt(Ct,{StoneDataLayerStore:()=>T,checkTimeStamp:()=>C,getABCookie:()=>wt,getGoogleAnalyticsClientId:()=>vt,getLotName:()=>M,getPageDirection:()=>B,getPageType:()=>z,getProjectName:()=>O,getStoneClientId:()=>St,getStoneHashClientId:()=>F,getStoneSessionId:()=>ht,getYandexMetrikaClientId:()=>kt,setClientId:()=>P,setSessionId:()=>L,sokolnikiPageViewType:()=>J,staticPageViewType:()=>A,stoneDataLayerStore:()=>It,stoneHodPageViewType:()=>W,useComagicStatus:()=>bt,useInitializeMetrics:()=>yt});module.exports=ft(Ct);var I=()=>String(Date.now())+String(Math.floor(Math.random()*9e8)+1e8);var $=typeof localStorage<"u",C=t=>{if(!t)return!1;let e=Number(t.slice(0,10)),o=new Date(e*1e3),r=new Date(new Date().toISOString());return r.getFullYear()>o.getFullYear()&&r.getMonth()>=o.getMonth()&&r.getDate()>=o.getDate()},L=()=>{let t=I();$&&localStorage.setItem("st_session_id",t)},P=()=>{let t=I();$&&localStorage.setItem("st_client_id",t)};var j=require("react"),yt=()=>{let t=typeof localStorage<"u",e=!!(t&&localStorage.getItem("st_client_id")),o=!!(t&&localStorage.getItem("st_session_id")),r=C(t?localStorage.getItem("st_client_id"):null);return(!e||r)&&P(),o||L(),(0,j.useEffect)(()=>{let i=localStorage.getItem("tabCount"),n=i?parseInt(i):0;n<0&&(localStorage.setItem("tabCount",String(0)),n=0),n++,n&&localStorage.setItem("tabCount",String(n));let a=()=>{let c=localStorage.getItem("tabCount");if(c&&typeof window<"u"){let u=String(Number(c)-1),d=window.scrollY,g=document.documentElement.scrollHeight-document.documentElement.clientHeight,p=d/g*100;u==="0"&&localStorage.setItem("st_session_id",""),localStorage.setItem("tabCount",u)}};return window.addEventListener("beforeunload",a),()=>{window.removeEventListener("beforeunload",a)}},[]),(0,j.useEffect)(()=>{let i,n=()=>{clearTimeout(i),i=setTimeout(()=>{localStorage.setItem("st_session_id","")},18e5)},a=["mousemove","click","touchstart","scroll","keydown"];return a.forEach(c=>{window.addEventListener(c,n)}),n(),()=>{a.forEach(c=>{window.removeEventListener(c,n)}),clearTimeout(i)}},[]),{}};var U=_t(require("@fingerprintjs/fingerprintjs")),V=require("cookies-next"),F=async()=>{let t;try{return await U.default.load().then(o=>o.get()).then(o=>{t=o.visitorId}),t}catch(e){console.log("error fingerprintJS"+e)}},ht=()=>{let t=localStorage.getItem("st_session_id");if(t&&t!="")return t},St=()=>{let t=localStorage.getItem("st_client_id");if(t&&t!="")return t},vt=()=>{let t=String((0,V.getCookie)("_ga"));if(t&&t!="")return t;{let e=localStorage.getItem("_ga");if(e&&e!="")return e}},kt=()=>{let t=String((0,V.getCookie)("_ym_uid"));if(t&&t!="")return t;{let e=localStorage.getItem("_ym_uid");if(e&&e!="")return e}};var h=require("react"),bt=()=>{let[t,e]=(0,h.useState)({loadedComagic:!1,errorComagic:!1});return(0,h.useEffect)(()=>{if(window.Comagic){e({loadedComagic:!0,errorComagic:!1});return}let o=setInterval(()=>{window.Comagic&&(e({loadedComagic:!0,errorComagic:!1}),clearInterval(o))},300);return()=>clearInterval(o)},[]),t};var wt=t=>{if(typeof document>"u")return null;let e=t==null?void 0:t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(`(^|;\\s*)${e}=([^;]*)`),r=document.cookie.match(o);return r?decodeURIComponent(r[2]):null};var ct=require("mobx");var H={commercial:"offices",residential:"apartments",retail:"retail",offices:"offices",investments:"investments"},Y={"stone.moscow":"apartments","stone-sokolniki":"apartments","sokolniki-stone":"apartments","stone-rise":"apartments","stone-hod":"offices"},B=(t,e)=>{let o=null;if(e&&(Object.keys(Y).forEach(n=>{e.includes(n)&&(o=Y[n])}),o))return o;switch(t){case"/commercial/sokolniki-retail":return"retail";case"/commercial/mnevniki-retail":return"retail"}let r=Object.keys(H).filter(n=>t.includes(n))[0],i=H[r];return i||null};var S=/^\/commercial\/([^/]+)$/,v=/^\/residential\/([^/]+)$/,k=/^\/retail\/([^/]+)$/,b=/^\/offices\/([^/]+)$/,w=/^\/catalog\/commercial\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,E=/^\/catalog\/residential\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,D=/^\/catalog\/retail\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i,x=/^\/catalog\/offices\/([a-z0-9_#-]+)(?:\/[a-z0-9_#-]+)*$/i;var A={"/":"main","/loyalty":"loyalty","/residential":"category_page","/residential/standards":"standards","/commercial":"category_page","/commercial/standards":"standards","/retail":"category_page","/rent":"rent","/service":"services","/favorites":"favorites","/presscenter":"press_center","/purchaseterms":"terms_of_purchase","/purchaseterms/residential":"terms_of_purchase","/contacts":"contacts","/documents":"documents","/documents/docs":"documents","/documents/soglasie-na-rassylki":"documents","/documents/politika-konfidenczialnosti":"documents","/documents/usloviya-loyalty":"documents","/investments":"investments","/about":"about_company","/catalog/commercial":"lot_catalog","/catalog/residential":"lot_catalog","/catalog/retail":"lot_catalog","/catalog/offices":"lot_catalog"},J={"/":"project_card","/policy":"project_card"},W={"/":"stoneHod_main","/policy":"stoneHod_policy"},R={"stone.moscow":"category_page","stone-sokolniki":"project_card","sokolniki-stone":"project_card","stone-rise":"project_card","stone-hod":"category_page"},z=(t,e="stone",o)=>{let r=null;if(o&&(Object.keys(R).forEach(i=>{o.includes(i)&&(r=R[i])}),r))return r;if(t)switch(e){case"stone":return Object.keys(A).includes(t)?A[t]:S.test(t)||v.test(t)||k.test(t)||b.test(t)?"project_card":w.test(t)||E.test(t)||D.test(t)||x.test(t)?"lot_card":null;case"sokolniki":return J[t];case"stone-hod":return W[t];default:return null}return"other"};var G={"stone-sokolniki":"sokolniki","sokolniki-stone":"sokolniki","stone-rise":"rise","stone-hod":"hodinka"},O=(t,e)=>{let o=null,r=t.match(S),i=t.match(v),n=t.match(k),a=t.match(b),c=t.match(w),u=t.match(E),d=t.match(D),g=t.match(x);return e&&Object.keys(G).forEach(p=>{e.includes(p)&&(o=G[p])}),o||(c?c[1]:u?u[1]:d?d[1]:g?g[1]:r?r[1]:i?i[1]:n?n[1]:a?a[1]:null)};var Et=/^\/catalog\/commercial\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,Dt=/^\/catalog\/residential\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,xt=/^\/catalog\/retail\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,Tt=/^\/catalog\/offices\/(?:[a-z0-9_#-]+\/)*([a-z0-9_#-]+)$/i,M=t=>{let e=t.match(Et),o=t.match(Dt),r=t.match(xt),i=t.match(Tt);return e?e[1]:o?o[1]:r?r[1]:i?i[1]:null};var s=t=>({ym_uid:t.ym_uid??null,cm_visitor_id:t.cm_visitor_id??null,fingerprint_id:(t==null?void 0:t.fingerprint_id)??null,visible_virtual_pn:(t==null?void 0:t.visible_virtual_pn)??null,page_type:t.page_type,page_direction:t.page_direction,page_project:t.page_project,page_lot:t.page_lot,ab_test_name:t.ab_test_name,ab_test_group:t.ab_test_group,user_id:t.initializeUserId()??null,auth:t.initializeUserAuth()??!1});var X=async({store:t})=>{try{let e=s(t),o={event:"pageview"},r={...e};delete r.ym_uid,t.pushLayer({...r,...o})}catch(e){console.log("error",e)}};var q=async({store:t})=>{try{let e=s(t),o={event:"pageview_force"};t.pushLayer({...e,...o})}catch(e){console.log("error",e)}};var K=require("js-md5"),m=()=>{var e,o;let t=(o=(e=document.getElementById("header_phone"))==null?void 0:e.getAttribute("href"))==null?void 0:o.replace(/\D/g,"");return typeof t=="string"?(0,K.md5)(t):void 0};var Q=t=>{if(typeof window<"u"&&typeof ym<"u"){let e;return ym(t,"getClientID",function(o){e=o}),e??null}};var Z=()=>typeof Comagic<"u"?Comagic&&Comagic.getVisitorId():null;var l=t=>{t.ym_uid=Q(95057596),t.cm_visitor_id=Z()};var tt=async({store:t,lead_id:e,block_name:o,auth:r,submitted_lot:i,submitted_lot_project:n})=>{try{let a=s(t),c={event:"submit",lead_id:String(e),block_name:o,auth:r??null,submitted_lot:i??null,submitted_lot_project:n??null};a.visible_virtual_pn=m(),l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var et=async({store:t,block_name:e,list_of_lots:o})=>{try{let r=s(t),i={event:"lot_feed_show",block_name:e,list_of_lots:o},n={...r};l(r),delete n.ym_uid,delete n.cm_visitor_id,r.visible_virtual_pn=m(),t.pushLayer({...r,...i})}catch(r){console.log("error",r)}};var ot=async({store:t,action_element:e,action_element_text:o,block_name:r,clicked_url:i,auth:n,clicked_lot:a,clicked_lot_project:c,clicked_lot_position:u,action_element_status:d,banner_position:g,banner_text:p})=>{try{let _=s(t),f={event:"click",action_element:e,action_element_text:o??null,block_name:r,auth:n??null,clicked_url:i,clicked_lot:a??null,clicked_lot_project:c??null,clicked_lot_position:u??null};g&&(f.banner_position=g),g&&(f.banner_text=p),d&&(f.action_element_status=d),_.visible_virtual_pn=m(),l(_),t.pushLayer({..._,...f})}catch(_){console.log("error",_)}};var rt=async({store:t,action_element:e,auth:o,action_element_text:r,block_name:i})=>{try{let n=s(t),a={event:"check",action_element:e,auth:o??null,action_element_text:r??null,block_name:i};n.visible_virtual_pn=m(),l(n),t.pushLayer({...n,...a})}catch(n){console.log("error",n)}};var nt=async({store:t,action_element:e,block_name:o,auth:r,action_element_status:i})=>{try{let n=s(t),a={event:"blur",action_element:e,action_element_status:i,block_name:o,auth:r??null};n.visible_virtual_pn=m(),l(n),t.pushLayer({...n,...a})}catch(n){console.log("error",n)}};var it=async({store:t})=>{try{let e=s(t),o={event:"fullscreenview"};e.visible_virtual_pn=m(),l(e),t.pushLayer({...e,...o})}catch(e){console.log("error",e)}};var at=async({store:t,banner_text:e,banner_link:o,banner_position:r,auth:i,block_name:n})=>{try{let a=s(t),c={event:"banner_show",banner_text:e??null,banner_link:o??null,banner_position:r??null,auth:i??null,block_name:n};l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var st=async({store:t,banner_text:e,banner_link:o,auth:r,clicked_url:i,block_name:n})=>{try{let a=s(t),c={event:"banner_click",banner_text:e,banner_link:o,auth:r??null,clicked_url:i,block_name:n};l(a),t.pushLayer({...a,...c})}catch(a){console.log("error",a)}};var T=class{pageParamsIsLoading;pageParamsWasSet;ym_uid;cm_visitor_id;fingerprint_id;visible_virtual_pn;page_type;page_direction;page_project;page_lot;ab_test_name;ab_test_group;constructor(){this.pageParamsIsLoading=!1,this.pageParamsWasSet=!1,this.page_type=void 0,this.page_direction=void 0,this.page_project=void 0,this.page_lot=void 0,(0,ct.makeAutoObservable)(this)}initializeUserId(){return typeof window>"u"?null:localStorage.getItem("user_reg_id")}initializeUserAuth(){if(typeof window>"u")return!1;try{let e=localStorage.getItem("auth_store");if(!e)return!1;let o=JSON.parse(e);return(o==null?void 0:o.isLoggedIn)??!1}catch(e){return console.error("Failed to parse auth_store from localStorage:",e),!1}}pushLayer(e){typeof window<"u"&&(window.StoneDataLayer||[]).push(e)}setPageParams({pathname:e,source:o,href:r}){this.pageParamsIsLoading=!0,this.page_direction=B(e,r),this.page_type=z(e,o,r),this.page_project=O(e,r),this.page_lot=M(e),this.ab_test_name="abgroup",this.ab_test_group=process.env.NEXT_PUBLIC_AB_TEST_GROUP,this.pageParamsIsLoading=!1,this.pageParamsWasSet=!0}async setFingerPrint(){this.fingerprint_id=await F()??null}async setEventPageView(e){await X({store:this,...e})}async setEventPageViewForce(){await q({store:this})}async setEventSubmit(e){await tt({store:this,...e})}async setEventLotFeedShow(e){await et({store:this,...e})}async setEventClick(e){await ot({store:this,...e})}async setEventCheck(e){await rt({store:this,...e})}async setEventBlur(e){await nt({store:this,...e})}async setEventFullScreen(){await it({store:this})}async setEventBannerShow(e){await at({store:this,...e})}async setEventBannerClick(e){await st({store:this,...e})}},It=new T;0&&(module.exports={StoneDataLayerStore,checkTimeStamp,getABCookie,getGoogleAnalyticsClientId,getLotName,getPageDirection,getPageType,getProjectName,getStoneClientId,getStoneHashClientId,getStoneSessionId,getYandexMetrikaClientId,setClientId,setSessionId,sokolnikiPageViewType,staticPageViewType,stoneDataLayerStore,stoneHodPageViewType,useComagicStatus,useInitializeMetrics});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/utils/makeUID.ts","../src/utils/sessionClientId.ts","../src/hooks/useInitializeMetrics.ts","../src/utils/utils.ts","../src/utils/useComagicStatus.ts","../src/utils/getABCookie.ts","../src/store/StoneDataLayerStore/StoneDataLayerStore.ts","../src/store/StoneDataLayerStore/utils/pageDirection.ts","../src/store/StoneDataLayerStore/utils/regs.ts","../src/store/StoneDataLayerStore/utils/pageType.ts","../src/store/StoneDataLayerStore/utils/getProjectName.ts","../src/store/StoneDataLayerStore/utils/getLotName.ts","../src/store/StoneDataLayerStore/utils/getDefaultAnalyticsData.ts","../src/store/StoneDataLayerStore/events/eventPageView.ts","../src/store/StoneDataLayerStore/events/eventPageViewForce.ts","../src/utils/getVisibleVirtualPn.ts","../src/store/StoneDataLayerStore/utils/getYmUid.ts","../src/store/StoneDataLayerStore/utils/getComagicId.ts","../src/store/StoneDataLayerStore/utils/setAnalyticId.ts","../src/store/StoneDataLayerStore/events/eventSubmit.ts","../src/store/StoneDataLayerStore/events/eventLotFeedShow.ts","../src/store/StoneDataLayerStore/events/eventClick.ts","../src/store/StoneDataLayerStore/events/eventCheck.ts","../src/store/StoneDataLayerStore/events/eventBlur.ts","../src/store/StoneDataLayerStore/events/eventFullScreenView.ts","../src/store/StoneDataLayerStore/events/eventBannerShow.ts","../src/store/StoneDataLayerStore/events/eventBannerClick.ts"],"sourcesContent":["export * from './utils/sessionClientId'\r\nexport * from './hooks/useInitializeMetrics'\r\nexport * from './utils/utils'\r\nexport * from './utils/useComagicStatus'\r\nexport * from './utils/getABCookie'\r\n\r\nexport * from './store/StoneDataLayerStore/stoneDataLayer'\r\nexport * from './store/StoneDataLayerStore/StoneDataLayerStore'\r\nexport * from './store/StoneDataLayerStore/utils/pageDirection'\r\nexport * from './store/StoneDataLayerStore/utils/pageType'\r\nexport * from './store/StoneDataLayerStore/utils/getProjectName'\r\nexport * from './store/StoneDataLayerStore/utils/getLotName'\r\n","export const makeTimeBasedUID = (): string => {\r\n\treturn (\r\n\t\tString(Date.now()) + String(Math.floor(Math.random() * (999999999 - 100000000 + 1)) + 100000000)\r\n\t)\r\n}","import {makeTimeBasedUID} from './makeUID'\r\n\r\nconst isLocalStorage = typeof localStorage !== 'undefined'\r\n\r\nconst checkTimeStamp = (clientId: string | null) => {\r\n if (!clientId) return false\r\n\r\n const unixTimestamp = Number(clientId.slice(0, 10))\r\n const ISOSDate = new Date(unixTimestamp * 1000)\r\n const ISOSDateNow = new Date(new Date().toISOString())\r\n\r\n return (\r\n ISOSDateNow.getFullYear() > ISOSDate.getFullYear() &&\r\n ISOSDateNow.getMonth() >= ISOSDate.getMonth() &&\r\n ISOSDateNow.getDate() >= ISOSDate.getDate()\r\n )\r\n}\r\n\r\nconst setSessionId = () => {\r\n const newId = makeTimeBasedUID()\r\n if (isLocalStorage) localStorage.setItem('st_session_id', newId)\r\n}\r\n\r\nconst setClientId = () => {\r\n const newId = makeTimeBasedUID()\r\n if (isLocalStorage) localStorage.setItem('st_client_id', newId)\r\n}\r\n\r\nexport {setClientId, setSessionId, checkTimeStamp}","import { checkTimeStamp, setClientId, setSessionId } from '../utils/sessionClientId'\r\nimport { useEffect } from 'react'\r\n\r\nexport const useInitializeMetrics = () => {\r\n\tconst isLocalStorage = typeof localStorage !== 'undefined'\r\n\r\n\tconst isClientId = Boolean(isLocalStorage ? localStorage.getItem('st_client_id') : null)\r\n\tconst isSessionId = Boolean(isLocalStorage ? localStorage.getItem('st_session_id') : null)\r\n\tconst isYearPast = checkTimeStamp(isLocalStorage ? localStorage.getItem('st_client_id') : null)\r\n\r\n\tif (!isClientId || isYearPast) setClientId()\r\n\r\n\tif (!isSessionId) {\r\n\t\tsetSessionId()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tabCountStorage = localStorage.getItem('tabCount')\r\n\r\n\t\t// При открытии вкладки\r\n\t\tlet tabCount = tabCountStorage ? parseInt(tabCountStorage) : 0\r\n\t\tif (tabCount < 0) {\r\n\t\t\tlocalStorage.setItem('tabCount', String(0))\r\n\t\t\ttabCount = 0\r\n\t\t}\r\n\r\n\t\ttabCount++\r\n\t\tif (tabCount) localStorage.setItem('tabCount', String(tabCount))\r\n\r\n\t\t// Обработчик для закрытия вкладки\r\n\t\tconst handleBeforeUnload = () => {\r\n\t\t\tconst tabCountStorage = localStorage.getItem('tabCount')\r\n\t\t\tif (tabCountStorage && typeof window !== 'undefined') {\r\n\t\t\t\tconst tabCount = String(Number(tabCountStorage) - 1)\r\n\t\t\t\tconst scrollTop = window.scrollY\r\n\t\t\t\tconst scrollHeight =\r\n\t\t\t\t\tdocument.documentElement.scrollHeight - document.documentElement.clientHeight\r\n\t\t\t\tconst scrollPercent = (scrollTop / scrollHeight) * 100\r\n\r\n\t\t\t\tif (tabCount === '0') {\r\n\t\t\t\t\tlocalStorage.setItem('st_session_id', '')\r\n\t\t\t\t}\r\n\t\t\t\tlocalStorage.setItem('tabCount', tabCount)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('beforeunload', handleBeforeUnload)\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('beforeunload', handleBeforeUnload)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet inactivityTimer: NodeJS.Timeout\r\n\r\n\t\tconst resetInactivityTimer = () => {\r\n\t\t\tclearTimeout(inactivityTimer)\r\n\t\t\t// 30 минут\r\n\t\t\tinactivityTimer = setTimeout(() => {\r\n\t\t\t\tlocalStorage.setItem('st_session_id', '')\r\n\t\t\t}, 30 * 60 * 1000)\r\n\t\t}\r\n\r\n\t\tconst events = ['mousemove', 'click', 'touchstart', 'scroll', 'keydown']\r\n\t\tevents.forEach((event) => {\r\n\t\t\twindow.addEventListener(event, resetInactivityTimer)\r\n\t\t})\r\n\r\n\t\t// Запускаем таймер при монтировании компонента\r\n\t\tresetInactivityTimer()\r\n\t\treturn () => {\r\n\t\t\tevents.forEach((event) => {\r\n\t\t\t\twindow.removeEventListener(event, resetInactivityTimer)\r\n\t\t\t})\r\n\t\t\tclearTimeout(inactivityTimer)\r\n\t\t}\r\n\t}, [])\r\n\r\n\treturn {}\r\n}\r\n","import FingerprintJS from '@fingerprintjs/fingerprintjs'\r\nimport {getCookie} from \"cookies-next\";\r\n\r\nexport const getStoneHashClientId = async () => {\r\n let st_client_hash_id\r\n try {\r\n const fpPromise = FingerprintJS.load()\r\n await fpPromise\r\n .then((fp) => fp.get())\r\n .then((result) => {\r\n st_client_hash_id = result.visitorId\r\n })\r\n return st_client_hash_id\r\n } catch (e) {\r\n console.log('error fingerprintJS' + e)\r\n }\r\n return undefined\r\n}\r\nexport const getStoneSessionId = () => {\r\n const st_session_id = localStorage.getItem('st_session_id')\r\n if (st_session_id && st_session_id != '') {\r\n return st_session_id\r\n }\r\n return undefined\r\n}\r\nexport const getStoneClientId = () => {\r\n const st_client_id = localStorage.getItem('st_client_id')\r\n if (st_client_id && st_client_id != '') {\r\n return st_client_id\r\n }\r\n return undefined\r\n}\r\nexport const getGoogleAnalyticsClientId = () => {\r\n const _ga = String(getCookie('_ga'))\r\n if (_ga && _ga != '') {\r\n return _ga\r\n } else {\r\n const _ga_local = localStorage.getItem('_ga')\r\n if (_ga_local && _ga_local != '') {\r\n return _ga_local\r\n }\r\n }\r\n return undefined\r\n}\r\nexport const getYandexMetrikaClientId = () => {\r\n const _ym_uid = String(getCookie('_ym_uid'))\r\n if (_ym_uid && _ym_uid != '') {\r\n return _ym_uid\r\n } else {\r\n const _ym_uid_local = localStorage.getItem('_ym_uid')\r\n if (_ym_uid_local && _ym_uid_local != '') {\r\n return _ym_uid_local\r\n }\r\n }\r\n return undefined\r\n}","import { useEffect, useState } from 'react'\r\n\r\nexport const useComagicStatus = () => {\r\n const [status, setStatus] = useState({\r\n loadedComagic: false,\r\n errorComagic: false,\r\n })\r\n\r\n useEffect(() => {\r\n if (window.Comagic) {\r\n setStatus({ loadedComagic: true, errorComagic: false })\r\n return\r\n }\r\n\r\n const timer = setInterval(() => {\r\n if (window.Comagic) {\r\n setStatus({ loadedComagic: true, errorComagic: false })\r\n clearInterval(timer)\r\n }\r\n }, 300)\r\n\r\n return () => clearInterval(timer)\r\n }, [])\r\n\r\n return status\r\n}\r\n","/**\r\n * Получает значение cookie по имени\r\n * @param name - Имя cookie\r\n * @returns Значение cookie или null, если не найдено\r\n */\r\nexport const getABCookie = (name: string): string | null => {\r\n // Проверяем доступность document (для SSR/SSG)\r\n if (typeof document === 'undefined') return null;\r\n\r\n // Более читаемый вариант регулярного выражения\r\n const escapedName = name?.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\r\n const regex = new RegExp(`(^|;\\\\s*)${escapedName}=([^;]*)`);\r\n const match = document.cookie.match(regex);\r\n\r\n return match ? decodeURIComponent(match[2]) : null;\r\n};","import { makeAutoObservable } from 'mobx'\r\nimport { getStoneHashClientId } from '../../utils/utils'\r\nimport { getPageDirection } from './utils/pageDirection'\r\nimport { getPageType, TSource } from './utils/pageType'\r\nimport { getProjectName } from './utils/getProjectName'\r\nimport { getLotName } from './utils/getLotName'\r\nimport { setEventPageView, TEventPageView } from './events/eventPageView'\r\nimport { setEventPageViewForce } from './events/eventPageViewForce'\r\nimport { setEventSubmit, TEventSubmit } from './events/eventSubmit'\r\nimport { setEventLotFeedShow, TEventLotFeedShow } from './events/eventLotFeedShow'\r\nimport { setEventClick, TEventClick } from './events/eventClick'\r\nimport { setEventCheck, TEventCheck } from './events/eventCheck'\r\nimport { setEventBlur, TEventBlur } from './events/eventBlur'\r\nimport { setEventFullScreen } from './events/eventFullScreenView'\r\nimport { setEventBannerShow, TEventBannerShow } from './events/eventBannerShow'\r\nimport { setEventBannerClick, TEventBannerClick } from './events/eventBannerClick'\r\n\r\ndeclare global {\r\n\tinterface Window {\r\n\t\tComagic?: any\r\n\t\tStoneDataLayer: any\r\n\t}\r\n}\r\n\r\nexport class StoneDataLayerStore {\r\n\tpageParamsIsLoading: boolean\r\n\tpageParamsWasSet: boolean\r\n\r\n\tym_uid?: string\r\n\tcm_visitor_id?: string\r\n\tfingerprint_id?: string\r\n\tvisible_virtual_pn?: string\r\n\tpage_type?: string\r\n\tpage_direction?: string | null\r\n\tpage_project?: string | null\r\n\tpage_lot?: string | null\r\n\tab_test_name?: string | null\r\n\tab_test_group?: string | null\r\n\r\n\tconstructor() {\r\n\t\tthis.pageParamsIsLoading = false\r\n\t\tthis.pageParamsWasSet = false\r\n\t\tthis.page_type = undefined\r\n\t\tthis.page_direction = undefined\r\n\t\tthis.page_project = undefined\r\n\t\tthis.page_lot = undefined\r\n\r\n\t\tmakeAutoObservable(this)\r\n\t}\r\n\r\n\tinitializeUserId() {\r\n\t\tif (typeof window === 'undefined') return null\r\n\t\treturn localStorage.getItem('user_reg_id')\r\n\t}\r\n\r\n\tinitializeUserAuth() {\r\n\t\tif (typeof window === 'undefined') return false\r\n\r\n\t\ttry {\r\n\t\t\tconst authStore = localStorage.getItem('auth_store')\r\n\t\t\tif (!authStore) return false\r\n\r\n\t\t\tconst parsed = JSON.parse(authStore)\r\n\t\t\treturn parsed?.isLoggedIn ?? false\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Failed to parse auth_store from localStorage:', error)\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\r\n\tpushLayer(tagManagerArgs: any) {\r\n\t\tif (typeof window !== 'undefined') {\r\n\t\t\tconst StoneDataLayer = window.StoneDataLayer || []\r\n\t\t\tStoneDataLayer.push(tagManagerArgs)\r\n\t\t}\r\n\t}\r\n\r\n\tsetPageParams({ pathname, source, href }: { pathname: string; source: TSource; href?: string }) {\r\n\t\tthis.pageParamsIsLoading = true\r\n\t\tthis.page_direction = getPageDirection(pathname, href)\r\n\t\tthis.page_type = getPageType(pathname, source, href)\r\n\t\tthis.page_project = getProjectName(pathname, href)\r\n\t\tthis.page_lot = getLotName(pathname)\r\n\t\tthis.ab_test_name = 'abgroup'\r\n\t\tthis.ab_test_group = process.env.NEXT_PUBLIC_AB_TEST_GROUP\r\n\r\n\t\tthis.pageParamsIsLoading = false\r\n\t\tthis.pageParamsWasSet = true\r\n\t}\r\n\r\n\tasync setFingerPrint() {\r\n\t\tthis.fingerprint_id = (await getStoneHashClientId()) ?? null\r\n\t}\r\n\r\n\tasync setEventPageView(props?: Omit<TEventPageView, 'store'>) {\r\n\t\tawait setEventPageView({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventPageViewForce() {\r\n\t\t//тестовая отправка, метод дергал без ожиданий вообще чисто для теста Антона\r\n\t\tawait setEventPageViewForce({ store: this })\r\n\t}\r\n\r\n\tasync setEventSubmit(props: Omit<TEventSubmit, 'store'>) {\r\n\t\tawait setEventSubmit({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventLotFeedShow(props: Omit<TEventLotFeedShow, 'store'>) {\r\n\t\tawait setEventLotFeedShow({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventClick(props: Omit<TEventClick, 'store'>) {\r\n\t\tawait setEventClick({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventCheck(props: Omit<TEventCheck, 'store'>) {\r\n\t\tawait setEventCheck({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventBlur(props: Omit<TEventBlur, 'store'>) {\r\n\t\tawait setEventBlur({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventFullScreen() {\r\n\t\tawait setEventFullScreen({ store: this })\r\n\t}\r\n\r\n\tasync setEventBannerShow(props: Omit<TEventBannerShow, 'store'>) {\r\n\t\tawait setEventBannerShow({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventBannerClick(props: Omit<TEventBannerClick, 'store'>) {\r\n\t\tawait setEventBannerClick({ store: this, ...props })\r\n\t}\r\n}\r\n\r\nexport const stoneDataLayerStore = new StoneDataLayerStore()\r\n","export type TPageDirection = 'apartments' | 'offices' | 'retail' | 'investments' | null\r\n\r\nconst pathDirection = {\r\n commercial: 'offices',\r\n residential: 'apartments',\r\n retail: 'retail',\r\n offices: 'offices',\r\n investments: 'investments',\r\n} as const\r\n\r\nconst specialCondition = {\r\n 'stone.moscow': 'apartments',\r\n 'stone-sokolniki': 'apartments',\r\n 'sokolniki-stone': 'apartments',\r\n 'stone-rise': 'apartments',\r\n 'stone-hod': 'offices'\r\n}\r\n\r\nexport const getPageDirection = (pathname: string, href?: string): TPageDirection => {\r\n let specialResult = null\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n if (specialResult) return specialResult\r\n }\r\n\r\n\r\n //хардкод ритейла т.к по сути он офисный проект\r\n switch (pathname) {\r\n case '/commercial/sokolniki-retail':\r\n return 'retail'\r\n case '/commercial/mnevniki-retail':\r\n return 'retail'\r\n }\r\n\r\n const key = Object.keys(pathDirection).filter((el) => pathname.includes(el))[0]\r\n const value = pathDirection[key as keyof typeof pathDirection]\r\n if (value) return value\r\n else return null\r\n}\r\n","//регулярка для проектов по pathname\r\nconst reg_com_project = /^\\/commercial\\/([^/]+)$/\r\nconst reg_res_project = /^\\/residential\\/([^/]+)$/\r\nconst reg_retail_project = /^\\/retail\\/([^/]+)$/\r\nconst reg_offices_project = /^\\/offices\\/([^/]+)$/\r\n\r\n//регулярка для лотов по pathname\r\nconst reg_com_lot = /^\\/catalog\\/commercial\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_res_lot = /^\\/catalog\\/residential\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_retail_lot = /^\\/catalog\\/retail\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_offices_lot = /^\\/catalog\\/offices\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\n\r\nexport {\r\n reg_com_lot,\r\n reg_res_lot,\r\n reg_retail_lot,\r\n reg_offices_lot,\r\n reg_com_project,\r\n reg_res_project,\r\n reg_retail_project,\r\n reg_offices_project,\r\n}\r\n","import {\r\n reg_com_lot,\r\n reg_com_project,\r\n reg_res_lot,\r\n reg_res_project,\r\n reg_retail_lot,\r\n reg_retail_project,\r\n reg_offices_lot,\r\n reg_offices_project,\r\n} from './regs'\r\n\r\nexport type TSource = 'stone' | 'sokolniki' | 'stone-hod' | 'stonehod'\r\n\r\nexport const staticPageViewType = {\r\n '/': 'main',\r\n '/loyalty': 'loyalty',\r\n '/residential': 'category_page',\r\n '/residential/standards': 'standards',\r\n '/commercial': 'category_page',\r\n '/commercial/standards': 'standards',\r\n '/retail': 'category_page',\r\n '/rent': 'rent',\r\n '/service': 'services',\r\n '/favorites': 'favorites',\r\n '/presscenter': 'press_center',\r\n '/purchaseterms': 'terms_of_purchase',\r\n '/purchaseterms/residential': 'terms_of_purchase',\r\n '/contacts': 'contacts',\r\n '/documents': 'documents',\r\n '/documents/docs': 'documents',\r\n '/documents/soglasie-na-rassylki': 'documents',\r\n '/documents/politika-konfidenczialnosti': 'documents',\r\n '/documents/usloviya-loyalty': 'documents',\r\n '/investments': 'investments',\r\n '/about': 'about_company',\r\n '/catalog/commercial': 'lot_catalog',\r\n '/catalog/residential': 'lot_catalog',\r\n '/catalog/retail': 'lot_catalog',\r\n '/catalog/offices': 'lot_catalog',\r\n} as const\r\n\r\nexport const sokolnikiPageViewType = {\r\n '/': 'project_card',\r\n '/policy': 'project_card'\r\n}\r\n\r\nexport const stoneHodPageViewType = {\r\n '/': 'stoneHod_main',\r\n '/policy': 'stoneHod_policy'\r\n}\r\n\r\nconst specialCondition = {\r\n 'stone.moscow': 'category_page',\r\n 'stone-sokolniki': 'project_card',\r\n 'sokolniki-stone': 'project_card',\r\n 'stone-rise': 'project_card',\r\n 'stone-hod': 'category_page'\r\n}\r\n\r\nexport type TPageType = keyof typeof staticPageViewType\r\n\r\nexport const getPageType = (pathname: string, source = 'stone' as TSource, href?: string) => {\r\n let specialResult = null\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n if (specialResult) return specialResult\r\n }\r\n\r\n if (pathname) {\r\n switch (source) {\r\n case \"stone\": {\r\n const isOnStaticPage = Object.keys(staticPageViewType).includes(pathname)\r\n //для статических страниц\r\n if (isOnStaticPage) return staticPageViewType[pathname as keyof typeof staticPageViewType]\r\n //для динамической страницы проекта\r\n else if (\r\n reg_com_project.test(pathname) ||\r\n reg_res_project.test(pathname) ||\r\n reg_retail_project.test(pathname) ||\r\n reg_offices_project.test(pathname)\r\n ) {\r\n return 'project_card'\r\n }\r\n else if (\r\n reg_com_lot.test(pathname) ||\r\n reg_res_lot.test(pathname) ||\r\n reg_retail_lot.test(pathname) ||\r\n reg_offices_lot.test(pathname)\r\n ) {\r\n return 'lot_card'\r\n }\r\n return null\r\n }\r\n\r\n case \"sokolniki\" : {\r\n return sokolnikiPageViewType[pathname as keyof typeof sokolnikiPageViewType]\r\n }\r\n\r\n case \"stone-hod\": {\r\n return stoneHodPageViewType[pathname as keyof typeof stoneHodPageViewType]\r\n }\r\n\r\n default:\r\n return null\r\n }\r\n }\r\n\r\n return 'other'\r\n}\r\n","import {\r\n reg_com_lot,\r\n reg_res_lot,\r\n reg_retail_lot,\r\n reg_offices_lot,\r\n reg_com_project,\r\n reg_res_project,\r\n reg_retail_project,\r\n reg_offices_project,\r\n} from './regs'\r\n\r\nconst specialCondition = {\r\n 'stone-sokolniki': 'sokolniki',\r\n 'sokolniki-stone': 'sokolniki',\r\n 'stone-rise': 'rise',\r\n 'stone-hod': 'hodinka',\r\n}\r\n\r\nexport const getProjectName = (pathname: string, href?: string) => {\r\n let specialResult = null\r\n\r\n const comMatch = pathname.match(reg_com_project)\r\n const resMatch = pathname.match(reg_res_project)\r\n const retailProjectMatch = pathname.match(reg_retail_project)\r\n const officesProjectMatch = pathname.match(reg_offices_project)\r\n\r\n const comLotMatch = pathname.match(reg_com_lot)\r\n const resLotMatch = pathname.match(reg_res_lot)\r\n const retailLotMatch = pathname.match(reg_retail_lot)\r\n const officesLotMatch = pathname.match(reg_offices_lot)\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n }\r\n\r\n if (specialResult) return specialResult\r\n\r\n if (comLotMatch) return comLotMatch[1]\r\n if (resLotMatch) return resLotMatch[1]\r\n if (retailLotMatch) return retailLotMatch[1]\r\n if (officesLotMatch) return officesLotMatch[1]\r\n if (comMatch) return comMatch[1]\r\n if (resMatch) return resMatch[1]\r\n if (retailProjectMatch) return retailProjectMatch[1]\r\n if (officesProjectMatch) return officesProjectMatch[1]\r\n return null\r\n}\r\n","const reg_com_lot_last = /^\\/catalog\\/commercial\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_res_lot_last = /^\\/catalog\\/residential\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_retail_lot_last = /^\\/catalog\\/retail\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_offices_lot_last = /^\\/catalog\\/offices\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\n\r\nexport const getLotName = (pathname: string) => {\r\n const comMatch = pathname.match(reg_com_lot_last)\r\n const resMatch = pathname.match(reg_res_lot_last)\r\n const retailMatch = pathname.match(reg_retail_lot_last)\r\n const officesMatch = pathname.match(reg_offices_lot_last)\r\n\r\n if (comMatch) return comMatch[1]\r\n if (resMatch) return resMatch[1]\r\n if (retailMatch) return retailMatch[1]\r\n if (officesMatch) return officesMatch[1]\r\n return null\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\n\r\nexport const getDefaultAnalyticsData = (store: StoneDataLayerStore) => ({\r\n\tym_uid: store.ym_uid ?? null,\r\n\tcm_visitor_id: store.cm_visitor_id ?? null,\r\n\tfingerprint_id: store?.fingerprint_id ?? null,\r\n\tvisible_virtual_pn: store?.visible_virtual_pn ?? null,\r\n\tpage_type: store.page_type,\r\n\tpage_direction: store.page_direction,\r\n\tpage_project: store.page_project,\r\n\tpage_lot: store.page_lot,\r\n\tab_test_name: store.ab_test_name,\r\n\tab_test_group: store.ab_test_group,\r\n\tuser_id: store.initializeUserId() ?? null,\r\n\tauth: store.initializeUserAuth() ?? false,\r\n})\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\n\r\nexport type TEventPageView = {\r\n store: StoneDataLayerStore\r\n user_id?: string | null\r\n auth?: boolean\r\n projectName?: string\r\n lotName?: string\r\n}\r\n\r\nexport const setEventPageView = async ({store}: TEventPageView) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'pageview',\r\n }\r\n\r\n const dataForPush = {...defaultData}\r\n delete dataForPush.ym_uid\r\n\r\n store.pushLayer({...dataForPush, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\n\r\nexport type TEventPageView = {\r\n store: StoneDataLayerStore\r\n projectName?: string\r\n lotName?: string\r\n}\r\n\r\nexport const setEventPageViewForce = async ({ store }: TEventPageView) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'pageview_force',\r\n }\r\n\r\n store.pushLayer({ ...defaultData, ...additionalFields })\r\n } catch (e) {\r\n console.log('error',e)\r\n }\r\n}\r\n","import {md5} from \"js-md5\";\r\n\r\nexport const getVisibleVirtualPn = () => {\r\n const virtual_pn = document.getElementById('header_phone')?.getAttribute(\"href\")?.replace(/\\D/g, \"\");\r\n return typeof virtual_pn === 'string' ? md5(virtual_pn) : undefined\r\n}","export const getYmUid = (id: number) => {\r\n if (typeof window !== 'undefined' && typeof ym !== 'undefined') {\r\n let ymUid\r\n ym(id, 'getClientID', function (clientID) {\r\n ymUid = clientID\r\n })\r\n return ymUid ?? null\r\n }\r\n}\r\n","declare const Comagic: any\r\n\r\nconst getComagicVisitorId = () => {\r\n if (typeof Comagic !== 'undefined') {\r\n return Comagic && Comagic.getVisitorId()\r\n }\r\n else return null\r\n}\r\n\r\nconst getComagicSessionId = () => {\r\n if (typeof Comagic !== 'undefined') {\r\n return Comagic && Comagic.getSessionId()\r\n }\r\n else return null\r\n}\r\n\r\nexport { getComagicSessionId, getComagicVisitorId }\r\n","import {getYmUid} from \"./getYmUid\";\r\nimport {getComagicVisitorId} from \"./getComagicId\";\r\n\r\nexport const setAnalyticId = (defaultData: any)=> {\r\n defaultData.ym_uid = getYmUid(95057596)\r\n defaultData.cm_visitor_id = getComagicVisitorId()\r\n}","import { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventSubmit = {\r\n\tstore: StoneDataLayerStore\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tlead_id?: string\r\n\tsubmitted_lot?: string\r\n\tsubmitted_lot_project?: string\r\n}\r\n\r\nexport const setEventSubmit = async ({\r\n\tstore,\r\n\tlead_id,\r\n\tblock_name,\r\n\tauth,\r\n\tsubmitted_lot,\r\n\tsubmitted_lot_project,\r\n}: TEventSubmit) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'submit',\r\n\t\t\tlead_id: String(lead_id),\r\n\t\t\tblock_name,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\tsubmitted_lot: submitted_lot ?? null,\r\n\t\t\tsubmitted_lot_project: submitted_lot_project ?? null,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\nimport {getVisibleVirtualPn} from \"../../../utils/getVisibleVirtualPn\";\r\nimport {setAnalyticId} from \"../utils/setAnalyticId\";\r\n\r\nexport type TEventLotFeedShow = {\r\n store: StoneDataLayerStore\r\n pathname?: string\r\n block_name?: string\r\n list_of_lots: TAnalyticFeedLot[]\r\n}\r\n\r\nexport type TAnalyticFeedLot = {\r\n position: number | null\r\n lot: string | null\r\n lot_project: string | null\r\n}\r\n\r\nexport const setEventLotFeedShow = async ({\r\n store,\r\n block_name,\r\n list_of_lots,\r\n }: TEventLotFeedShow) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'lot_feed_show',\r\n block_name,\r\n list_of_lots,\r\n }\r\n\r\n const dataForPush = {...defaultData}\r\n setAnalyticId(defaultData)\r\n\r\n delete dataForPush.ym_uid\r\n delete dataForPush.cm_visitor_id\r\n\r\n defaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n store.pushLayer({...defaultData, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import {StoneDataLayerStore} from '../StoneDataLayerStore'\r\nimport {getDefaultAnalyticsData} from '../utils/getDefaultAnalyticsData'\r\nimport {getVisibleVirtualPn} from '../../../utils/getVisibleVirtualPn'\r\nimport {setAnalyticId} from '../utils/setAnalyticId'\r\n\r\nexport type TEventClick = {\r\n store: StoneDataLayerStore\r\n pathname?: string\r\n block_name?: string\r\n auth?: boolean\r\n clicked_url?: string\r\n action_element?: string | null\r\n action_element_text?: string | null\r\n action_element_status?: 'error' | 'success'\r\n clicked_lot?: string\r\n clicked_lot_project?: string\r\n clicked_lot_position?: string\r\n banner_position?: number\r\n}\r\n\r\nexport const setEventClick = async ({\r\n store,\r\n action_element,\r\n action_element_text,\r\n block_name,\r\n clicked_url,\r\n auth,\r\n clicked_lot,\r\n clicked_lot_project,\r\n clicked_lot_position,\r\n action_element_status,\r\n banner_position\r\n }: TEventClick) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields: Omit<TEventClick, 'store'> & { event: string } = {\r\n event: 'click',\r\n action_element,\r\n action_element_text: action_element_text ?? null,\r\n block_name,\r\n auth: auth ?? null,\r\n clicked_url,\r\n clicked_lot: clicked_lot ?? null,\r\n clicked_lot_project: clicked_lot_project ?? null,\r\n clicked_lot_position: clicked_lot_position ?? null,\r\n }\r\n if (banner_position) additionalFields.banner_position = banner_position\r\n if (action_element_status) additionalFields.action_element_status = action_element_status\r\n\r\n defaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n setAnalyticId(defaultData)\r\n\r\n store.pushLayer({...defaultData, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventCheck = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\taction_element: string\r\n\taction_element_text: string\r\n}\r\n\r\nexport const setEventCheck = async ({\r\n\tstore,\r\n\taction_element,\r\n\tauth,\r\n\taction_element_text,\r\n\tblock_name,\r\n}: TEventCheck) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'check',\r\n\t\t\taction_element,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\taction_element_text: action_element_text ?? null,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBlur = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tauth?: boolean\r\n\tblock_name?: string\r\n\taction_element: string\r\n\taction_element_status: 'error' | 'success'\r\n}\r\n\r\nexport const setEventBlur = async ({\r\n\tstore,\r\n\taction_element,\r\n\tblock_name,\r\n\tauth,\r\n\taction_element_status,\r\n}: TEventBlur) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'blur',\r\n\t\t\taction_element,\r\n\t\t\taction_element_status,\r\n\t\t\tblock_name,\r\n\t\t\tauth: auth ?? null,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventPageView = {\r\n\tstore: StoneDataLayerStore\r\n\tprojectName?: string\r\n\tauth?: boolean\r\n\tlotName?: string\r\n}\r\n\r\nexport const setEventFullScreen = async ({ store }: TEventPageView) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'fullscreenview',\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBannerShow = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tbanner_text: string\r\n\tbanner_link: string\r\n\tbanner_position?: number\r\n}\r\n\r\nexport const setEventBannerShow = async ({\r\n\t\t\t\t\t\t\t\t\t\t\t store,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_text,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_link,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_position,\r\n\t\t\t\t\t\t\t\t\t\t\t auth,\r\n\t\t\t\t\t\t\t\t\t\t\t block_name,\r\n\t\t\t\t\t\t\t\t\t\t }: TEventBannerShow) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'banner_show',\r\n\t\t\tbanner_text : banner_text ?? null,\r\n\t\t\tbanner_link : banner_link ?? null,\r\n\t\t\tbanner_position : banner_position ?? null,\r\n\t\t\tauth : auth ?? null,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBannerClick = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tclicked_url?: string\r\n\tbanner_text: string\r\n\tbanner_link: string\r\n}\r\n\r\nexport const setEventBannerClick = async ({\r\n\tstore,\r\n\tbanner_text,\r\n\tbanner_link,\r\n\tauth,\r\n\tclicked_url,\r\n\tblock_name,\r\n}: TEventBannerClick) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'banner_click',\r\n\t\t\tbanner_text,\r\n\t\t\tbanner_link,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\tclicked_url,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n"],"mappings":"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","names":["index_exports","__export","StoneDataLayerStore","checkTimeStamp","getABCookie","getGoogleAnalyticsClientId","getLotName","getPageDirection","getPageType","getProjectName","getStoneClientId","getStoneHashClientId","getStoneSessionId","getYandexMetrikaClientId","setClientId","setSessionId","sokolnikiPageViewType","staticPageViewType","stoneDataLayerStore","stoneHodPageViewType","useComagicStatus","useInitializeMetrics","__toCommonJS","makeTimeBasedUID","isLocalStorage","checkTimeStamp","clientId","unixTimestamp","ISOSDate","ISOSDateNow","setSessionId","newId","makeTimeBasedUID","setClientId","import_react","useInitializeMetrics","isLocalStorage","isClientId","isSessionId","isYearPast","checkTimeStamp","setClientId","setSessionId","tabCountStorage","tabCount","handleBeforeUnload","scrollTop","scrollHeight","scrollPercent","inactivityTimer","resetInactivityTimer","events","event","import_fingerprintjs","import_cookies_next","getStoneHashClientId","st_client_hash_id","FingerprintJS","fp","result","getStoneSessionId","st_session_id","getStoneClientId","st_client_id","getGoogleAnalyticsClientId","_ga","_ga_local","getYandexMetrikaClientId","_ym_uid","_ym_uid_local","import_react","useComagicStatus","status","setStatus","timer","getABCookie","name","escapedName","regex","match","import_mobx","pathDirection","specialCondition","getPageDirection","pathname","href","specialResult","el","key","value","reg_com_project","reg_res_project","reg_retail_project","reg_offices_project","reg_com_lot","reg_res_lot","reg_retail_lot","reg_offices_lot","staticPageViewType","sokolnikiPageViewType","stoneHodPageViewType","specialCondition","getPageType","pathname","source","href","specialResult","el","reg_com_project","reg_res_project","reg_retail_project","reg_offices_project","reg_com_lot","reg_res_lot","reg_retail_lot","reg_offices_lot","specialCondition","getProjectName","pathname","href","specialResult","comMatch","reg_com_project","resMatch","reg_res_project","retailProjectMatch","reg_retail_project","officesProjectMatch","reg_offices_project","comLotMatch","reg_com_lot","resLotMatch","reg_res_lot","retailLotMatch","reg_retail_lot","officesLotMatch","reg_offices_lot","el","reg_com_lot_last","reg_res_lot_last","reg_retail_lot_last","reg_offices_lot_last","getLotName","pathname","comMatch","resMatch","retailMatch","officesMatch","getDefaultAnalyticsData","store","setEventPageView","store","defaultData","getDefaultAnalyticsData","additionalFields","dataForPush","setEventPageViewForce","store","defaultData","getDefaultAnalyticsData","additionalFields","import_js_md5","getVisibleVirtualPn","_a","_b","virtual_pn","getYmUid","id","ymUid","clientID","getComagicVisitorId","setAnalyticId","defaultData","getYmUid","getComagicVisitorId","setEventSubmit","store","lead_id","block_name","auth","submitted_lot","submitted_lot_project","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventLotFeedShow","store","block_name","list_of_lots","defaultData","getDefaultAnalyticsData","additionalFields","dataForPush","setAnalyticId","getVisibleVirtualPn","e","setEventClick","store","action_element","action_element_text","block_name","clicked_url","auth","clicked_lot","clicked_lot_project","clicked_lot_position","action_element_status","banner_position","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventCheck","store","action_element","auth","action_element_text","block_name","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventBlur","store","action_element","block_name","auth","action_element_status","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventFullScreen","store","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","setEventBannerShow","store","banner_text","banner_link","banner_position","auth","block_name","defaultData","getDefaultAnalyticsData","additionalFields","setAnalyticId","e","setEventBannerClick","store","banner_text","banner_link","auth","clicked_url","block_name","defaultData","getDefaultAnalyticsData","additionalFields","setAnalyticId","e","StoneDataLayerStore","authStore","parsed","error","tagManagerArgs","pathname","source","href","getPageDirection","getPageType","getProjectName","getLotName","getStoneHashClientId","props","setEventPageView","setEventPageViewForce","setEventSubmit","setEventLotFeedShow","setEventClick","setEventCheck","setEventBlur","setEventFullScreen","setEventBannerShow","setEventBannerClick","stoneDataLayerStore"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/utils/makeUID.ts","../src/utils/sessionClientId.ts","../src/hooks/useInitializeMetrics.ts","../src/utils/utils.ts","../src/utils/useComagicStatus.ts","../src/utils/getABCookie.ts","../src/store/StoneDataLayerStore/StoneDataLayerStore.ts","../src/store/StoneDataLayerStore/utils/pageDirection.ts","../src/store/StoneDataLayerStore/utils/regs.ts","../src/store/StoneDataLayerStore/utils/pageType.ts","../src/store/StoneDataLayerStore/utils/getProjectName.ts","../src/store/StoneDataLayerStore/utils/getLotName.ts","../src/store/StoneDataLayerStore/utils/getDefaultAnalyticsData.ts","../src/store/StoneDataLayerStore/events/eventPageView.ts","../src/store/StoneDataLayerStore/events/eventPageViewForce.ts","../src/utils/getVisibleVirtualPn.ts","../src/store/StoneDataLayerStore/utils/getYmUid.ts","../src/store/StoneDataLayerStore/utils/getComagicId.ts","../src/store/StoneDataLayerStore/utils/setAnalyticId.ts","../src/store/StoneDataLayerStore/events/eventSubmit.ts","../src/store/StoneDataLayerStore/events/eventLotFeedShow.ts","../src/store/StoneDataLayerStore/events/eventClick.ts","../src/store/StoneDataLayerStore/events/eventCheck.ts","../src/store/StoneDataLayerStore/events/eventBlur.ts","../src/store/StoneDataLayerStore/events/eventFullScreenView.ts","../src/store/StoneDataLayerStore/events/eventBannerShow.ts","../src/store/StoneDataLayerStore/events/eventBannerClick.ts"],"sourcesContent":["export * from './utils/sessionClientId'\r\nexport * from './hooks/useInitializeMetrics'\r\nexport * from './utils/utils'\r\nexport * from './utils/useComagicStatus'\r\nexport * from './utils/getABCookie'\r\n\r\nexport * from './store/StoneDataLayerStore/stoneDataLayer'\r\nexport * from './store/StoneDataLayerStore/StoneDataLayerStore'\r\nexport * from './store/StoneDataLayerStore/utils/pageDirection'\r\nexport * from './store/StoneDataLayerStore/utils/pageType'\r\nexport * from './store/StoneDataLayerStore/utils/getProjectName'\r\nexport * from './store/StoneDataLayerStore/utils/getLotName'\r\n","export const makeTimeBasedUID = (): string => {\r\n\treturn (\r\n\t\tString(Date.now()) + String(Math.floor(Math.random() * (999999999 - 100000000 + 1)) + 100000000)\r\n\t)\r\n}","import {makeTimeBasedUID} from './makeUID'\r\n\r\nconst isLocalStorage = typeof localStorage !== 'undefined'\r\n\r\nconst checkTimeStamp = (clientId: string | null) => {\r\n if (!clientId) return false\r\n\r\n const unixTimestamp = Number(clientId.slice(0, 10))\r\n const ISOSDate = new Date(unixTimestamp * 1000)\r\n const ISOSDateNow = new Date(new Date().toISOString())\r\n\r\n return (\r\n ISOSDateNow.getFullYear() > ISOSDate.getFullYear() &&\r\n ISOSDateNow.getMonth() >= ISOSDate.getMonth() &&\r\n ISOSDateNow.getDate() >= ISOSDate.getDate()\r\n )\r\n}\r\n\r\nconst setSessionId = () => {\r\n const newId = makeTimeBasedUID()\r\n if (isLocalStorage) localStorage.setItem('st_session_id', newId)\r\n}\r\n\r\nconst setClientId = () => {\r\n const newId = makeTimeBasedUID()\r\n if (isLocalStorage) localStorage.setItem('st_client_id', newId)\r\n}\r\n\r\nexport {setClientId, setSessionId, checkTimeStamp}","import { checkTimeStamp, setClientId, setSessionId } from '../utils/sessionClientId'\r\nimport { useEffect } from 'react'\r\n\r\nexport const useInitializeMetrics = () => {\r\n\tconst isLocalStorage = typeof localStorage !== 'undefined'\r\n\r\n\tconst isClientId = Boolean(isLocalStorage ? localStorage.getItem('st_client_id') : null)\r\n\tconst isSessionId = Boolean(isLocalStorage ? localStorage.getItem('st_session_id') : null)\r\n\tconst isYearPast = checkTimeStamp(isLocalStorage ? localStorage.getItem('st_client_id') : null)\r\n\r\n\tif (!isClientId || isYearPast) setClientId()\r\n\r\n\tif (!isSessionId) {\r\n\t\tsetSessionId()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst tabCountStorage = localStorage.getItem('tabCount')\r\n\r\n\t\t// При открытии вкладки\r\n\t\tlet tabCount = tabCountStorage ? parseInt(tabCountStorage) : 0\r\n\t\tif (tabCount < 0) {\r\n\t\t\tlocalStorage.setItem('tabCount', String(0))\r\n\t\t\ttabCount = 0\r\n\t\t}\r\n\r\n\t\ttabCount++\r\n\t\tif (tabCount) localStorage.setItem('tabCount', String(tabCount))\r\n\r\n\t\t// Обработчик для закрытия вкладки\r\n\t\tconst handleBeforeUnload = () => {\r\n\t\t\tconst tabCountStorage = localStorage.getItem('tabCount')\r\n\t\t\tif (tabCountStorage && typeof window !== 'undefined') {\r\n\t\t\t\tconst tabCount = String(Number(tabCountStorage) - 1)\r\n\t\t\t\tconst scrollTop = window.scrollY\r\n\t\t\t\tconst scrollHeight =\r\n\t\t\t\t\tdocument.documentElement.scrollHeight - document.documentElement.clientHeight\r\n\t\t\t\tconst scrollPercent = (scrollTop / scrollHeight) * 100\r\n\r\n\t\t\t\tif (tabCount === '0') {\r\n\t\t\t\t\tlocalStorage.setItem('st_session_id', '')\r\n\t\t\t\t}\r\n\t\t\t\tlocalStorage.setItem('tabCount', tabCount)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('beforeunload', handleBeforeUnload)\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('beforeunload', handleBeforeUnload)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet inactivityTimer: NodeJS.Timeout\r\n\r\n\t\tconst resetInactivityTimer = () => {\r\n\t\t\tclearTimeout(inactivityTimer)\r\n\t\t\t// 30 минут\r\n\t\t\tinactivityTimer = setTimeout(() => {\r\n\t\t\t\tlocalStorage.setItem('st_session_id', '')\r\n\t\t\t}, 30 * 60 * 1000)\r\n\t\t}\r\n\r\n\t\tconst events = ['mousemove', 'click', 'touchstart', 'scroll', 'keydown']\r\n\t\tevents.forEach((event) => {\r\n\t\t\twindow.addEventListener(event, resetInactivityTimer)\r\n\t\t})\r\n\r\n\t\t// Запускаем таймер при монтировании компонента\r\n\t\tresetInactivityTimer()\r\n\t\treturn () => {\r\n\t\t\tevents.forEach((event) => {\r\n\t\t\t\twindow.removeEventListener(event, resetInactivityTimer)\r\n\t\t\t})\r\n\t\t\tclearTimeout(inactivityTimer)\r\n\t\t}\r\n\t}, [])\r\n\r\n\treturn {}\r\n}\r\n","import FingerprintJS from '@fingerprintjs/fingerprintjs'\r\nimport {getCookie} from \"cookies-next\";\r\n\r\nexport const getStoneHashClientId = async () => {\r\n let st_client_hash_id\r\n try {\r\n const fpPromise = FingerprintJS.load()\r\n await fpPromise\r\n .then((fp) => fp.get())\r\n .then((result) => {\r\n st_client_hash_id = result.visitorId\r\n })\r\n return st_client_hash_id\r\n } catch (e) {\r\n console.log('error fingerprintJS' + e)\r\n }\r\n return undefined\r\n}\r\nexport const getStoneSessionId = () => {\r\n const st_session_id = localStorage.getItem('st_session_id')\r\n if (st_session_id && st_session_id != '') {\r\n return st_session_id\r\n }\r\n return undefined\r\n}\r\nexport const getStoneClientId = () => {\r\n const st_client_id = localStorage.getItem('st_client_id')\r\n if (st_client_id && st_client_id != '') {\r\n return st_client_id\r\n }\r\n return undefined\r\n}\r\nexport const getGoogleAnalyticsClientId = () => {\r\n const _ga = String(getCookie('_ga'))\r\n if (_ga && _ga != '') {\r\n return _ga\r\n } else {\r\n const _ga_local = localStorage.getItem('_ga')\r\n if (_ga_local && _ga_local != '') {\r\n return _ga_local\r\n }\r\n }\r\n return undefined\r\n}\r\nexport const getYandexMetrikaClientId = () => {\r\n const _ym_uid = String(getCookie('_ym_uid'))\r\n if (_ym_uid && _ym_uid != '') {\r\n return _ym_uid\r\n } else {\r\n const _ym_uid_local = localStorage.getItem('_ym_uid')\r\n if (_ym_uid_local && _ym_uid_local != '') {\r\n return _ym_uid_local\r\n }\r\n }\r\n return undefined\r\n}","import { useEffect, useState } from 'react'\r\n\r\nexport const useComagicStatus = () => {\r\n const [status, setStatus] = useState({\r\n loadedComagic: false,\r\n errorComagic: false,\r\n })\r\n\r\n useEffect(() => {\r\n if (window.Comagic) {\r\n setStatus({ loadedComagic: true, errorComagic: false })\r\n return\r\n }\r\n\r\n const timer = setInterval(() => {\r\n if (window.Comagic) {\r\n setStatus({ loadedComagic: true, errorComagic: false })\r\n clearInterval(timer)\r\n }\r\n }, 300)\r\n\r\n return () => clearInterval(timer)\r\n }, [])\r\n\r\n return status\r\n}\r\n","/**\r\n * Получает значение cookie по имени\r\n * @param name - Имя cookie\r\n * @returns Значение cookie или null, если не найдено\r\n */\r\nexport const getABCookie = (name: string): string | null => {\r\n // Проверяем доступность document (для SSR/SSG)\r\n if (typeof document === 'undefined') return null;\r\n\r\n // Более читаемый вариант регулярного выражения\r\n const escapedName = name?.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\r\n const regex = new RegExp(`(^|;\\\\s*)${escapedName}=([^;]*)`);\r\n const match = document.cookie.match(regex);\r\n\r\n return match ? decodeURIComponent(match[2]) : null;\r\n};","import { makeAutoObservable } from 'mobx'\r\nimport { getStoneHashClientId } from '../../utils/utils'\r\nimport { getPageDirection } from './utils/pageDirection'\r\nimport { getPageType, TSource } from './utils/pageType'\r\nimport { getProjectName } from './utils/getProjectName'\r\nimport { getLotName } from './utils/getLotName'\r\nimport { setEventPageView, TEventPageView } from './events/eventPageView'\r\nimport { setEventPageViewForce } from './events/eventPageViewForce'\r\nimport { setEventSubmit, TEventSubmit } from './events/eventSubmit'\r\nimport { setEventLotFeedShow, TEventLotFeedShow } from './events/eventLotFeedShow'\r\nimport { setEventClick, TEventClick } from './events/eventClick'\r\nimport { setEventCheck, TEventCheck } from './events/eventCheck'\r\nimport { setEventBlur, TEventBlur } from './events/eventBlur'\r\nimport { setEventFullScreen } from './events/eventFullScreenView'\r\nimport { setEventBannerShow, TEventBannerShow } from './events/eventBannerShow'\r\nimport { setEventBannerClick, TEventBannerClick } from './events/eventBannerClick'\r\n\r\ndeclare global {\r\n\tinterface Window {\r\n\t\tComagic?: any\r\n\t\tStoneDataLayer: any\r\n\t}\r\n}\r\n\r\nexport class StoneDataLayerStore {\r\n\tpageParamsIsLoading: boolean\r\n\tpageParamsWasSet: boolean\r\n\r\n\tym_uid?: string\r\n\tcm_visitor_id?: string\r\n\tfingerprint_id?: string\r\n\tvisible_virtual_pn?: string\r\n\tpage_type?: string\r\n\tpage_direction?: string | null\r\n\tpage_project?: string | null\r\n\tpage_lot?: string | null\r\n\tab_test_name?: string | null\r\n\tab_test_group?: string | null\r\n\r\n\tconstructor() {\r\n\t\tthis.pageParamsIsLoading = false\r\n\t\tthis.pageParamsWasSet = false\r\n\t\tthis.page_type = undefined\r\n\t\tthis.page_direction = undefined\r\n\t\tthis.page_project = undefined\r\n\t\tthis.page_lot = undefined\r\n\r\n\t\tmakeAutoObservable(this)\r\n\t}\r\n\r\n\tinitializeUserId() {\r\n\t\tif (typeof window === 'undefined') return null\r\n\t\treturn localStorage.getItem('user_reg_id')\r\n\t}\r\n\r\n\tinitializeUserAuth() {\r\n\t\tif (typeof window === 'undefined') return false\r\n\r\n\t\ttry {\r\n\t\t\tconst authStore = localStorage.getItem('auth_store')\r\n\t\t\tif (!authStore) return false\r\n\r\n\t\t\tconst parsed = JSON.parse(authStore)\r\n\t\t\treturn parsed?.isLoggedIn ?? false\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Failed to parse auth_store from localStorage:', error)\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\r\n\tpushLayer(tagManagerArgs: any) {\r\n\t\tif (typeof window !== 'undefined') {\r\n\t\t\tconst StoneDataLayer = window.StoneDataLayer || []\r\n\t\t\tStoneDataLayer.push(tagManagerArgs)\r\n\t\t}\r\n\t}\r\n\r\n\tsetPageParams({ pathname, source, href }: { pathname: string; source: TSource; href?: string }) {\r\n\t\tthis.pageParamsIsLoading = true\r\n\t\tthis.page_direction = getPageDirection(pathname, href)\r\n\t\tthis.page_type = getPageType(pathname, source, href)\r\n\t\tthis.page_project = getProjectName(pathname, href)\r\n\t\tthis.page_lot = getLotName(pathname)\r\n\t\tthis.ab_test_name = 'abgroup'\r\n\t\tthis.ab_test_group = process.env.NEXT_PUBLIC_AB_TEST_GROUP\r\n\r\n\t\tthis.pageParamsIsLoading = false\r\n\t\tthis.pageParamsWasSet = true\r\n\t}\r\n\r\n\tasync setFingerPrint() {\r\n\t\tthis.fingerprint_id = (await getStoneHashClientId()) ?? null\r\n\t}\r\n\r\n\tasync setEventPageView(props?: Omit<TEventPageView, 'store'>) {\r\n\t\tawait setEventPageView({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventPageViewForce() {\r\n\t\t//тестовая отправка, метод дергал без ожиданий вообще чисто для теста Антона\r\n\t\tawait setEventPageViewForce({ store: this })\r\n\t}\r\n\r\n\tasync setEventSubmit(props: Omit<TEventSubmit, 'store'>) {\r\n\t\tawait setEventSubmit({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventLotFeedShow(props: Omit<TEventLotFeedShow, 'store'>) {\r\n\t\tawait setEventLotFeedShow({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventClick(props: Omit<TEventClick, 'store'>) {\r\n\t\tawait setEventClick({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventCheck(props: Omit<TEventCheck, 'store'>) {\r\n\t\tawait setEventCheck({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventBlur(props: Omit<TEventBlur, 'store'>) {\r\n\t\tawait setEventBlur({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventFullScreen() {\r\n\t\tawait setEventFullScreen({ store: this })\r\n\t}\r\n\r\n\tasync setEventBannerShow(props: Omit<TEventBannerShow, 'store'>) {\r\n\t\tawait setEventBannerShow({ store: this, ...props })\r\n\t}\r\n\r\n\tasync setEventBannerClick(props: Omit<TEventBannerClick, 'store'>) {\r\n\t\tawait setEventBannerClick({ store: this, ...props })\r\n\t}\r\n}\r\n\r\nexport const stoneDataLayerStore = new StoneDataLayerStore()\r\n","export type TPageDirection = 'apartments' | 'offices' | 'retail' | 'investments' | null\r\n\r\nconst pathDirection = {\r\n commercial: 'offices',\r\n residential: 'apartments',\r\n retail: 'retail',\r\n offices: 'offices',\r\n investments: 'investments',\r\n} as const\r\n\r\nconst specialCondition = {\r\n 'stone.moscow': 'apartments',\r\n 'stone-sokolniki': 'apartments',\r\n 'sokolniki-stone': 'apartments',\r\n 'stone-rise': 'apartments',\r\n 'stone-hod': 'offices'\r\n}\r\n\r\nexport const getPageDirection = (pathname: string, href?: string): TPageDirection => {\r\n let specialResult = null\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n if (specialResult) return specialResult\r\n }\r\n\r\n\r\n //хардкод ритейла т.к по сути он офисный проект\r\n switch (pathname) {\r\n case '/commercial/sokolniki-retail':\r\n return 'retail'\r\n case '/commercial/mnevniki-retail':\r\n return 'retail'\r\n }\r\n\r\n const key = Object.keys(pathDirection).filter((el) => pathname.includes(el))[0]\r\n const value = pathDirection[key as keyof typeof pathDirection]\r\n if (value) return value\r\n else return null\r\n}\r\n","//регулярка для проектов по pathname\r\nconst reg_com_project = /^\\/commercial\\/([^/]+)$/\r\nconst reg_res_project = /^\\/residential\\/([^/]+)$/\r\nconst reg_retail_project = /^\\/retail\\/([^/]+)$/\r\nconst reg_offices_project = /^\\/offices\\/([^/]+)$/\r\n\r\n//регулярка для лотов по pathname\r\nconst reg_com_lot = /^\\/catalog\\/commercial\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_res_lot = /^\\/catalog\\/residential\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_retail_lot = /^\\/catalog\\/retail\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\nconst reg_offices_lot = /^\\/catalog\\/offices\\/([a-z0-9_#-]+)(?:\\/[a-z0-9_#-]+)*$/i\r\n\r\nexport {\r\n reg_com_lot,\r\n reg_res_lot,\r\n reg_retail_lot,\r\n reg_offices_lot,\r\n reg_com_project,\r\n reg_res_project,\r\n reg_retail_project,\r\n reg_offices_project,\r\n}\r\n","import {\r\n reg_com_lot,\r\n reg_com_project,\r\n reg_res_lot,\r\n reg_res_project,\r\n reg_retail_lot,\r\n reg_retail_project,\r\n reg_offices_lot,\r\n reg_offices_project,\r\n} from './regs'\r\n\r\nexport type TSource = 'stone' | 'sokolniki' | 'stone-hod' | 'stonehod'\r\n\r\nexport const staticPageViewType = {\r\n '/': 'main',\r\n '/loyalty': 'loyalty',\r\n '/residential': 'category_page',\r\n '/residential/standards': 'standards',\r\n '/commercial': 'category_page',\r\n '/commercial/standards': 'standards',\r\n '/retail': 'category_page',\r\n '/rent': 'rent',\r\n '/service': 'services',\r\n '/favorites': 'favorites',\r\n '/presscenter': 'press_center',\r\n '/purchaseterms': 'terms_of_purchase',\r\n '/purchaseterms/residential': 'terms_of_purchase',\r\n '/contacts': 'contacts',\r\n '/documents': 'documents',\r\n '/documents/docs': 'documents',\r\n '/documents/soglasie-na-rassylki': 'documents',\r\n '/documents/politika-konfidenczialnosti': 'documents',\r\n '/documents/usloviya-loyalty': 'documents',\r\n '/investments': 'investments',\r\n '/about': 'about_company',\r\n '/catalog/commercial': 'lot_catalog',\r\n '/catalog/residential': 'lot_catalog',\r\n '/catalog/retail': 'lot_catalog',\r\n '/catalog/offices': 'lot_catalog',\r\n} as const\r\n\r\nexport const sokolnikiPageViewType = {\r\n '/': 'project_card',\r\n '/policy': 'project_card'\r\n}\r\n\r\nexport const stoneHodPageViewType = {\r\n '/': 'stoneHod_main',\r\n '/policy': 'stoneHod_policy'\r\n}\r\n\r\nconst specialCondition = {\r\n 'stone.moscow': 'category_page',\r\n 'stone-sokolniki': 'project_card',\r\n 'sokolniki-stone': 'project_card',\r\n 'stone-rise': 'project_card',\r\n 'stone-hod': 'category_page'\r\n}\r\n\r\nexport type TPageType = keyof typeof staticPageViewType\r\n\r\nexport const getPageType = (pathname: string, source = 'stone' as TSource, href?: string) => {\r\n let specialResult = null\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n if (specialResult) return specialResult\r\n }\r\n\r\n if (pathname) {\r\n switch (source) {\r\n case \"stone\": {\r\n const isOnStaticPage = Object.keys(staticPageViewType).includes(pathname)\r\n //для статических страниц\r\n if (isOnStaticPage) return staticPageViewType[pathname as keyof typeof staticPageViewType]\r\n //для динамической страницы проекта\r\n else if (\r\n reg_com_project.test(pathname) ||\r\n reg_res_project.test(pathname) ||\r\n reg_retail_project.test(pathname) ||\r\n reg_offices_project.test(pathname)\r\n ) {\r\n return 'project_card'\r\n }\r\n else if (\r\n reg_com_lot.test(pathname) ||\r\n reg_res_lot.test(pathname) ||\r\n reg_retail_lot.test(pathname) ||\r\n reg_offices_lot.test(pathname)\r\n ) {\r\n return 'lot_card'\r\n }\r\n return null\r\n }\r\n\r\n case \"sokolniki\" : {\r\n return sokolnikiPageViewType[pathname as keyof typeof sokolnikiPageViewType]\r\n }\r\n\r\n case \"stone-hod\": {\r\n return stoneHodPageViewType[pathname as keyof typeof stoneHodPageViewType]\r\n }\r\n\r\n default:\r\n return null\r\n }\r\n }\r\n\r\n return 'other'\r\n}\r\n","import {\r\n reg_com_lot,\r\n reg_res_lot,\r\n reg_retail_lot,\r\n reg_offices_lot,\r\n reg_com_project,\r\n reg_res_project,\r\n reg_retail_project,\r\n reg_offices_project,\r\n} from './regs'\r\n\r\nconst specialCondition = {\r\n 'stone-sokolniki': 'sokolniki',\r\n 'sokolniki-stone': 'sokolniki',\r\n 'stone-rise': 'rise',\r\n 'stone-hod': 'hodinka',\r\n}\r\n\r\nexport const getProjectName = (pathname: string, href?: string) => {\r\n let specialResult = null\r\n\r\n const comMatch = pathname.match(reg_com_project)\r\n const resMatch = pathname.match(reg_res_project)\r\n const retailProjectMatch = pathname.match(reg_retail_project)\r\n const officesProjectMatch = pathname.match(reg_offices_project)\r\n\r\n const comLotMatch = pathname.match(reg_com_lot)\r\n const resLotMatch = pathname.match(reg_res_lot)\r\n const retailLotMatch = pathname.match(reg_retail_lot)\r\n const officesLotMatch = pathname.match(reg_offices_lot)\r\n\r\n if (href) {\r\n Object.keys(specialCondition).forEach((el) => {\r\n if (href.includes(el)) {\r\n specialResult = specialCondition[el]\r\n }\r\n })\r\n }\r\n\r\n if (specialResult) return specialResult\r\n\r\n if (comLotMatch) return comLotMatch[1]\r\n if (resLotMatch) return resLotMatch[1]\r\n if (retailLotMatch) return retailLotMatch[1]\r\n if (officesLotMatch) return officesLotMatch[1]\r\n if (comMatch) return comMatch[1]\r\n if (resMatch) return resMatch[1]\r\n if (retailProjectMatch) return retailProjectMatch[1]\r\n if (officesProjectMatch) return officesProjectMatch[1]\r\n return null\r\n}\r\n","const reg_com_lot_last = /^\\/catalog\\/commercial\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_res_lot_last = /^\\/catalog\\/residential\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_retail_lot_last = /^\\/catalog\\/retail\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\nconst reg_offices_lot_last = /^\\/catalog\\/offices\\/(?:[a-z0-9_#-]+\\/)*([a-z0-9_#-]+)$/i\r\n\r\nexport const getLotName = (pathname: string) => {\r\n const comMatch = pathname.match(reg_com_lot_last)\r\n const resMatch = pathname.match(reg_res_lot_last)\r\n const retailMatch = pathname.match(reg_retail_lot_last)\r\n const officesMatch = pathname.match(reg_offices_lot_last)\r\n\r\n if (comMatch) return comMatch[1]\r\n if (resMatch) return resMatch[1]\r\n if (retailMatch) return retailMatch[1]\r\n if (officesMatch) return officesMatch[1]\r\n return null\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\n\r\nexport const getDefaultAnalyticsData = (store: StoneDataLayerStore) => ({\r\n\tym_uid: store.ym_uid ?? null,\r\n\tcm_visitor_id: store.cm_visitor_id ?? null,\r\n\tfingerprint_id: store?.fingerprint_id ?? null,\r\n\tvisible_virtual_pn: store?.visible_virtual_pn ?? null,\r\n\tpage_type: store.page_type,\r\n\tpage_direction: store.page_direction,\r\n\tpage_project: store.page_project,\r\n\tpage_lot: store.page_lot,\r\n\tab_test_name: store.ab_test_name,\r\n\tab_test_group: store.ab_test_group,\r\n\tuser_id: store.initializeUserId() ?? null,\r\n\tauth: store.initializeUserAuth() ?? false,\r\n})\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\n\r\nexport type TEventPageView = {\r\n store: StoneDataLayerStore\r\n user_id?: string | null\r\n auth?: boolean\r\n projectName?: string\r\n lotName?: string\r\n}\r\n\r\nexport const setEventPageView = async ({store}: TEventPageView) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'pageview',\r\n }\r\n\r\n const dataForPush = {...defaultData}\r\n delete dataForPush.ym_uid\r\n\r\n store.pushLayer({...dataForPush, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\n\r\nexport type TEventPageView = {\r\n store: StoneDataLayerStore\r\n projectName?: string\r\n lotName?: string\r\n}\r\n\r\nexport const setEventPageViewForce = async ({ store }: TEventPageView) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'pageview_force',\r\n }\r\n\r\n store.pushLayer({ ...defaultData, ...additionalFields })\r\n } catch (e) {\r\n console.log('error',e)\r\n }\r\n}\r\n","import {md5} from \"js-md5\";\r\n\r\nexport const getVisibleVirtualPn = () => {\r\n const virtual_pn = document.getElementById('header_phone')?.getAttribute(\"href\")?.replace(/\\D/g, \"\");\r\n return typeof virtual_pn === 'string' ? md5(virtual_pn) : undefined\r\n}","export const getYmUid = (id: number) => {\r\n if (typeof window !== 'undefined' && typeof ym !== 'undefined') {\r\n let ymUid\r\n ym(id, 'getClientID', function (clientID) {\r\n ymUid = clientID\r\n })\r\n return ymUid ?? null\r\n }\r\n}\r\n","declare const Comagic: any\r\n\r\nconst getComagicVisitorId = () => {\r\n if (typeof Comagic !== 'undefined') {\r\n return Comagic && Comagic.getVisitorId()\r\n }\r\n else return null\r\n}\r\n\r\nconst getComagicSessionId = () => {\r\n if (typeof Comagic !== 'undefined') {\r\n return Comagic && Comagic.getSessionId()\r\n }\r\n else return null\r\n}\r\n\r\nexport { getComagicSessionId, getComagicVisitorId }\r\n","import {getYmUid} from \"./getYmUid\";\r\nimport {getComagicVisitorId} from \"./getComagicId\";\r\n\r\nexport const setAnalyticId = (defaultData: any)=> {\r\n defaultData.ym_uid = getYmUid(95057596)\r\n defaultData.cm_visitor_id = getComagicVisitorId()\r\n}","import { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventSubmit = {\r\n\tstore: StoneDataLayerStore\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tlead_id?: string\r\n\tsubmitted_lot?: string\r\n\tsubmitted_lot_project?: string\r\n}\r\n\r\nexport const setEventSubmit = async ({\r\n\tstore,\r\n\tlead_id,\r\n\tblock_name,\r\n\tauth,\r\n\tsubmitted_lot,\r\n\tsubmitted_lot_project,\r\n}: TEventSubmit) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'submit',\r\n\t\t\tlead_id: String(lead_id),\r\n\t\t\tblock_name,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\tsubmitted_lot: submitted_lot ?? null,\r\n\t\t\tsubmitted_lot_project: submitted_lot_project ?? null,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import {StoneDataLayerStore} from \"../StoneDataLayerStore\";\r\nimport {getDefaultAnalyticsData} from \"../utils/getDefaultAnalyticsData\";\r\nimport {getVisibleVirtualPn} from \"../../../utils/getVisibleVirtualPn\";\r\nimport {setAnalyticId} from \"../utils/setAnalyticId\";\r\n\r\nexport type TEventLotFeedShow = {\r\n store: StoneDataLayerStore\r\n pathname?: string\r\n block_name?: string\r\n list_of_lots: TAnalyticFeedLot[]\r\n}\r\n\r\nexport type TAnalyticFeedLot = {\r\n position: number | null\r\n lot: string | null\r\n lot_project: string | null\r\n}\r\n\r\nexport const setEventLotFeedShow = async ({\r\n store,\r\n block_name,\r\n list_of_lots,\r\n }: TEventLotFeedShow) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields = {\r\n event: 'lot_feed_show',\r\n block_name,\r\n list_of_lots,\r\n }\r\n\r\n const dataForPush = {...defaultData}\r\n setAnalyticId(defaultData)\r\n\r\n delete dataForPush.ym_uid\r\n delete dataForPush.cm_visitor_id\r\n\r\n defaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n store.pushLayer({...defaultData, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import {StoneDataLayerStore} from '../StoneDataLayerStore'\r\nimport {getDefaultAnalyticsData} from '../utils/getDefaultAnalyticsData'\r\nimport {getVisibleVirtualPn} from '../../../utils/getVisibleVirtualPn'\r\nimport {setAnalyticId} from '../utils/setAnalyticId'\r\n\r\nexport type TEventClick = {\r\n store: StoneDataLayerStore\r\n pathname?: string\r\n block_name?: string\r\n auth?: boolean\r\n clicked_url?: string\r\n action_element?: string | null\r\n action_element_text?: string | null\r\n action_element_status?: 'error' | 'success'\r\n clicked_lot?: string\r\n clicked_lot_project?: string\r\n clicked_lot_position?: string\r\n banner_position?: number\r\n banner_text?: string\r\n}\r\n\r\nexport const setEventClick = async ({\r\n store,\r\n action_element,\r\n action_element_text,\r\n block_name,\r\n clicked_url,\r\n auth,\r\n clicked_lot,\r\n clicked_lot_project,\r\n clicked_lot_position,\r\n action_element_status,\r\n banner_position,\r\n banner_text,\r\n }: TEventClick) => {\r\n try {\r\n const defaultData = getDefaultAnalyticsData(store)\r\n\r\n const additionalFields: Omit<TEventClick, 'store'> & { event: string } = {\r\n event: 'click',\r\n action_element,\r\n action_element_text: action_element_text ?? null,\r\n block_name,\r\n auth: auth ?? null,\r\n clicked_url,\r\n clicked_lot: clicked_lot ?? null,\r\n clicked_lot_project: clicked_lot_project ?? null,\r\n clicked_lot_position: clicked_lot_position ?? null,\r\n }\r\n if (banner_position) additionalFields.banner_position = banner_position\r\n if (banner_position) additionalFields.banner_text = banner_text\r\n if (action_element_status) additionalFields.action_element_status = action_element_status\r\n\r\n defaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n setAnalyticId(defaultData)\r\n\r\n store.pushLayer({...defaultData, ...additionalFields})\r\n } catch (e) {\r\n console.log('error', e)\r\n }\r\n}\r\n","import { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventCheck = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\taction_element: string\r\n\taction_element_text: string\r\n}\r\n\r\nexport const setEventCheck = async ({\r\n\tstore,\r\n\taction_element,\r\n\tauth,\r\n\taction_element_text,\r\n\tblock_name,\r\n}: TEventCheck) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'check',\r\n\t\t\taction_element,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\taction_element_text: action_element_text ?? null,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBlur = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tauth?: boolean\r\n\tblock_name?: string\r\n\taction_element: string\r\n\taction_element_status: 'error' | 'success'\r\n}\r\n\r\nexport const setEventBlur = async ({\r\n\tstore,\r\n\taction_element,\r\n\tblock_name,\r\n\tauth,\r\n\taction_element_status,\r\n}: TEventBlur) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'blur',\r\n\t\t\taction_element,\r\n\t\t\taction_element_status,\r\n\t\t\tblock_name,\r\n\t\t\tauth: auth ?? null,\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { getVisibleVirtualPn } from '../../../utils/getVisibleVirtualPn'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventPageView = {\r\n\tstore: StoneDataLayerStore\r\n\tprojectName?: string\r\n\tauth?: boolean\r\n\tlotName?: string\r\n}\r\n\r\nexport const setEventFullScreen = async ({ store }: TEventPageView) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'fullscreenview',\r\n\t\t}\r\n\r\n\t\tdefaultData.visible_virtual_pn = getVisibleVirtualPn()\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBannerShow = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tbanner_text: string\r\n\tbanner_link: string\r\n\tbanner_position?: number\r\n}\r\n\r\nexport const setEventBannerShow = async ({\r\n\t\t\t\t\t\t\t\t\t\t\t store,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_text,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_link,\r\n\t\t\t\t\t\t\t\t\t\t\t banner_position,\r\n\t\t\t\t\t\t\t\t\t\t\t auth,\r\n\t\t\t\t\t\t\t\t\t\t\t block_name,\r\n\t\t\t\t\t\t\t\t\t\t }: TEventBannerShow) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'banner_show',\r\n\t\t\tbanner_text : banner_text ?? null,\r\n\t\t\tbanner_link : banner_link ?? null,\r\n\t\t\tbanner_position : banner_position ?? null,\r\n\t\t\tauth : auth ?? null,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n","import { StoneDataLayerStore } from '../StoneDataLayerStore'\r\nimport { getDefaultAnalyticsData } from '../utils/getDefaultAnalyticsData'\r\nimport { setAnalyticId } from '../utils/setAnalyticId'\r\n\r\nexport type TEventBannerClick = {\r\n\tstore: StoneDataLayerStore\r\n\tpathname?: string\r\n\tblock_name?: string\r\n\tauth?: boolean\r\n\tclicked_url?: string\r\n\tbanner_text: string\r\n\tbanner_link: string\r\n}\r\n\r\nexport const setEventBannerClick = async ({\r\n\tstore,\r\n\tbanner_text,\r\n\tbanner_link,\r\n\tauth,\r\n\tclicked_url,\r\n\tblock_name,\r\n}: TEventBannerClick) => {\r\n\ttry {\r\n\t\tconst defaultData = getDefaultAnalyticsData(store)\r\n\r\n\t\tconst additionalFields = {\r\n\t\t\tevent: 'banner_click',\r\n\t\t\tbanner_text,\r\n\t\t\tbanner_link,\r\n\t\t\tauth: auth ?? null,\r\n\t\t\tclicked_url,\r\n\t\t\tblock_name,\r\n\t\t}\r\n\r\n\t\tsetAnalyticId(defaultData)\r\n\r\n\t\tstore.pushLayer({ ...defaultData, ...additionalFields })\r\n\t} catch (e) {\r\n\t\tconsole.log('error', e)\r\n\t}\r\n}\r\n"],"mappings":"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","names":["index_exports","__export","StoneDataLayerStore","checkTimeStamp","getABCookie","getGoogleAnalyticsClientId","getLotName","getPageDirection","getPageType","getProjectName","getStoneClientId","getStoneHashClientId","getStoneSessionId","getYandexMetrikaClientId","setClientId","setSessionId","sokolnikiPageViewType","staticPageViewType","stoneDataLayerStore","stoneHodPageViewType","useComagicStatus","useInitializeMetrics","__toCommonJS","makeTimeBasedUID","isLocalStorage","checkTimeStamp","clientId","unixTimestamp","ISOSDate","ISOSDateNow","setSessionId","newId","makeTimeBasedUID","setClientId","import_react","useInitializeMetrics","isLocalStorage","isClientId","isSessionId","isYearPast","checkTimeStamp","setClientId","setSessionId","tabCountStorage","tabCount","handleBeforeUnload","scrollTop","scrollHeight","scrollPercent","inactivityTimer","resetInactivityTimer","events","event","import_fingerprintjs","import_cookies_next","getStoneHashClientId","st_client_hash_id","FingerprintJS","fp","result","getStoneSessionId","st_session_id","getStoneClientId","st_client_id","getGoogleAnalyticsClientId","_ga","_ga_local","getYandexMetrikaClientId","_ym_uid","_ym_uid_local","import_react","useComagicStatus","status","setStatus","timer","getABCookie","name","escapedName","regex","match","import_mobx","pathDirection","specialCondition","getPageDirection","pathname","href","specialResult","el","key","value","reg_com_project","reg_res_project","reg_retail_project","reg_offices_project","reg_com_lot","reg_res_lot","reg_retail_lot","reg_offices_lot","staticPageViewType","sokolnikiPageViewType","stoneHodPageViewType","specialCondition","getPageType","pathname","source","href","specialResult","el","reg_com_project","reg_res_project","reg_retail_project","reg_offices_project","reg_com_lot","reg_res_lot","reg_retail_lot","reg_offices_lot","specialCondition","getProjectName","pathname","href","specialResult","comMatch","reg_com_project","resMatch","reg_res_project","retailProjectMatch","reg_retail_project","officesProjectMatch","reg_offices_project","comLotMatch","reg_com_lot","resLotMatch","reg_res_lot","retailLotMatch","reg_retail_lot","officesLotMatch","reg_offices_lot","el","reg_com_lot_last","reg_res_lot_last","reg_retail_lot_last","reg_offices_lot_last","getLotName","pathname","comMatch","resMatch","retailMatch","officesMatch","getDefaultAnalyticsData","store","setEventPageView","store","defaultData","getDefaultAnalyticsData","additionalFields","dataForPush","setEventPageViewForce","store","defaultData","getDefaultAnalyticsData","additionalFields","import_js_md5","getVisibleVirtualPn","_a","_b","virtual_pn","getYmUid","id","ymUid","clientID","getComagicVisitorId","setAnalyticId","defaultData","getYmUid","getComagicVisitorId","setEventSubmit","store","lead_id","block_name","auth","submitted_lot","submitted_lot_project","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventLotFeedShow","store","block_name","list_of_lots","defaultData","getDefaultAnalyticsData","additionalFields","dataForPush","setAnalyticId","getVisibleVirtualPn","e","setEventClick","store","action_element","action_element_text","block_name","clicked_url","auth","clicked_lot","clicked_lot_project","clicked_lot_position","action_element_status","banner_position","banner_text","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventCheck","store","action_element","auth","action_element_text","block_name","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventBlur","store","action_element","block_name","auth","action_element_status","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","e","setEventFullScreen","store","defaultData","getDefaultAnalyticsData","additionalFields","getVisibleVirtualPn","setAnalyticId","setEventBannerShow","store","banner_text","banner_link","banner_position","auth","block_name","defaultData","getDefaultAnalyticsData","additionalFields","setAnalyticId","e","setEventBannerClick","store","banner_text","banner_link","auth","clicked_url","block_name","defaultData","getDefaultAnalyticsData","additionalFields","setAnalyticId","e","StoneDataLayerStore","authStore","parsed","error","tagManagerArgs","pathname","source","href","getPageDirection","getPageType","getProjectName","getLotName","getStoneHashClientId","props","setEventPageView","setEventPageViewForce","setEventSubmit","setEventLotFeedShow","setEventClick","setEventCheck","setEventBlur","setEventFullScreen","setEventBannerShow","setEventBannerClick","stoneDataLayerStore"]}
|