PageSourceSearch

https://thestreamlinefactory.com/assets/AdminEmail-DcxsNDpm.js

js thestreamlinefactory.com collected 2026-09-24 14:20:30 UTC 19,986 bytes, 1 lines download raw bytes

1import{j as e,r as g}from"./react-vendor-C-_weJGF.js";import{u as _,b as M,c as T}from"./query-DA-B5yju.js";import{B as j,s as p,a as N}from"./index-DiEum5Ju.js";import{A as $}from"./AdminLayout-Byts1X3Z.js";import{T as z,a as G,b as D,c as A}from"./tabs-5wplFz5J.js";import{I as h}from"./input-TSEJWV9X.js";import{L as x}from"./label-Dam5lWpQ.js";import{T as V}from"./textarea-7KtP0QKs.js";import{S as W}from"./switch-CMORpCAN.js";import{B as E}from"./badge-TGWIF5-T.js";import{S,a as w,b as C,c as q,d as b}from"./select-CQ7qceit.js";import{D as B,e as Q,a as K,b as O,c as P,f as R}from"./dialog-D17-t_Fh.js";import{as as Y,ar as J,ao as X,aR as Z,l as ee,u as L,an as se,a as ae}from"./icons-BZJMmL1V.js";import{f as H}from"./format-Cpjm9erV.js";import"./radix-CMA3xQgM.js";import"./supabase-BppBjPB2.js";import"./motion-CfmjrLVm.js";import"./logo-BWhOaj1e.js";const F=["roof_report_360","claimops_360","claimroute_360","website","manual"],te=["signup","order","tag_added","manual"];function k({icon:i,label:m,value:u,hint:s}){return e.jsxs("div",{className:"bg-card border border-border rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground uppercase tracking-wide",children:m}),e.jsx(i,{className:"w-4 h-4 text-primary"})]}),e.jsx("div",{className:"text-2xl font-display font-bold",children:u}),s&&e.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:s})]})}function U({status:i}){const m={draft:"bg-muted text-muted-foreground",scheduled:"bg-blue-500/10 text-blue-400",sending:"bg-amber-500/10 text-amber-400",sent:"bg-green-500/10 text-green-400",paused:"bg-orange-500/10 text-orange-400",active:"bg-green-500/10 text-green-400",completed:"bg-muted text-muted-foreground"};return e.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full ${m[i]||"bg-muted text-muted-foreground"}`,children:i})}function re(){const i=M(),[m,u]=g.useState(""),[s,l]=g.useState("all"),[r,n]=g.useState(!1),[c,d]=g.useState({email:"",first_name:"",last_name:"",source_app:"manual",tags:""}),{data:o=[]}=_({queryKey:["admin-email-subs"],queryFn:async()=>{const{data:a}=await p.from("newsletter_subscribers").select("*").order("created_at",{ascending:!1});return a||[]}}),t=T({mutationFn:async a=>{const f=a.tags?a.tags.split(",").map(I=>I.trim()).filter(Boolean):[],{error:y}=await p.from("newsletter_subscribers").insert({email:a.email.toLowerCase().trim(),first_name:a.first_name||null,last_name:a.last_name||null,source_app:a.source_app||null,source_type:"manual",tags:f,is_active:!0});if(y)throw y},onSuccess:()=>{N.success("Subscriber added"),i.invalidateQueries({queryKey:["admin-email-subs"]}),n(!1),d({email:"",first_name:"",last_name:"",source_app:"manual",tags:""})},onError:a=>N.error(a.message||"Failed to add")}),v=g.useMemo(()=>o.filter(a=>{if(s!=="all"&&a.source_app!==s)return!1;if(m){const f=m.toLowerCase();return[a.email,a.first_name,a.last_name].some(y=>(y||"").toLowerCase().includes(f))}return!0}),[o,m,s]);return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("div",{className:"relative flex-1 min-w-[240px]",children:[e.jsx(ee,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(h,{value:m,onChange:a=>u(a.target.value),placeholder:"Search email or name",className:"pl-8"})]}),e.jsxs(S,{value:s,onValueChange:l,children:[e.jsx(w,{className:"w-[200px]",children:e.jsx(C,{placeholder:"Source app"})}),e.jsxs(q,{children:[e.jsx(b,{value:"all",children:"All sources"}),F.map(a=>e.jsx(b,{value:a,children:a},a))]})]}),e.jsxs(B,{open:r,onOpenChange:n,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(j,{children:[e.jsx(L,{className:"w-4 h-4 mr-1"}),"Add Subscriber"]})}),e.jsxs(K,{children:[e.jsx(O,{children:e.jsx(P,{children:"Add Subscriber"})}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Email *"}),e.jsx(h,{value:c.email,onChange:a=>d({...c,email:a.target.value})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{children:[e.jsx(x,{children:"First name"}),e.jsx(h,{value:c.first_name,onChange:a=>d({...c,first_name:a.target.value})})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Last name"}),e.jsx(h,{value:c.last_name,onChange:a=>d({...c,last_name:a.target.value})})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Source app"}),e.jsxs(S,{value:c.source_app,onValueChange:a=>d({...c,source_app:a}),children:[e.jsx(w,{children:e.jsx(C,{})}),e.jsx(q,{children:F.map(a=>e.jsx(b,{value:a,children:a},a))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Tags (comma separated)"}),e.jsx(h,{value:c.tags,onChange:a=>d({...c,tags:a.target.value})})]})]}),e.jsxs(R,{children:[e.jsx(j,{variant:"outline",onClick:()=>n(!1),children:"Cancel"}),e.jsx(j,{disabled:!c.email||t.isPending,onClick:()=>t.mutate(c),children:"Add"})]})]})]})]}),e.jsx("div",{className:"bg-card border border-border rounded-lg overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border bg-muted/30 text-left",children:[e.jsx("th",{className:"py-3 px-4 font-medium",children:"Email"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Name"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Source"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Tags"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Status"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Created"})]})}),e.jsxs("tbody",{children:[v.map(a=>e.jsxs("tr",{className:"border-b border-border/50 last:border-0",children:[e.jsxs("td",{className:"py-3 px-4 flex items-center gap-2",children:[e.jsx(se,{className:"w-4 h-4 text-muted-foreground"}),a.email]}),e.jsx("td",{className:"py-3 px-4",children:[a.first_name,a.last_name].filter(
1Boolean).join(" ")||e.jsx("span",{className:"text-muted-foreground",children:"—"})}),e.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:a.source_app||"—"}),e.jsx("td",{className:"py-3 px-4",children:e.jsx("div",{className:"flex flex-wrap gap-1",children:(a.tags||[]).map(f=>e.jsx(E,{variant:"outline",className:"text-xs",children:f},f))})}),e.jsx("td",{className:"py-3 px-4",children:e.jsx(U,{status:a.is_active?"active":"paused"})}),e.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:H(new Date(a.created_at),"MMM d, yyyy")})]},a.id)),v.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:6,className:"text-center py-8 text-muted-foreground",children:"No subscribers match."})})]})]})})]})}function ne({open:i,onOpenChange:m}){const u=M(),[s,l]=g.useState({name:"",subject:"",preview_text:"",source_app:"all",tags_filter:"",body_html:"",scheduled_at:""}),r=T({mutationFn:async n=>{const c=s.tags_filter?s.tags_filter.split(",").map(o=>o.trim()).filter(Boolean):null,{error:d}=await p.from("email_campaigns").insert({name:s.name,subject:s.subject,preview_text:s.preview_text||null,source_app:s.source_app==="all"?null:s.source_app,tags_filter:c,body_html:s.body_html,status:n,scheduled_at:n==="scheduled"&&s.scheduled_at?new Date(s.scheduled_at).toISOString():null});if(d)throw d},onSuccess:()=>{N.success("Campaign saved"),u.invalidateQueries({queryKey:["admin-email-campaigns"]}),m(!1),l({name:"",subject:"",preview_text:"",source_app:"all",tags_filter:"",body_html:"",scheduled_at:""})},onError:n=>N.error(n.message||"Failed")});return e.jsx(B,{open:i,onOpenChange:m,children:e.jsxs(K,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[e.jsx(O,{children:e.jsx(P,{children:"Create Campaign"})}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Name *"}),e.jsx(h,{value:s.name,onChange:n=>l({...s,name:n.target.value})})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Subject *"}),e.jsx(h,{value:s.subject,onChange:n=>l({...s,subject:n.target.value})})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Preview text"}),e.jsx(h,{value:s.preview_text,onChange:n=>l({...s,preview_text:n.target.value})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Source app filter"}),e.jsxs(S,{value:s.source_app,onValueChange:n=>l({...s,source_app:n}),children:[e.jsx(w,{children:e.jsx(C,{})}),e.jsxs(q,{children:[e.jsx(b,{value:"all",children:"All subscribers"}),F.map(n=>e.jsx(b,{value:n,children:n},n))]})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Tags filter (comma)"}),e.jsx(h,{value:s.tags_filter,onChange:n=>l({...s,tags_filter:n.target.value})})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"HTML body *"}),e.jsx(V,{rows:10,className:"font-mono text-xs",value:s.body_html,onChange:n=>l({...s,body_html:n.target.value}),placeholder:"<h1>Hello {{first_name}}</h1>"})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Schedule at"}),e.jsx(h,{type:"datetime-local",value:s.scheduled_at,onChange:n=>l({...s,scheduled_at:n.target.value})})]})]}),e.jsxs(R,{className:"gap-2",children:[e.jsx(j,{variant:"outline",onClick:()=>m(!1),children:"Cancel"}),e.jsx(j,{variant:"secondary",disabled:!s.name||!s.subject||!s.body_html||r.isPending,onClick:()=>r.mutate("draft"),children:"Save as Draft"}),e.jsx(j,{disabled:!s.name||!s.subject||!s.body_html||!s.scheduled_at||r.isPending,onClick:()=>r.mutate("scheduled"),children:"Schedule"})]})]})})}function ie(){const[i,m]=g.useState(!1),{data:u=[]}=_({queryKey:["admin-email-campaigns"],queryFn:async()=>{const{data:r}=await p.from("email_campaigns").select("*").order("created_at",{ascending:!1});return r||[]}}),{data:s={}}=_({queryKey:["admin-email-campaign-events",u.map(r=>r.id).join(",")],enabled:u.length>0,queryFn:async()=>{const r=u.map(o=>o.id),{data:n}=await p.from("email_events").select("campaign_id, event_type, subscriber_id").in("campaign_id",r),c={};for(const o of n||[]){const t=o.campaign_id;c[t]||(c[t]={opens:0,opensUnique:new Set,clicks:0,clicksUnique:new Set}),o.event_type==="open"?(c[t].opens++,o.subscriber_id&&c[t].opensUnique.add(o.subscriber_id)):o.event_type==="click"&&(c[t].clicks++,o.subscriber_id&&c[t].clicksUnique.add(o.subscriber_id))}const d={};for(const[o,t]of Object.entries(c))d[o]={opens:t.opensUnique.size||t.opens,clicks:t.clicksUnique.size||t.clicks};return d}}),l=(r,n)=>n>0?`${(r/n*100).toFixed(1)}%`:"—";return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(j,{onClick:()=>m(!0),children:[e.jsx(L,{className:"w-4 h-4 mr-1"}),"Create Campaign"]})}),e.jsx("div",{className:"bg-card border border-border rounded-lg overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border bg-muted/30 text-left",children:[e.jsx("th",{className:"py-3 px-4 font-medium",children:"Name"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Subject"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Source"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Status"}),e.jsx("th",{className:"py-3 px-4 font-medium",children:"Scheduled"}),e.jsx("th",{className:"py-3 px-4 font-medium text-right",children:"Recipients"}),e.jsx("th",{className:"py-3 px-4 font-medium text-right",children:"Open"}),e.jsx("th",{className:"py-3 px-4 font-medium text-right",children:"Click"})]})}),e.jsxs("tbody",{children:[u.map(r=>(()=>
1{const n=s[r.id]||{opens:0,clicks:0},c=Math.max(r.total_opened||0,n.opens),d=Math.max(r.total_clicked||0,n.clicks);return e.jsxs("tr",{className:"border-b border-border/50 last:border-0",children:[e.jsx("td",{className:"py-3 px-4 font-medium",children:r.name}),e.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:r.subject}),e.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:r.source_app||"all"}),e.jsx("td",{className:"py-3 px-4",children:e.jsx(U,{status:r.status})}),e.jsx("td",{className:"py-3 px-4 text-muted-foreground",children:r.scheduled_at?H(new Date(r.scheduled_at),"MMM d, HH:mm"):"—"}),e.jsx("td",{className:"py-3 px-4 text-right",children:r.total_recipients||0}),e.jsx("td",{className:"py-3 px-4 text-right",children:l(c,r.total_sent)}),e.jsx("td",{className:"py-3 px-4 text-right",children:l(d,r.total_sent)})]},r.id)})()),u.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:8,className:"text-center py-8 text-muted-foreground",children:"No campaigns yet."})})]})]})}),e.jsx(ne,{open:i,onOpenChange:m})]})}function le({sequenceId:i,onBack:m}){const{data:u}=_({queryKey:["admin-email-sequence",i],queryFn:async()=>{const{data:l}=await p.from("email_sequences").select("*").eq("id",i).single();return l}}),{data:s=[]}=_({queryKey:["admin-email-sequence-steps",i],queryFn:async()=>{const{data:l}=await p.from("email_sequence_steps").select("*").eq("sequence_id",i).order("step_number");return l||[]}});return e.jsxs("div",{className:"space-y-4",children:[e.jsx("button",{onClick:m,className:"text-sm text-muted-foreground hover:text-foreground",children:"← Back to sequences"}),u&&e.jsx("div",{className:"bg-card border border-border rounded-lg p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-display font-bold",children:u.name}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:u.description||"No description"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(E,{variant:"outline",children:u.trigger_type}),e.jsx(U,{status:u.is_active?"active":"paused"})]})]})}),e.jsxs("div",{className:"space-y-2",children:[s.map(l=>e.jsxs("div",{className:"bg-card border border-border rounded-lg p-4 flex items-start gap-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-primary/10 text-primary flex items-center justify-center font-bold shrink-0",children:l.step_number}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mb-1",children:e.jsxs("span",{children:["Wait ",l.delay_days," day",l.delay_days===1?"":"s"]})}),e.jsx("div",{className:"font-medium",children:l.subject}),l.preview_text&&e.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:l.preview_text})]})]},l.id)),s.length===0&&e.jsx("div",{className:"text-sm text-muted-foreground py-8 text-center",children:"No steps yet."})]})]})}function ce(){const i=M(),[m,u]=g.useState(null),[s,l]=g.useState(!1),[r,n]=g.useState({name:"",description:"",trigger_type:"signup",trigger_source_app:"any",trigger_tag:""}),{data:c=[]}=_({queryKey:["admin-email-sequences"],queryFn:async()=>{const{data:t}=await p.from("email_sequences").select("*, email_sequence_steps(count)").order("created_at",{ascending:!1});return t||[]}}),d=T({mutationFn:async({id:t,is_active:v})=>{const{error:a}=await p.from("email_sequences").update({is_active:v}).eq("id",t);if(a)throw a},onSuccess:()=>i.invalidateQueries({queryKey:["admin-email-sequences"]})}),o=T({mutationFn:async()=>{const{error:t}=await p.from("email_sequences").insert({name:r.name,description:r.description||null,trigger_type:r.trigger_type,trigger_source_app:r.trigger_source_app==="any"?null:r.trigger_source_app,trigger_tag:r.trigger_tag||null,is_active:!0});if(t)throw t},onSuccess:()=>{N.success("Sequence created"),i.invalidateQueries({queryKey:["admin-email-sequences"]}),l(!1),n({name:"",description:"",trigger_type:"signup",trigger_source_app:"any",trigger_tag:""})},onError:t=>N.error(t.message||"Failed")});return m?e.jsx(le,{sequenceId:m,onBack:()=>u(null)}):e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(B,{open:s,onOpenChange:l,children:[e.jsx(Q,{asChild:!0,children:e.jsxs(j,{children:[e.jsx(L,{className:"w-4 h-4 mr-1"}),"Create Sequence"]})}),e.jsxs(K,{children:[e.jsx(O,{children:e.jsx(P,{children:"Create Sequence"})}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx(x,{children:"Name *"}),e.jsx(h,{value:r.name,onChange:t=>n({...r,name:t.target.value})})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Description"}),e.jsx(V,{value:r.description,onChange:t=>n({...r,description:t.target.value})})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Trigger type"}),e.jsxs(S,{value:r.trigger_type,onValueChange:t=>n({...r,trigger_type:t}),children:[e.jsx(w,{children:e.jsx(C,{})}),e.jsx(q,{children:te.map(t=>e.jsx(b,{value:t,children:t},t))})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Source app (optional)"}),e.jsxs(S,{value:r.trigger_source_app,onValueChange:t=>n({...r,trigger_source_app:t}),children:[e.jsx(w,{children:e.jsx(C,{})}),e.jsxs(q,{children:[e.jsx(b,{value:"any",children:"Any"}),F.map(t=>e.jsx(b,{value:t,children:t},t))]})]})]}),e.jsxs("div",{children:[e.jsx(x,{children:"Trigger tag (optional)"}),e.jsx(h,{value:r.trigger_tag,onChange:t=>n({...r,trigger_tag:t.target.value})})]})]}),e.jsxs(R,{children:[e.jsx(j,{variant:"outline",onClick:()=>l(!1),children:"Cancel"}),e.jsx(j,{disabled:!r.name||o.isPending,onClick:()=>o.mutate(),children:"Create"})]})]})]})}),e.jsxs("div",{className:"space-y-2",children:[c.map(t=>{var a,f;const v=((f=(a=t.email_sequence_steps)==null?void 0:a[0])==null?void 0:f.count)||0;return e.jsxs("div",{className:"bg-card border border-border rounded-lg p-4 flex items-center gap-4",children:[e.jsxs("button",{onClick:()=>u(t.id),className:"flex-1 min-w-0 text-left",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:t.name}),e.jsx(E,{variant:"outline",className:"text-xs",children:t.trigger_type})]}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[v," step",v===1?"":"s"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Active"}),e.jsx(W,{checked:t.is_active,onCheckedChange:y=>
1d.mutate({id:t.id,is_active:y})})]}),e.jsx(ae,{className:"w-4 h-4 text-muted-foreground"})]})]},t.id)}),c.length===0&&e.jsx("div",{className:"text-sm text-muted-foreground py-8 text-center",children:"No sequences yet."})]})]})}function qe(){const{data:i}=_({queryKey:["admin-email-stats"],queryFn:async()=>{const[m,u,s]=await Promise.all([p.from("newsletter_subscribers").select("id",{count:"exact",head:!0}),p.from("newsletter_subscribers").select("id",{count:"exact",head:!0}).eq("is_active",!0),p.from("email_campaigns").select("total_sent,total_opened,sent_at").eq("status","sent")]),l=new Date(Date.now()-30*864e5),r=(s.data||[]).filter(d=>d.sent_at&&new Date(d.sent_at)>l),n=(s.data||[]).reduce((d,o)=>d+(o.total_sent||0),0),c=(s.data||[]).reduce((d,o)=>d+(o.total_opened||0),0);return{total:m.count||0,active:u.count||0,recentCampaigns:r.length,openRate:n>0?`${(c/n*100).toFixed(1)}%`:"—"}}});return e.jsxs($,{children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"font-display text-2xl font-bold",children:"Email Marketing"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Subscribers, campaigns, and drip sequences"})]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 mb-6",children:[e.jsx(k,{icon:Y,label:"Total Subscribers",value:(i==null?void 0:i.total)??"—"}),e.jsx(k,{icon:J,label:"Active",value:(i==null?void 0:i.active)??"—"}),e.jsx(k,{icon:X,label:"Sent (30d)",value:(i==null?void 0:i.recentCampaigns)??"—"}),e.jsx(k,{icon:Z,label:"Avg Open Rate",value:(i==null?void 0:i.openRate)??"—"})]}),e.jsxs(z,{defaultValue:"subscribers",className:"w-full",children:[e.jsxs(G,{children:[e.jsx(D,{value:"subscribers",children:"Subscribers"}),e.jsx(D,{value:"campaigns",children:"Campaigns"}),e.jsx(D,{value:"sequences",children:"Sequences"})]}),e.jsx(A,{value:"subscribers",className:"mt-4",children:e.jsx(re,{})}),e.jsx(A,{value:"campaigns",className:"mt-4",children:e.jsx(ie,{})}),e.jsx(A,{value:"sequences",className:"mt-4",children:e.jsx(ce,{})})]})]})}export{qe 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.