PageSourceSearch

https://delivr.to/assets/MyCampaigns-BOKSzB35.js

js delivr.to collected 2026-10-03 22:11:03 UTC 20,994 bytes, 1 lines download raw bytes

1import{j as e}from"./query-DmstuUoN.js";import{h as Ee,i as Re,a as w,L as Ie}from"./vendor-CHI41uxr.js";import{a as Ae,b as $e,c as Me,g as ze,h as Pe,C as le,W as ce,d as oe,I as de,f as me,e as ue}from"./IntegrationIcons-BgxqXZCn.js";import{O as xe,R as pe}from"./RepeatingBadge-BRTF2Qsw.js";import{c as Le,u as Be,t as Ue,v as qe,B as S,s as Z,w as Oe,x as V,b as He,U as Ve,k as ne,y as R,F as ee,E as I,O as We,H as x,z as W,A as G,q as Ge,r as se,a2 as Je}from"./index-BNXzEUcY.js";import{I as Ke}from"./input-CnDjsPPe.js";import{T as Ye,a as Xe,b as he,c as v,d as Qe,e as b}from"./table-CUu4M3zy.js";import{S as K,a as Y,b as X,c as Q,e as re,f as ie,d as y}from"./select-5kNhwI7E.js";import{A as Ze,a as es,b as ss,c as as,d as ts,e as ns,f as rs,g as is}from"./alert-dialog-DR35OEje.js";import{C as ge}from"./checkbox-CLrZ-oDk.js";import{u as ls}from"./useDocumentTitle-BOGfSQQj.js";import{downloadCSV as cs,getDateString as je,downloadChartAsPng as os}from"./download-Cy4RHPTg.js";import{D as fe,G as ds,R as ms,A as us,X as xs,Y as ps,T as hs,L as gs,a as J}from"./AreaChart-Ccxmcukk.js";import{U as js}from"./upload-CklfRmdE.js";import{T as fs}from"./trash-2-qulV6ogM.js";import{S as Ns}from"./search-CIwB5ZE9.js";import{M as ws}from"./mail-Dk4-qTC8.js";import{C as Cs,a as vs}from"./chevrons-right-E_mIG9um.js";import"./more-horizontal-BReLZdfI.js";import"./badge-XJ-ekfky.js";import"./ServiceIcon-CrwT3mpk.js";import"./ui-WgsiDFN4.js";const bs=Le("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);function _s(s){const r={};s.forEach(a=>{r[a.campaign_id]={...a,reruns:[]}});const t=[];s.forEach(a=>{a.parent_campaign_id&&r[a.parent_campaign_id]?r[a.parent_campaign_id].reruns.push(r[a.campaign_id]):t.push(r[a.campaign_id])});const l=a=>{a.reruns&&a.reruns.length===0?delete a.reruns:a.reruns&&a.reruns.forEach(l)};return t.forEach(l),t}function z(s){const r=parseInt(s,10);if(isNaN(r))return"Invalid Date";const t=new Date(r*1e3),l=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),d=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),u=String(t.getMinutes()).padStart(2,"0");return`${l}-${a}-${d} ${o}:${u}`}function ys(s){return[...s].sort((t,l)=>parseInt(t.requested_start_time)-parseInt(l.requested_start_time)).filter(t=>t.status==="Completed"&&Array.isArray(t.campaign_results)&&t.campaign_results.length===3).map(t=>{const l=Number(t.campaign_results[0]),a=Number(t.campaign_results[1]),d=Number(t.campaign_results[2]),o=l+a+d;if(o===0)return{date:z(t.requested_start_time).split(" ")[0],campaignName:t.campaign_name,sent:0,delivered:0,blocked:0};const u=l/o*100,h=a/o*100,p=d/o*100;return{date:z(t.requested_start_time).split(" ")[0],campaignName:t.campaign_name,sent:Number(u.toFixed(1)),delivered:Number(h.toFixed(1)),blocked:Number(p.toFixed(1))}})}function Ss({active:s,payload:r,label:t}){if(!s||!r||r.length===0)return null;const l=r[0]?.payload?.campaignName;return e.jsxs("div",{className:"rounded-md border bg-popover px-3 py-2 text-sm shadow-md",children:[e.jsx("div",{className:"font-medium",children:t}),l&&e.jsx("div",{className:"text-muted-foreground mb-1",children:l}),e.jsx("div",{className:"space-y-0.5",children:r.map((a,d)=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:a.color}}),e.jsxs("span",{children:[a.name,":"]}),e.jsxs("span",{className:"font-medium",children:[a.value,"%"]})]},d))})]})}function ks({campaigns:s,isLoading:r,isFetching:t}){const l=w.useRef(null),a=w.useMemo(()=>ys(s),[s]),d=w.useCallback(async()=>{const o=`campaign-history-${je()}.png`;await os(l,o)?x.success("Chart downloaded"):x.error("Could not find chart to download")},[]);return r?e.jsxs(R,{children:[e.jsx(W,{children:e.jsx(G,{className:"text-center text-sm font-medium",children:"Campaign History"})}),e.jsx(I,{children:e.jsx(ee,{className:"h-[200px]"})})]}):a.length===0?e.jsxs(R,{className:t?"opacity-70 transition-opacity":"",children:[e.jsx(W,{children:e.jsx(G,{className:"text-center text-sm font-medium",children:"Campaign History"})}),e.jsx(I,{children:e.jsx("div",{className:"flex h-[200px] items-center justify-center text-muted-foreground",children:"No completed campaigns to display"})})]}):e.jsxs(R,{className:t?"opacity-70 transition-opacity":"",children:[e.jsxs(W,{className:"flex flex-row items-center justify-between",children:[e.jsx(G,{className:"text-center text-sm font-medium flex-1",children:"Campaign History"}),e.jsx(S,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:d,title:"Download chart as PNG",children:e.jsx(fe,{className:"h-4 w-4"})})]}),e.jsx(I,{children:e.jsx("div",{ref:l,children:e.jsx(ms,{width:"100%",height:200,children:e.jsxs(us,{data:a,children:[e.jsx(xs,{dataKey:"date",tick:{fontSize:12}}),e.jsx(ps,{tickFormatter:o=>`${o}%`,domain:[0,100],ticks:[0,25,50,75,100],tick:{fontSize:12}}),e.jsx(hs,{content:e.jsx(Ss,{})}),e.jsx(gs,{}),e.jsx(J,{type:"monotone",dataKey:"sent",stackId:"1",stroke:"#3FCBFF",fill:"rgba(63, 203, 255, 0.8)",
1name:"Sent"}),e.jsx(J,{type:"monotone",dataKey:"delivered",stackId:"1",stroke:"#4CDBC4",fill:"rgba(76, 219, 196, 0.8)",name:"Delivered"}),e.jsx(J,{type:"monotone",dataKey:"blocked",stackId:"1",stroke:"#FFAE5D",fill:"rgba(254, 174, 93, 0.8)",name:"Blocked"})]})})})})]})}function Ne({campaign:s,depth:r=0,expandedRows:t,onToggleExpand:l,selectedRows:a,onToggleSelect:d,onDelete:o,onResend:u,onStopRepeating:h,onRowClick:p,isPremium:j,isRepeatingActive:f,parentRepeatFor:k}){const g=s.reruns&&s.reruns.length>0,N=t.has(s.campaign_id),c=a.has(s.campaign_id);return e.jsxs(e.Fragment,{children:[e.jsxs(he,{className:`cursor-pointer hover:bg-muted/50 ${r>0?"bg-muted/30":""}`,onClick:()=>p(s.campaign_id),children:[e.jsx(b,{className:"w-10",onClick:n=>n.stopPropagation(),children:s.deletable&&e.jsx(ge,{checked:c,onCheckedChange:()=>d(s.campaign_id)})}),e.jsx(b,{className:"w-10",children:e.jsx(xe,{ownership:s.ownership})}),e.jsx(b,{children:e.jsxs("div",{className:"flex items-center gap-1",style:{paddingLeft:`${r*24}px`},children:[g&&e.jsx(S,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:n=>{n.stopPropagation(),l(s.campaign_id)},children:N?e.jsx(Z,{className:"h-4 w-4"}):e.jsx(se,{className:"h-4 w-4"})}),!g&&r>0&&e.jsx("div",{className:"w-6"}),e.jsx("span",{className:"truncate max-w-md",children:s.campaign_name})]})}),e.jsx(b,{children:e.jsx(le,{campaignType:s.campaign_type})}),e.jsx(b,{className:"truncate max-w-[180px]",children:s.campaign_type==="web"?"-":s.recipient}),e.jsx(b,{children:s.campaign_type!=="web"&&e.jsx(de,{integrations:s.integrations})}),e.jsx(b,{className:"w-10",children:e.jsx(pe,{campaign:s,isRepeatingActive:f,totalRepeatFor:k??s.repeat_for})}),e.jsx(b,{children:z(s.requested_start_time)}),e.jsx(b,{children:s.campaign_type==="web"?e.jsx(ce,{results:s.campaign_results}):e.jsx(oe,{results:s.campaign_results})}),e.jsx(b,{children:e.jsx(ue,{status:s.status})}),e.jsx(b,{onClick:n=>n.stopPropagation(),children:e.jsx(Ie,{to:`/app/campaign-results?campaign=${s.campaign_id}`,className:"text-muted-foreground hover:text-foreground",children:e.jsx(Je,{className:"h-4 w-4"})})}),e.jsx(b,{onClick:n=>n.stopPropagation(),children:e.jsx(me,{campaign:s,onDelete:o,onResend:u,onStopRepeating:h,isPremium:j,isRepeatingActive:f})})]}),g&&N&&s.reruns.map(n=>
1e.jsx(Ne,{campaign:n,depth:r+1,expandedRows:t,onToggleExpand:l,selectedRows:a,onToggleSelect:d,onDelete:o,onResend:u,onStopRepeating:h,onRowClick:p,isPremium:j,isRepeatingActive:f,parentRepeatFor:s.repeat_for},n.campaign_id))]})}function we({campaign:s,depth:r=0,expandedRows:t,onToggleExpand:l,selectedRows:a,onToggleSelect:d,onDelete:o,onResend:u,onStopRepeating:h,onRowClick:p,isPremium:j,isRepeatingActive:f,parentRepeatFor:k}){const g=s.reruns&&s.reruns.length>0,N=t.has(s.campaign_id),c=a.has(s.campaign_id);return e.jsxs(e.Fragment,{children:[e.jsx(R,{className:`cursor-pointer hover:bg-muted/50 transition-colors ${r>0?"ml-4 border-l-2 border-muted":""}`,onClick:()=>p(s.campaign_id),children:e.jsx(I,{className:"p-3 pr-2",children:e.jsxs("div",{className:"flex items-start gap-3",children:[s.deletable&&e.jsx("div",{onClick:n=>n.stopPropagation(),className:"pt-0.5",children:e.jsx(ge,{checked:c,onCheckedChange:()=>d(s.campaign_id)})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[g&&e.jsx(S,{variant:"ghost",size:"icon",className:"h-5 w-5 -ml-1",onClick:n=>{n.stopPropagation(),l(s.campaign_id)},children:N?e.jsx(Z,{className:"h-3 w-3"}):e.jsx(se,{className:"h-3 w-3"})}),e.jsx(xe,{ownership:s.ownership}),e.jsx("span",{className:"font-medium truncate",children:s.campaign_name}),e.jsx(le,{campaignType:s.campaign_type})]}),e.jsx("div",{className:"text-sm text-muted-foreground mb-2 truncate",children:s.campaign_type==="web"?"Web Security Test":s.recipient}),e.jsxs("div",{className:"flex items-center gap-3",children:[s.campaign_type==="web"?e.jsx(ce,{results:s.campaign_results}):e.jsxs(e.Fragment,{children:[e.jsx(oe,{results:s.campaign_results}),e.jsx(de,{integrations:s.integrations})]}),e.jsx(pe,{campaign:s,isRepeatingActive:f,totalRepeatFor:k??s.repeat_for})]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-1",onClick:n=>n.stopPropagation(),children:[e.jsx(me,{campaign:s,onDelete:o,onResend:u,onStopRepeating:h,isPremium:j,isRepeatingActive:f}),e.jsx(ue,{status:s.status}),e.jsx("span",{className:"text-xs text-muted-foreground",children:z(s.requested_start_time)})]})]})})}),g&&N&&s.reruns.map(n=>
1e.jsx(we,{campaign:n,depth:r+1,expandedRows:t,onToggleExpand:l,selectedRows:a,onToggleSelect:d,onDelete:o,onResend:u,onStopRepeating:h,onRowClick:p,isPremium:j,isRepeatingActive:f,parentRepeatFor:s.repeat_for},n.campaign_id))]})}function Ds({campaigns:s,isLoading:r,onDelete:t,onResend:l,onStopRepeating:a,selectedRows:d,onSelectChange:o,onRowClick:u,isPremium:h}){const[p,j]=w.useState(new Set),f=w.useMemo(()=>_s(s),[s]),k=c=>{if(c.reruns&&c.reruns.length>0){const P=[...c.reruns].sort(($,L)=>{const B=parseInt($.requested_start_time,10)||0;return(parseInt(L.requested_start_time,10)||0)-B})[0];return(parseInt(String(P.repeat_for),10)||0)>0}return(parseInt(String(c.repeat_for),10)||0)>0};w.useEffect(()=>{const c=new Set(s.filter(n=>s.some(_=>_.parent_campaign_id===n.campaign_id)).map(n=>n.campaign_id));j(c)},[s]);const g=c=>{j(n=>{const _=new Set(n);return _.has(c)?_.delete(c):_.add(c),_})},N=c=>{const n=new Set(d);n.has(c)?n.delete(c):n.add(c),o(n)};return r?e.jsx(ee,{className:"min-h-[250px]"}):f.length===0?e.jsx("div",{className:"text-center text-muted-foreground py-8",children:"No campaigns found"}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"md:hidden flex flex-col gap-3",children:f.map(c=>e.jsx(we,{campaign:c,expandedRows:p,onToggleExpand:g,selectedRows:d,onToggleSelect:N,onDelete:t,onResend:l,onStopRepeating:a,onRowClick:u,isPremium:h,isRepeatingActive:k(c)},c.campaign_id))}),e.jsx("div",{className:"hidden md:block",children:e.jsxs(Ye,{children:[e.jsx(Xe,{children:e.jsxs(he,{children:[e.jsx(v,{className:"w-10"}),e.jsx(v,{className:"w-10"}),e.jsx(v,{children:"Name"}),e.jsx(v,{className:"w-10",children:"Type"}),e.jsx(v,{children:"Recipient"}),e.jsx(v,{children:"Integrations"}),e.jsx(v,{className:"w-10"}),e.jsx(v,{children:"Date"}),e.jsx(v,{children:"Summary"}),e.jsx(v,{children:"Status"}),e.jsx(v,{className:"w-10"}),e.jsx(v,{className:"w-10"})]})}),e.jsx(Qe,{children:f.map(c=>e.jsx(Ne,{campaign:c,expandedRows:p,onToggleExpand:g,selectedRows:d,onToggleSelect:N,onDelete:t,onResend:l,onStopRepeating:a,onRowClick:u,isPremium:h,isRepeatingActive:k(c)},c.campaign_id))})]})})]})}function Fs({currentPage:s,totalPages:r,pageSize:t,totalItems:l,onPageChange:a,onPageSizeChange:d,isLoading:o=!1}){const u=(s-1)*t+1,h=Math.min(s*t,l);return e.jsxs("div",{className:`flex items-center justify-between py-4 ${o?"opacity-70":""} transition-opacity`,children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:l>0?`${u}-${h} of ${l} campaigns`:"0 campaigns"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(K,{value:String(t),onValueChange:p=>d(Number(p)),children:[e.jsx(Y,{className:"w-20",children:e.jsx(X,{})}),e.jsxs(Q,{children:[e.jsx(y,{value:"10",children:"10"}),e.jsx(y,{value:"25",children:"25"}),e.jsx(y,{value:"50",children:"50"}),e.jsx(y,{value:"100",children:"100"})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(S,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:s===1,onClick:()=>a(1),children:e.jsx(Cs,{className:"h-4 w-4"})}),e.jsx(S,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:s===1,onClick:()=>a(s-1),children:e.jsx(Ge,{className:"h-4 w-4"})}),e.jsxs("span",{className:"px-2 text-sm",children:["Page ",s," of ",r||1]}),e.jsx(S,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:s>=r,onClick:()=>a(s+1),children:e.jsx(se,{className:"h-4 w-4"})}),e.jsx(S,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:s>=r,onClick:()=>a(r),children:e.jsx(vs,{className:"h-4 w-4"})})]})]})]})}function Qs(){ls("Campaigns");const s=Ee(),[r,t]=Re(),{data:l}=Be(),a=l?.subscription_status==="Enterprise",d=l?.subscription_status==="Premium"||l?.subscription_status==="Enterprise",o=a?r.get("team")||"include":"exclude",u=a?r.get("repeating")||"include":"exclude",h=r.get("search")||"",p=r.get("campaign_type")||"all",[j,f]=w.useState(h),[k,g]=w.useState(1),[N,c]=w.useState(10),[n,_]=w.useState(new Set),[P,A]=w.useState(!1),$=Ae(),L=i=>{$.mutate([i],{onSuccess:()=>{x.success("Campaign deleted successfully")},onError:()=>{x.error("Failed to delete campaign")}})},[B,T]=w.useState(!1),Ce=()=>{if(n.size===0){x.error("No campaigns selected");return}T(!0)},ve=()=>{const i=Array.from(n);$.mutate(i,{onSuccess:()=>{x.success(`${i.length} campaign(s) deleted successfully`),_(new Set),T(!1)},onError:()=>{x.error("Failed to delete campaigns"),T(!1)}})},be=$e(),_e=i=>{const C=E.find(F=>F.campaign_id===i)?.campaign_type==="web",M=C?"Relaunching":"Resending",H=C?"relaunched":"resent",D=C?"relaunch":"resend";x.loading(`${M} campaign...`,{id:"resend"}),be.mutate(i,{onSuccess:F=>{x.success(`Campaign ${H} successfully! Redirecting...`,{id:"resend"}),setTimeout(()=>{s(`/app/campaign-results?campaign=${F.campaign_id}&auto_refresh=true`)},1500)},onError:()=>{x.error(`Failed to ${D} campaign`,{id:"resend"})}})},ye=Me(),Se=i=>{ye.mutate(i,{onSuccess:()=>{x.success("Repeating campaign stopped successfully")},onError:()=>{x.error("Failed to stop repeating campaign")}})};w.useEffect(()=>{const i=setTimeout(()=>{const m=new URLSearchParams(r);j?m.set("search",j):m.delete("search"),t(m,{replace:!0}),g(1)},500);return()=>clearTimeout(i)},[j]);const{data:ae,isLoading:U,isFetching:q}=ze({limit:N,offset:(k-1)*N,team:o,repeating:u,campaign_type:p!=="all"?p:void 0,search:h||void 0,include_parents:!0}),E=ae?.campaigns||[],te=ae?.total||0,ke=Math.ceil(te/N)||1,O=(i,m)=>{const C=new URLSearchParams(r);C.set(i,m),t(C),g(1)},De=()=>{if(E.length===0){x.error("No campaigns to download");return}const i=E.map(m=>({campaign_id:m.campaign_id,campaign_name:m.campaign_name,recipient:m.recipient,ownership:m.ownership,status:m.status,requested_start_time:m.requested_start_time,sent:m.campaign_results?.[0]||0,delivered:m.campaign_results?.[1]||0,blocked:m.campaign_results?.[2]||0}));cs(i,`delivrto-campaigns-${je()}.csv`),x.success("Campaigns downloaded as CSV")},Fe=()=>{const i=document.createElement("input");i.type="file",i.accept="application/json",i.onchange=async m=>{const C=m.target.files?.[0];if(!C)return;x.loading("Processing file...",{id:"upload"});const M=new FileReader;M.onload=async H=>{try{let D=H.target?.result;if(D.startsWith("data:")){const Te=D.split(",")[1];D=atob(Te)}const F=JSON.parse(D);if(!F.campaign_id||!F.results)throw new Error("Invalid file format. Expected campaign_id and results.");await Pe.uploadResults(F.campaign_id,F.results),x.success("Results uploading. Your updated campaign results will be available shortly.",{id:"upload",duration:5e3})}catch(D){x.error(D instanceof Error?D.message:"Failed to process file. Please ensure it's a valid MailCollector JSON file.",{id:"upload"})}},M.readAsDataURL(C)},i.click()};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Campaigns"}),e.jsx("p",{className:"text-muted-foreground",children:"View and manage your campaign history"})]}),e.jsxs(Ue,{children:[e.jsx(qe,{asChild:!0,children:e.jsxs(S,{children:["Options",e.
1jsx(Z,{className:"ml-2 h-4 w-4"})]})}),e.jsxs(Oe,{align:"end",children:[e.jsxs(V,{onClick:De,children:[e.jsx(fe,{className:"mr-2 h-4 w-4"}),"Download Page as CSV"]}),e.jsxs(V,{onClick:Fe,className:"text-primary",children:[e.jsx(js,{className:"mr-2 h-4 w-4"}),"Upload JSON"]}),e.jsxs(V,{onClick:Ce,className:"text-destructive",disabled:n.size===0,children:[e.jsx(fs,{className:"mr-2 h-4 w-4"}),"Delete Selected"," ",n.size>0&&`(${n.size})`]})]})]})]}),e.jsx(ks,{campaigns:E,isLoading:U,isFetching:q}),e.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{className:"relative flex-1 max-w-md",children:[e.jsx(Ns,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(Ke,{placeholder:"Search...",value:j,onChange:i=>f(i.target.value),className:"pl-9"})]}),e.jsxs("div",{className:"flex items-center gap-1.5 ml-auto",children:[e.jsx("div",{className:"flex items-center rounded-md border bg-muted/30 p-0.5",children:[{value:"all",label:"All",icon:null},{value:"email",label:"Email",icon:ws},{value:"web",label:"Web",icon:ds}].map(({value:i,label:m,icon:C})=>e.jsxs("button",{onClick:()=>O("campaign_type",i),className:He("flex items-center gap-1 rounded-sm px-2.5 py-1 text-xs font-medium transition-colors",p===i?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[C&&e.jsx(C,{className:"h-3 w-3"}),m]},i))}),e.jsx("div",{className:"h-6 w-px bg-border mx-1"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(Ve,{className:"h-3.5 w-3.5 text-muted-foreground"}),a?e.jsxs(K,{value:o,onValueChange:i=>O("team",i),children:[e.jsx(Y,{className:"w-[90px] h-8 text-xs",children:e.jsx(X,{})}),e.jsx(Q,{children:e.jsxs(re,{children:[e.jsx(ie,{className:"text-[11px] font-normal text-muted-foreground",children:"Team Campaigns"}),e.jsx(y,{value:"include",children:"Include"}),e.jsx(y,{value:"only",children:"Only"}),e.jsx(y,{value:"exclude",children:"Exclude"})]})})]}):e.jsxs(S,{variant:"outline",size:"sm",className:"h-8 w-[90px] justify-between text-xs text-muted-foreground",onClick:()=>A(!0),children:["Exclude",e.jsx(ne,{className:"h-3 w-3 text-primary ml-1"})]})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(bs,{className:"h-3.5 w-3.5 text-muted-foreground"}),a?e.jsxs(K,{value:u,onValueChange:i=>O("repeating",i),children:[e.jsx(Y,{className:"w-[90px] h-8 text-xs",children:e.jsx(X,{})}),e.jsx(Q,{children:e.jsxs(re,{children:[e.jsx(ie,{className:"text-[11px] font-normal text-muted-foreground",children:"Repeating Campaigns"}),e.jsx(y,{value:"include",children:"Include"}),e.jsx(y,{value:"only",children:"Only"}),e.jsx(y,{value:"exclude",children:"Exclude"})]})})]}):e.jsxs(S,{variant:"outline",size:"sm",className:"h-8 w-[90px] justify-between text-xs text-muted-foreground",onClick:()=>A(!0),children:["Exclude",e.jsx(ne,{className:"h-3 w-3 text-primary ml-1"})]})]})]})]}),e.jsxs(R,{className:"relative overflow-hidden",children:[q&&!U&&e.jsx("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm flex items-center justify-center z-20",children:e.jsx("div",{className:"bg-card/80 rounded-lg shadow-lg p-6",children:e.jsx(ee,{className:"p-0"})})}),e.jsxs(I,{className:"p-0",children:[e.jsx(Ds,{campaigns:E,isLoading:U,onDelete:L,onResend:_e,onStopRepeating:Se,selectedRows:n,onSelectChange:_,onRowClick:i=>s(`/app/campaign-results?campaign=${i}`),isPremium:d}),e.jsx("div",{className:"px-4 border-t",children:e.jsx(Fs,{currentPage:k,totalPages:ke,pageSize:N,totalItems:te,onPageChange:g,onPageSizeChange:i=>{c(i),g(1)},isLoading:q})})]})]}),e.jsx(Ze,{open:B,onOpenChange:T,children:e.jsxs(es,{children:[e.jsxs(ss,{children:[e.jsx(as,{children:"Delete Selected Campaigns"}),e.jsxs(ts,{children:["Are you sure you want to delete ",n.size," selected campaign(s)? This will permanently remove all campaign data and results. This action cannot be undone."]})]}),e.jsxs(ns,{children:[e.jsx(rs,{children:"Cancel"}),e.jsxs(is,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:ve,children:["Delete ",n.size," Campaign(s)"]})]})]})}),e.jsx(We,{open:P,onOpenChange:A,feature:"Team and Repeating campaign filters"})]})}
1export{Qs as MyCampaigns};

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.