aesirx-analytics 1.1.7 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Consent-4MLNPIUE.js +1 -0
- package/dist/analytics.js +7 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/package.json +2 -1
- package/dist/Consent-V5B7D3DS.js +0 -1
package/dist/index.d.ts
CHANGED
@@ -5,7 +5,7 @@ interface AnalyticsNext {
|
|
5
5
|
router: NextRouter;
|
6
6
|
children?: ReactNode;
|
7
7
|
}
|
8
|
-
declare const AnalyticsNext: ({ router, children }: AnalyticsNext) => JSX.Element;
|
8
|
+
declare const AnalyticsNext: ({ router, children }: AnalyticsNext) => React.JSX.Element;
|
9
9
|
|
10
10
|
interface AnalyticsReact {
|
11
11
|
location: {
|
@@ -17,7 +17,7 @@ interface AnalyticsReact {
|
|
17
17
|
};
|
18
18
|
children?: ReactNode;
|
19
19
|
}
|
20
|
-
declare const AnalyticsReact: ({ location, history, children }: AnalyticsReact) => JSX.Element;
|
20
|
+
declare const AnalyticsReact: ({ location, history, children }: AnalyticsReact) => React.JSX.Element;
|
21
21
|
|
22
22
|
declare const trackEvent: (endpoint: string, visitor_uuid: string, referer?: string, data?: object) => Promise<boolean>;
|
23
23
|
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{AnalyticsContext as t,AnalyticsContextProvider_default as i}from"./chunk-D75AKWUD.js";import e,{Suspense as r}from"react";import o,{useCallback as s,useEffect as n,useState as a}from"react";var u=async(t,i)=>{const e=await fetch(t,{method:"POST",body:JSON.stringify(i),headers:(r={"Content-Type":"application/json"},o={"x-tracker-cache":void 0},Object.keys(o).forEach((t=>{void 0!==o[t]&&(r[t]=o[t])})),r)});var r,o;const s=await e.json();if(s.error)throw s.error;return s};import
|
1
|
+
import{AnalyticsContext as t,AnalyticsContextProvider_default as i}from"./chunk-D75AKWUD.js";import e,{Suspense as r}from"react";import o,{useCallback as s,useEffect as n,useState as a}from"react";var u=async(t,i)=>{const e=await fetch(t,{method:"POST",body:JSON.stringify(i),headers:(r={"Content-Type":"application/json"},o={"x-tracker-cache":void 0},Object.keys(o).forEach((t=>{void 0!==o[t]&&(r[t]=o[t])})),r)});var r,o;const s=await e.json();if(s.error)throw s.error;return s};import c from"bowser";var d=(t,i)=>`${t}/visitor/v1/${i}`,_=async(t,i,e,r)=>{const{document:o}=window,{pathname:s,search:n,origin:a}=location;i=`${a}${s}${n}`,e=o.referrer,r=window.navigator.userAgent;const _=c.parse(window.navigator.userAgent),l=_?.browser?.name,v=_?.browser?.version??"0",w=window.navigator.userLanguage||window.navigator.language,m=_?.platform?.model??_?.platform?.type,h=location?.host?.replace(/^www\./,""),p=window.location.search,f=new URLSearchParams(p),g=[];for(const t of f.keys())t.startsWith("utm_")&&f.get(t)&&g.push({name:t,value:f.get(t)});if(!f.get("visitor_uuid")){const o="";try{return await u(d(t,"init"),{url:i,referer:e,user_agent:r,ip:o,domain:h,browser_name:l,browser_version:v,lang:w,device:m,event_name:"visit",event_type:"action",attributes:g})}catch(t){}}},l=async(t,i,e)=>{if("0"===localStorage.getItem("aesirx-analytics-allow"))return null;const{location:r,document:o}=window,{pathname:s,origin:n}=r;e=e?r.protocol+"//"+r.host+e:o.referrer?f("visitor_uuid",o.referrer):`${n}${s}`;const a=r.protocol+"//"+r.host+r.pathname,c=window.location.search,_=new URLSearchParams(c);return await u(d(t,"start"),{..._.get("visitor_uuid")&&{visitor_uuid:_.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:a})},v=async(t,i,e,r)=>{if("0"===localStorage.getItem("aesirx-analytics-allow"))return null;const{location:o,document:s}=window;e=e?o.protocol+"//"+o.host+e:s.referrer.split("?")[0];const n=o.protocol+"//"+o.host+o.pathname,a=window.location.search,u=new URLSearchParams(a),c={...u.get("visitor_uuid")&&{visitor_uuid:u.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:n,...r},_=new Blob([JSON.stringify(c)],{type:"application/json"});return navigator.sendBeacon(d(t,"start"),_)},w=(t,i=window.location.href)=>{if(i){return new URL(i).searchParams.get(t)}},m=t=>{const i=document.getElementsByTagName("a");for(let e=0;e<i.length;e++){const r=w("visitor_uuid",i[e].href);if(i[e].href){const o=new URL(i[e].href);!r&&t&&o.searchParams.append("visitor_uuid",t),i[e].href=o.href}}},h=(t,i,e)=>{if(i&&e){const r={event_uuid:i,visitor_uuid:e},o={type:"application/json"},s=new Blob([JSON.stringify(r)],o);navigator.sendBeacon(d(t,"end"),s)}},p=t=>{document.addEventListener("visibilitychange",(async()=>{if("hidden"===document.visibilityState&&h(t,window.event_uuid_start,window.visitor_uuid_start),"visible"===document.visibilityState){if(new URLSearchParams(window.location.search).get("visitor_uuid")||window.visitor_uuid){const i=await l(t,window.visitor_uuid,window.referer);window.event_uuid_start=i?.event_uuid}}})),window.addEventListener("pagehide",(i=>{i.persisted&&h(t,window.event_uuid_start,window.visitor_uuid_start)}),!1)};function f(t,i){let e,r=i.split("?")[0],o=[];const s=-1!==i.indexOf("?")?i.split("?")[1]:"";if(""!==s){o=s.split("&");for(let i=o.length-1;i>=0;i-=1)e=o[i].split("=")[0],e===t&&o.splice(i,1);o.length&&(r=r+"?"+o.join("&"))}return r}var g=({router:i,children:e})=>{const r=o.useContext(t),u=process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,[c,d]=a(""),v=s((async t=>{const i=t||"";window.referer=i;const e=await l(u,r.visitor_uuid,i);e?.event_uuid&&r.setEventIDStart(e.event_uuid),e?.visitor_uuid&&r.setUUIDStart(e.visitor_uuid)}),[r,u]);return n((()=>{(async()=>{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(r.visitor_uuid)await v(f("visitor_uuid",i.asPath));else if(t)r.setUUID(t);else{const t=await _(u);t?.visitor_uuid&&r.setUUID(t?.visitor_uuid)}})()}),[r.visitor_uuid]),n((()=>{const t=async()=>{const{visitor_uuid:t}=i.query;t&&d(f("visitor_uuid",i.asPath)),r.visitor_uuid_start&&!t&&(h(u,window.event_uuid_start,r.visitor_uuid_start),await v(c))};i.events.on("routeChangeComplete",t);const e=new URLSearchParams(window.location.search),o=e.get("visitor_uuid"),s=e.get("state"),n=e.get("code");return o||s||n||r.visitor_uuid&&(i.asPath.includes("?")?Object.keys(i.query).length&&i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0}):i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0})),o&&m(o),()=>{i.events.off("routeChangeComplete",t)}}),[i.events,r.visitor_uuid,i.asPath,i.query]),n((()=>{(async()=>{p(u)})()}),[]),n((()=>{(async()=>{window.visitor_uuid=r.visitor_uuid,window.event_uuid_start=r.event_uuid_start,window.visitor_uuid_start=r.visitor_uuid_start})()}),[r.event_uuid_start,r.visitor_uuid_start]),o.createElement(o.Fragment,null,e)},y=e.lazy((()=>import("./Consent-4MLNPIUE.js"))),E=({router:t,children:o})=>e.createElement(e.Fragment,null,e.createElement(i,null,e.createElement(g,{router:t},o,e.createElement(r,{fallback:e.createElement(e.Fragment,null)},e.createElement(y,{endpoint:process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL})))));import U,{Suspense as P}from"react";import S,{useEffect as L,useState as I}from"react";import N from"query-string";var b=({location:i,history:e,children:r})=>{const o=S.useContext(t),s=process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,[n,a]=I(i.pathname);return L((()=>{(async()=>{if(o.visitor_uuid_start&&h(s,window.event_uuid_start,o.visitor_uuid_start),o.visitor_uuid){const t={...N.parse(i.search),visitor_uuid:o.visitor_uuid};e.replace({search:N.stringify(t)});const r=n||"";window.referer=r;const u=await l(s,o.visitor_uuid,r);u.event_uuid&&o.setEventIDStart(u.event_uuid),u.visitor_uuid&&o.setUUIDStart(u.visitor_uuid),a(i.pathname),m(o.visitor_uuid)}else{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(t)o.setUUID(t);else{const t=await _(s);t.visitor_uuid&&o.setUUID(t.visitor_uuid);const r={...N.parse(i.search),visitor_uuid:t.visitor_uuid};e.replace({search:N.stringify(r)})}}})()}),[i.pathname,o.visitor_uuid,e]),L((()=>{(async()=>{p(s)})()}),[]),L((()=>{(async()=>{window.visitor_uuid=o.visitor_uuid,window.event_uuid_start=o.event_uuid_start,window.visitor_uuid_start=o.visitor_uuid_start})()}),[o.visitor_uuid,o.event_uuid_start,o.visitor_uuid_start]),S.createElement(S.Fragment,null,r)},A=U.lazy((()=>import("./Consent-4MLNPIUE.js"))),C=({location:t,history:e,children:r})=>U.createElement(i,null,U.createElement(b,{location:t,history:e},r,U.createElement(P,{fallback:U.createElement(U.Fragment,null)},U.createElement(A,{endpoint:process.env.REACT_APP_ENDPOINT_ANALYTICS_URL}))));export{t as AnalyticsContext,E as AnalyticsNext,C as AnalyticsReact,v as trackEvent};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "aesirx-analytics",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.2.2",
|
4
4
|
"license": "GPL-3.0-only",
|
5
5
|
"author": "AesirX",
|
6
6
|
"repository": "https://gitlab.redweb.dk/aesirx/analytics",
|
@@ -10,6 +10,7 @@
|
|
10
10
|
"dependencies": {
|
11
11
|
"@concordium/browser-wallet-api-helpers": "^2",
|
12
12
|
"@concordium/web-sdk": "^6",
|
13
|
+
"aesirx-sso": "^1.1.1",
|
13
14
|
"axios": "^1.4.0",
|
14
15
|
"bootstrap": "^5.3.0",
|
15
16
|
"bowser": "^2.11.0",
|