PageSourceSearch

https://admin.cartstack.com/build/assets/SiteSettings-ClrHSC1V.js

js cartstack.com collected 2026-09-24 17:44:38 UTC 18,654 bytes, 1 lines download raw bytes

1import{e as a,j as e,H as ns,r as cs,L as de,h as ds,t as N}from"./app-D5Bf_dbH.js";import{S as os}from"./SuperAdminLayout-Df3A_GmM.js";import{C as ms,d as hs}from"./card-CUwjT2hB.js";import{B as xs}from"./Breadcrumbs-DxtGVYP8.js";import{B as m}from"./button-BooRjUAf.js";import{I as n}from"./input-DqZbbFgj.js";import{L as us}from"./label-Cm1tsOLE.js";import{S as r}from"./switch-DHdp9Rsv.js";import{S as oe}from"./slider-ydr0X3Hh.js";import{S as h,a as x,b as u,c as p,d as i}from"./select-Ckvsxj-Q.js";import{A as ps,a as js,b as gs}from"./alert-CGHGpkpD.js";import{C as vs}from"./chevron-right-Ba0gC1l7.js";import{T as bs}from"./triangle-alert-Dlnfy8oB.js";import{L as _s}from"./loader-circle-CNDCpqRX.js";import{S as Ss}from"./save-jCQZqW79.js";import"./dropdown-menu-DXUwCH2H.js";import"./react-icons.esm-CCm293eC.js";import"./index-D4lci4mZ.js";import"./index-eCYNzz1C.js";import"./index-Cn72dBP_.js";import"./index-DI8WOxmI.js";import"./index-rimmKLID.js";import"./avatar-CQYHhkys.js";import"./useGlobalShortcuts-C3mPQ3zf.js";import"./react-BPWwdghM.js";import"./createLucideIcon-CyKN5i_O.js";import"./sheet-lU-qfqG8.js";import"./index-B02_DhYT.js";import"./scroll-area-CnV8vZPq.js";import"./index-D17hSi50.js";import"./rotate-ccw-hNqG30TC.js";import"./eye-jUg7xQoe.js";import"./user-CODNnX9U.js";import"./CSLOGO_lghtbg-12-DL8MB5gQ.js";import"./dialog-BgEHdzUT.js";import"./spinner-CoXWKYJB.js";import"./popover-CBJwT1Kl.js";import"./badge-BdtyRZeW.js";import"./shopping-cart-BYHhTvfT.js";import"./users-jvAb0Hsa.js";import"./lock-_lQojS3k.js";import"./search-F-2nffFh.js";import"./settings-x0uW8CTG.js";import"./log-out-Cqz61TM3.js";import"./sonner-CJXwkPTZ.js";import"./file-text-Bn6-_gGR.js";import"./index-D2PwZ_9r.js";const fs=[{name:"Phone Call Tracking",column:"pct_tracking"},{name:"PCT Display Number",column:"pct_display_number"},{name:"PCT Transfer Number",column:"pct_transfer_number"}],o=({title:d})=>e.jsxs("div",{className:"relative mb-6",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("span",{className:"w-full border-t border-border"})}),e.jsx("div",{className:"relative flex",children:e.jsx("span",{className:"bg-card pr-4 text-sm font-semibold text-primary",children:d})})]}),t=({label:d,children:c,className:j="",disabled:v=!1})=>e.jsxs("div",{className:`flex items-center gap-4 ${v?"opacity-50":""} ${j}`,children:[e.jsx(us,{className:"w-48 text-right text-sm shrink-0",children:d}),c]}),ja=({account:d,site:c,cartItemsLayouts:j})=>{const[v,me]=a.useState(!1),[he,xe]=a.useState(!1),[ue,pe]=a.useState(!1),[y,w]=a.useState(!1),l=c.settings,b=l?.cart_items_layout,[k,je]=a.useState(l?.suppress_empty_cart??!1),[T,ge]=a.useState(l?.suppress_cart_total??!1),[_,ve]=a.useState(l?.suppress_cart_total_threshold??0),[E,be]=a.useState(l?.recovery_window??90),[R,_e]=a.useState(l?.max_cart_suppress??!1),[S,Se]=a.useState(l?.max_cart_value??0),[D,fe]=a.useState(l?.email_send_throttle??6),[L,Ce]=a.useState(l?.email_purchase_throttle??72),[I,Ne]=a.useState(l?.email_address_throttle??6),[A,ye]=a.useState(l?.email_address_throttle_days??30),[P,we]=a.useState(!!l?.retain),[M,ke]=a.useState(!!l?.reveal),Te={0:"disabled",1:"data_only",2:"data_recover"},Ee={disabled:0,data_only:1,data_recover:2},Re={0:"warming_up",1:"enabled"},De={warming_up:0,enabled:1},[f,Le]=a.useState(Te[l?.reveal_mode??0]??"disabled"),[F,Ie]=a.useState(Re[l?.reveal_recover_status??0]??"warming_up"),[V,Ae]=a.useState(l?.reveal_profile_limit??500),[B,Pe]=a.useState(c.reveal_sending_domain??""),[O,Me]=a.useState(l?.show_realtime_notifications??!1),[$,Fe]=a.useState(l?.browse_abandon??!1),[W,Ve]=a.useState(l?.field_capture??!1),[z,Be]=a.useState(l?.show_recommendations??!1),[H,Oe]=a.useState(l?.show_webhooks??!1),[U,$e]=a.useState(l?.ep_activate??!1),[X,We]=a.useState(l?.send_my_cart??!1),[J,ze]=a.useState(l?.recordings??!1),[K,He]=a.useState(l?.push_status??!1),[q,Ue]=a.useState(l?.sms_status??!1),[G,Xe]=a.useState(l?.instock_notification_status??!1),[Q,Je]=a.useState(l?.sms_from??""),[Y,Ke]=a.useState(l?.recordings_site_id??""),[Z,qe]=a.useState(l?.recordings_per_month??0),[ee,Ge]=a.useState(l?.custom_domain_url??""),[se,Qe]=a.useState(c.from_email??""),Ye=c.reply_to_email??"",[ae,Ze]=a.useState(l?.filter_by_ip??!1),[te,es]=a.useState(l?.show_archive_details??!1),[le,ss]=a.use
1State(l?.show_domain_suppression??!1),[re,as]=a.useState(l?.visitor_tracking??!1),[ie,ts]=a.useState(b?.Email1CartItemsLayout??null),[ne,ls]=a.useState(b?.Email2CartItemsLayout??null),[ce,rs]=a.useState(b?.Email3CartItemsLayout??null),is=async()=>{w(!0);const s={suppress_empty_cart:k,suppress_cart_total:T,suppress_cart_total_threshold:_,recovery_window:E,max_cart_suppress:R,max_cart_value:S,email_send_throttle:D,email_purchase_throttle:L,email_address_throttle:I,email_address_throttle_days:A,retain:P?1:0,reveal:M,reveal_mode:Ee[f],reveal_recover_status:De[F],reveal_profile_limit:V,reveal_sending_domain:B,show_realtime_notifications:O,browse_abandon:$,field_capture:W,show_recommendations:z,show_webhooks:H,ep_activate:U,send_my_cart:X,recordings:J,push_status:K,sms_status:q,instock_notification_status:G,sms_from:Q,recordings_site_id:Y,recordings_per_month:Z,custom_domain_url:ee,from_email:se,filter_by_ip:ae,show_archive_details:te,show_domain_suppression:le,visitor_tracking:re,email1_cart_items_layout:ie,email2_cart_items_layout:ne,email3_cart_items_layout:ce};try{const C=await fetch(route("sa.customers.update-site-settings",{id:d.id,sid:c.id}),{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":ds()},body:JSON.stringify(s)}),g=await C.json();C.ok&&g.success?N.success(g.message||"Site settings saved successfully!"):N.error(g.error||g.message||"Failed to save site settings.")}catch{N.error("An unexpected error occurred. Please try again.")}finally{w(!1)}};return e.jsxs(os,{header:e.jsx(xs,{items:[{name:"Dashboard",link:route("sa.dashboard"),
1current:!1},{name:"Customers",link:route("sa.customers.index"),current:!1},{name:d.company_name||`Account ${d.id}`,link:route("sa.customers.profile",{id:d.id}),current:!1},{name:"Site Settings",link:route("sa.customers.site-settings",{id:d.id,sid:c.id}),current:!0}]}),dropdownOpen:v,setDropdownOpen:me,dOpen:he,setDOpen:xe,sOpen:ue,setSOpen:pe,children:[e.jsx(ns,{title:`Site Settings - ${c.url||c.id}`}),e.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("h1",{className:"text-2xl font-bold",children:d.company_name||"Unnamed Account"}),e.jsxs(m,{variant:"outline",size:"sm",className:"gap-2",onClick:()=>cs.post(route("sa.impersonate",{siteId:c.id})),children:["Login ",e.jsx(vs,{className:"h-4 w-4"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(m,{variant:"outline",size:"sm",asChild:!0,children:e.jsx(de,{href:route("sa.customers.profile",{id:d.id}),children:"Profile"})}),e.jsx(m,{variant:"outline",size:"sm",children:"Health"}),e.jsx(m,{variant:"outline",size:"sm",children:"Deliverability"}),e.jsx(m,{variant:"outline",size:"sm",children:"Tracking"}),e.jsx(m,{variant:"outline",size:"sm",asChild:!0,children:e.jsx(de,{href:route("sa.customers.settings",{id:d.id}),children:"Settings"})})]})]}),e.jsxs(ps,{variant:"default",className:"mb-6 border-amber-500/50 bg-amber-500/10",children:[e.jsx(bs,{className:"h-4 w-4 text-amber-500"}),e.jsx(js,{className:"text-amber-700 dark:text-amber-400",children:"Some fields are unavailable"}),e.jsxs(gs,{className:"text-amber-600 dark:text-amber-300",children:["The following fields have not been migrated to the new data model and are currently disabled:",e.jsx("ul",{className:"mt-2 list-disc list-inside text-sm",children:fs.map(s=>e.jsxs("li",{children:[e.jsx("strong",{children:s.name})," ",e.jsxs("span",{className:"text-muted-foreground",children:["(",s.column,")"]})]},s.column))})]})]}),e.jsx(ms,{children:e.jsxs(hs,{className:"pt-6 space-y-8",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h2",{className:"text-lg font-semibold",children:"Site settings:"}),c.url&&e.jsx("span",{className:"text-lg font-semibold bg-yellow-100 dark:bg-yellow-900/30 px-2 py-0.5 rounded",children:c.url})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Cart Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Empty cart, email suppressed:",children:e.jsx(r,{checked:k,onCheckedChange:je})}),e.jsx(t,{label:"Cart total $0, email suppressed:",children:e.jsx(r,{checked:T,onCheckedChange:ge})})]}),e.jsx(t,{label:"Cart total under, email suppressed:",children:e.jsxs("div",{className:"flex-1 max-w-md",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("span",{className:"text-xs font-medium bg-primary text-primary-foreground px-1.5 py-0.5 rounded",children:["$",_]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"$1000"})]}),e.jsx(oe,{value:[_],onValueChange:s=>ve(s[0]),max:1e3,step:25,className:"w-full"}),e.jsxs("div",{className:"flex justify-between mt-1 text-xs text-muted-foreground",children:[e.jsx("span",{children:"0"}),e.jsx("span",{children:"100"}),e.jsx("span",{children:"200"}),e.jsx("span",{children:"300"}),e.jsx("span",{children:"400"}),e.jsx("span",{children:"500"}),e.jsx("span",{children:"600"}),e.jsx("span",{children:"700"}),e.jsx("span",{children:"800"}),e.jsx("span",{children:"900"}),e.jsx("span",{children:"1000"})]})]})}),e.jsx(t,{label:"Recovery window:",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(n,{type:"number",value:E,onChange:s=>be(Number(s.target.value)),className:"w-20",min:1,max:365}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"days"})]})}),e.jsx(t,{label:"Cart total over, email suppressed:",children:e.jsx(r,{checked:R,onCheckedChange:_e})}),e.jsx(t,{label:"Cart total over value:",children:e.jsxs("div",{className:"flex-1 max-w-md",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("span",{className:"text-xs font-medium bg-primary text-primary-foreground px-1.5 py-0.5 rounded",children:["$",S]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:"$10000"})]}),e.jsx(oe,{value:[S],onValueChange:s=>Se(s[0]),max:1e4,step:100,className:"w-full"}),e.jsxs("div",{className:"flex justify-between mt-1 text-xs text-muted-foreground",children:[e.jsx("span",{children:"0"}),e.jsx("span",{children:"1000"}),e.jsx("span",{children:"2000"}),e.jsx("span",{children:"3000"}),e.jsx("span",{children:"4000"}),e.jsx("span",{children:"5000"}),e.jsx("span",{children:"6000"}),e.jsx("span",{children:"7000"}),e.jsx("span",{children:"8000"}),e.jsx("span",{children:"9000"}),e.jsx("span",{children:"10000"})]})]})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Email Throttle Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(t,{label:"Email send throttling:",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(n,{type:"number",value:D,onChange:s=>fe(Number(s.target.value)),className:"w-20",min:1}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"hrs"})]})}),e.jsx(t,{label:"Email purchase throttling:",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(n,{type:"number",value:L,onChange:s=>Ce(Number(s.target.value)),className:"w-20",min:1}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"hrs"})]})}),e.jsx(t,{label:"Email address throttling:",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(n,{type:"number",value:I,onChange:s=>Ne(Number(s.target.value)),className:"w-20",min:1}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"emails in"}),e.jsx(n,{type:"number",value:A,onChange:s=>ye(Number(s.target.value)),className:"w-20",min:1}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"days"})]})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Retain Settings"}),e.jsx("div",{className:"space-y-4",children:e.jsx(t,{label:"Enable Retain for Site",children:e.jsx(r,{checked:P,onCheckedChange:we})})})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Reveal Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(t,{label:"Enable Reveal for Site",children:e.jsx(r,{checked:M,onCheckedChange:ke})}),e.jsx(t,{label:"Reveal Mode:",children:e.jsxs(h,{value:f,onValueChange:s=>Le(s),children:[e.jsx(x,{className:"w-64",children:e.jsx(u,{})}),e.jsxs(p,{children:[e.jsx(i,{value:"disabled",children:"Disabled"}),e.jsx(i,{value:"data_only",children:"Data-only"}),e.jsx(i,{value:"data_recover",children:"Data + Recover"})]})]})}),e.jsx(t,{label:"Recover Status:",children:e.jsxs(h,{value:F,onValueChange:s=>Ie(s),children:[e.jsx(x,{className:"w-64",children:e.jsx(u,{})}),e.jsxs(p,{children:[e.jsx(i,{value:"warming_up",children:"Warming Up"}),e.jsx(i,{value:"enabled",children:"Enabled"})]})]})}),e.jsx(t,{label:"Profile Limit:",children:e.jsxs(h,{value:V.toString(),onValueChange:s=>Ae(Number(s)),children:[e.jsx(x,{className:"w-64",children:e.jsx(u,{})}),e.jsxs(p,{children:[e.jsx(i,{value:"500",children:"500"}),e.jsx(i,{value:"1000",children:"1,000"}),e.jsx(i,{value:"2000",children:"2,000"}),e.jsx(i,{value:"3000",children:"3,000"}),e.jsx(i,{value:"4000",children:"4,000"}),e.jsx(i,{value:"5000",children:"5,000"}),e.jsx(i,{value:"10000",children:"10,000"})]})]})}),f==="data_recover"&&e.jsx(t,{label:"Reveal Sending Domain:",children:e.jsx(n,{type:"text",value:B,onChange:s=>Pe(s.target.value),className:"w-80",maxLength:255,placeholder:"customer.cartmail1.com"})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"CartStack Pro Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Real Time Notification (RTN):",children:e.jsx(r,{checked:O,onCheckedChange:Me})}),e.jsx(t,{label:"Browse Abandonment:",children:e.jsx(r,{checked:$,onCheckedChange:Fe})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Form Autofill:",children:e.jsx(r,{checked:W,onCheckedChange:Ve})}),e.jsx(t,{label:"Recommendations:",children:e.jsx(r,{checked:z,onCheckedChange:Be})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Webhooks:",children:e.jsx(r,{checked:H,onCheckedChange:Oe})}),e.jsx(t,{label:"Exit Popups:",children:e.jsx(r,{checked:U,onCheckedChange:$e})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Send My Cart (SMC):",children:e.jsx(r,{checked:X,onCheckedChange:We})}),e.jsx(t,{label:"Recordings:",children:e.jsx(r,{checked:J,onCheckedChange:ze})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Web Push:",children:e.jsx(r,{checked:K,onCheckedChange:He})}),e.jsx("div",{})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"SMS:",children:e.jsx(r,{checked:q,onCheckedChange:Ue})}),e.jsx(t,{label:"In-Stock Notification:",children:e.jsx(r,{checked:G,onCheckedChange:Xe})})]}),e.jsx(t,{label:"SMS Sent From:",children:e.jsx(n,{type:"text",value:Q,onChange:s=>Je(s.target.value),className:"w-32",maxLength:10})}),e.jsx(t,{label:"Recordings Site ID:",children:e.jsx(n,{type:"text",value:Y,onChange:s=>Ke(s.target.value),className:"w-64",maxLength:100})}),e.jsx(t,{label:"Recordings Per Month:",children:e.jsx(n,{type:"number",value:Z,onChange:s=>qe(Number(s.target.value)),className:"w-24",min:0})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Phone Call Tracking"}),e.jsxs("div",{className:"space-y-4 opacity-50",children:[e.jsx(t,{label:"Tracking:",disabled:!0,children:e.jsx(r,{disabled:!0})}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Display Number:",disabled:!0,children:e.jsx(n,{type:"text",className:"w-32 bg-muted",maxLength:10,disabled:!0})}),e.jsx(t,{label:"Transfer Number:",disabled:!0,children:e.jsx(n,{type:"text",className:"w-32 bg-muted",maxLength:10,disabled:!0})})]})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Email Template Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(t,{label:"Cart items layout, CA reminder 1:",children:e.jsxs(h,{value:ie?.toString()??"",onValueChange:s=>ts(Number(s)),children:[e.jsx(x,{className:"w-72",children:e.jsx(u,{placeholder:"Select a layout"})}),e.jsx(p,{children:j.map(s=>e.jsx(i,{value:s.ID.toString(),children:s.LayoutName},s.ID))})]})}),e.jsx(t,{label:"Cart items layout, CA reminder 2:",children:e.jsxs(h,{value:ne?.toString()??"",onValueChange:s=>ls(Number(s)),children:[e.jsx(x,{className:"w-72",children:e.jsx(u,{placeholder:"Select a layout"})}),e.jsx(p,{children:j.map(s=>e.jsx(i,{value:s.ID.toString(),children:s.LayoutName},s.ID))})]})}),e.jsx(t,{label:"Cart items layout, CA reminder 3:",children:e.jsxs(h,{value:ce?.toString()??"",onValueChange:s=>rs(Number(s)),children:[e.jsx(x,{className:"w-72",children:e.jsx(u,{placeholder:"Select a layout"})}),e.jsx(p,{children:j.map(s=>e.jsx(i,{value:s.ID.toString(),children:s.LayoutName},s.ID))})]})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Custom Domain Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(t,{label:"Custom sender domain:",children:e.jsx(n,{type:"text",value:ee,onChange:s=>Ge(s.target.value),className:"w-80",maxLength:1e3})}),e.jsx(t,{label:"From email:",children:e.jsxs("div",{className:"w-80",children:[e.jsx(n,{type:"email",value:se,onChange:s=>Qe(s.target.value),className:"w-full",maxLength:200}),e.jsx("p",{className:"mt-1 text-sm text-red-600",children:"The email domain MUST match the custom sender subdomain"})]})}),e.jsx(t,{label:"Reply-To email:",children:e.jsx(n,{type:"text",value:Ye,className:"w-80 bg-muted",maxLength:200,disabled:!0})})]})]}),e.jsxs("div",{children:[e.jsx(o,{title:"Misc Settings"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Filter by IP:",children:e.jsx(r,{checked:ae,onCheckedChange:Ze})}),e.jsx(t,{label:"Show archive details:",children:e.jsx(r,{checked:te,onCheckedChange:es})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[e.jsx(t,{label:"Show domain suppression:",children:e.jsx(r,{checked:le,onCheckedChange:ss})}),e.jsx(t,{label:"Visitor tracking:",children:e.jsx(r,{checked:re,onCheckedChange:as})})]})]})]}),e.jsx("div",{className:"pt-4 border-t",children:e.jsx(m,{variant:"default",className:"gap-2",onClick:is,disabled:y,children:y?e.jsxs(e.Fragment,{children:[e.jsx(_s,{className:"h-4 w-4 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ss,{className:"h-4 w-4"}),"Save Changes"]})})})]})})]})};export{ja 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.