PageSourceSearch

https://ryplaced.ai/assets/AnalyticsSettings-SaDlftp8.js

js ryplaced.ai collected 2026-10-05 14:32:24 UTC 11,150 bytes, 1 lines download raw bytes

1import{r as w,j as e}from"./motion-CosRO9bq.js";import{j as x,k as u,ay as B,q as v,bn as G,s as N,B as m,L as C,b9 as M,v as y,l as r,br as h,bY as k,bd as A,bP as o,bg as I,an as F,d6 as z,_ as S,a9 as P,aa as E}from"./App-B9yavX8s.js";import"./i18n-DM4FnftC.js";import{u as R}from"./useGA4Settings-C69UzICd.js";import{A as T}from"./activity-Lf9_9NP-.js";import{L as H}from"./link-2-CYNfu-ou.js";import{H as U}from"./hash-BwwRhY3Z.js";import{C as V}from"./circle-check-big-D4bR7pKv.js";import{C as q}from"./circle-x-BC3JM-Kk.js";import{S as D}from"./send-F7Rcvv36.js";import{E as p}from"./external-link-IeqSsWl6.js";import"./index-BmHsUbC1.js";import"./charts-mzLkVtyt.js";import"./client-ON1bHuT4.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};a.SENTRY_RELEASE={id:"a43e79a71eadc3928e287951d574ba9a9663ba9f"}}catch{}})();try{(function(){var a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},l=new a.Error().stack;l&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[l]="ab00f3e3-f2bf-4f60-9af3-01f5d35b359e",a._sentryDebugIdIdentifier="sentry-dbid-ab00f3e3-f2bf-4f60-9af3-01f5d35b359e")})()}catch{}function Y(){const{settings:a,isLoading:l,isFetching:g,updateSetting:j,isUpdating:b,refetch:i}=R(),[_,n]=w.useState({});if(l)return e.jsx(x,{children:e.jsx(u,{className:"flex items-center justify-center py-12",children:e.jsx(B,{})})});const f=(s,t)=>{t!==a[s]&&(j(s,t),n(X=>({...X,[s]:void 0})))},d=(s,t)=>{j(s,t)},c=s=>_[s]??a[s]??"",L=s=>s.startsWith("G-")&&s.length>3;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs(x,{children:[e.jsxs(v,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(G,{className:"h-5 w-5"}),e.jsx(N,{children:"Property Configuration"})]}),e.jsxs(m,{variant:"ghost",size:"compact",onClick:()=>i(),disabled:g,children:[g?e.jsx(C,{variant:"dot",size:"sm",className:"mr-2"}):e.jsx(M,{className:"h-4 w-4 mr-2"}),"Refresh"]})]}),e.jsx(y,{children:"Configure your GA4 property and data stream settings"})]}),e.jsxs(u,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(r,{htmlFor:"measurement_id",className:"flex items-center gap-2",children:[e.jsx(T,{className:"h-4 w-4"}),"Measurement ID"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{id:"measurement_id",value:c("measurement_id"),onChange:s=>n(t=>({...t,measurement_id:s.target.value})),onBlur:s=>f("measurement_id",s.target.value),placeholder:"G-XXXXXXXXXX",className:"font-mono"}),b&&e.jsx(C,{variant:"dot",size:"sm",className:"self-center"})]}),c("measurement_id")&&!L(c("measurement_id"))&&e.jsx("p",{className:"text-xs text-destructive",children:'Measurement ID should start with "G-"'})]}),e.jsx(k,{}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(r,{htmlFor:"property_name",className:"flex items-center gap-2",children:[e.jsx(A,{className:"h-4 w-4"}),"Property Name"]}),e.jsx(h,{id:"property_name",value:c("property_name"),onChange:s=>n(t=>({...t,property_name:s.target.value})),onBlur:s=>f("property_name",s.target.value),placeholder:"my-website.com"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(r,{htmlFor:"stream_name",className:"flex items-center gap-2",children:[e.jsx(A,{className:"h-4 w-4"}),"Stream Name"]}),e.jsx(h,{id:"stream_name",value:c("stream_name"),onChange:s=>n(t=>({...t,stream_name:s.target.value})),onBlur:s=>f("stream_name",s.target.value),placeholder:"my-website.com"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(r,{htmlFor:"stream_url",className:"flex items-center gap-2",children:[e.jsx(H,{className:"h-4 w-4"}),"Stream URL"]}),e.jsx(h,{id:"stream_url",type:"url",value:c("stream_url"),onChange:s=>n(t=>({...t,stream_url:s.target.value})),onBlur:s=>f("stream_url",s.target.value),placeholder:"https://my-website.com"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(r,{htmlFor:"stream_id",className:"flex items-center gap-2",children:[e.jsx(U,{className:"h-4 w-4"}),"Stream ID"]}),e.jsx(h,{id:"stream_id",value:c("stream_id"),onChange:s=>n(t=>({...t,stream_id:s.target.value})),onBlur:s=>f("stream_id",s.target.value),placeholder:"1234567890",className:"font-mono"})]}),e.jsx(k,{}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"debug_mode",children:"Debug Mode"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Enable verbose console logging for troubleshooting"})]}),e.jsx(o,{id:"debug_mode",checked:a.debug_mode,onCheckedChange:s=>d("debug_mode",s)})]})]})]}),e.jsxs(x,{children:[e.jsxs(v,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"h-5 w-5"}),e.jsx(N,{children:"Privacy & Consent"})]}),e.jsx(y,{children:"GDPR compliance and user privacy settings"})]}),e.jsxs(u,{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"anonymize_ip",children:"Anonymize IP"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Remove last octet of user IP addresses"})]}),e.jsx(o,{id:"anonymize_ip",checked:a.anonymize_ip,onCheckedChange:s=>d("anonymize_ip",s)})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"cookie_consent",children:"Cookie Consent Required"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Only track after user grants consent"})]}),e.jsx(o,{id:"cookie_consent",checked:a.cookie_consent,onCheckedChange:s=>d("cookie_consent",s)})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"url_masking",children:"URL Masking"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Mask sensitive data in tracked URLs (IDs, tokens)"})]}),e.jsx(o,{id:"url_masking",checked:a.url_masking,onCheckedChange:s=>d("url_masking",s)})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"user_id_hashing",children:"User ID Hashing"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Hash user IDs before sending to GA4"})]}),e.jsx(o,{id:"user_id_hashing",checked:a.user_id_hashing,onCheckedChange:s=>d("user_id_hashing",s)})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx(r,{htmlFor:"ad_tracking",children:"Ad Tracking"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Enable advertising features and signals"})]}),e.jsx(o,{id:"ad_tracking",checked:a.ad_tracking,onCheckedChange:s=>d("ad_tracking",s)})]}),e.jsxs("div",{className:"p-4 mt-4 rounded-lg border bg-green-500/5 border-green-500/20",children:[e.jsx("div",{className:"flex items-center gap-2 mb-1",children:e.jsx(F,{variant:"default",className:"bg-green-500",children:"Consent Mode v2 Active"})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Analytics respects user consent preferences. Data collection starts only after explicit consent."})]})]})]})]})}function le(){const[a,l]=w.useState("test_admin_event"),[g,j]=w.useState(!1),{settings:b}=R(),i=z(),_=async()=>{j(!0);try{P(a,{test_source:"admin_settings",timestamp:Date.now()}),E.success("Test event sent! Check GA4 Real-time reports.")}catch{E.error("Failed to send test event")}finally{j(!1)}};return e.jsxs("div",{className:"space-y-6 p-6",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[e.jsx(S,{className:"h-6 w-6"}),"Analytics Settings"]}),e.jsx("p",{className:"text-muted-foreground mt-1",children:"Manage Google Analytics 4 configuration and tracking settings"})]}),e.jsx(x,{className:i?"border-green-500/50 bg-green-500/5":"border-destructive/50 bg-destructive/5",children:e.jsxs(u,{className:"flex items-center gap-4 py-4",children:[i?e.jsx(V,{className:"h-8 w-8 text-green-500"}):e.jsx(q,{className:"h-8 w-8 text-destructive"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"font-semibold",children:i?"GA4 Connected":"GA4 Not Configured"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i?`Analytics data is being collected for ${b.property_name}`:"Configure your Measurement ID to start tracking"})]}),e.jsx(F,{variant:i?"default":"destructive",className:"text-sm",children:i?"Active":"Inactive"})]})}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[e.jsx("div",{className:"space-y-6",children:e.jsx(Y,{})}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(x,{children:[e.jsxs(v,{children:[e.jsxs(N,{className:"flex items-center gap-2",children:[e.jsx(D,{className:"h-5 w-5"}),"Event Testing"]}),e.jsx(y,{children:"Send test events to verify your GA4 configuration"})]}),e.jsxs(u,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{htmlFor:"event-name",children:"Event Name"}),e.jsx(h,{id:"event-name",value:a,onChange:n=>l(n.target.value),placeholder:"test_event"})]}),e.jsx(m,{onClick:_,disabled:!a||g,className:"w-full",children:g?e.jsxs(e.Fragment,{children:[e.jsx(C,{variant:"dot",size:"sm",className:"mr-2"}),"Sending..."]}):e.jsxs(e.Fragment,{children:[e.jsx(D,{className:"h-4 w-4 mr-2"}),"Send Test Event"]})}),e.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Check the GA4 Real-time reports to verify the event was received"})]})]}),e.jsxs(x,{children:[e.jsxs(v,{children:[e.jsxs(N,{className:"flex items-center gap-2",children:[e.jsx(p,{className:"h-5 w-5"}),"Quick Links"]}),e.jsx(y,{children:"Access GA4 dashboards and tools"})]}),e.jsxs(u,{className:"space-y-3",children:[e.jsx(m,{variant:"outline",className:"w-full justify-start",asChild:!0,children:e.jsxs("a",{href:"https://analytics.google.com",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(S,{className:"h-4 w-4 mr-2"}),"GA4 Dashboard",e.jsx(p,{className:"h-3 w-3 ml-auto"})]})}),e.jsx(m,{variant:"outline",className:"w-full justify-start",asChild:!0,children:e.jsxs("a",{href:"https://analytics.google.com/analytics/web/#/realtime",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(T,{className:"h-4 w-4 mr-2"}),"Real-time Reports",e.jsx(p,{className:"h-3 w-3 ml-auto"})]})}),e.jsx(m,{variant:"outline",className:"w-full justify-start",asChild:!0,children:e.jsxs("a",{href:"https://tagassistant.google.com/",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(G,{className:"h-4 w-4 mr-2"}),"Tag Assistant",e.jsx(p,{className:"h-3 w-3 ml-auto"})]})}),e.jsx(m,{variant:"outline",className:"w-full justify-start",asChild:!0,children:e.jsxs("a",{href:"https://support.google.com/analytics/answer/9744165",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(I,{className:"h-4 w-4 mr-2"}),"Consent Mode Docs",e.jsx(p,{className:"h-3 w-3 ml-auto"})]})})]})]})]})]})]})}export{le as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.