PageSourceSearch

https://massivemonster.com/_nuxt/Dthfjb7M.js

js massivemonster.com collected 2026-10-09 17:36:50 UTC 3,441 bytes, 2 lines download raw bytes

1import{t as U,S as j,D as F,d as M,Y as R,a5 as w,T as E,o as c,i as p,j as u,w as l,X as z,b as a,M as y,p as I,c as v,V as H,W as O,N as e,a4 as P,U as o,E as W,e as b}from"#entry";import{_ as X}from"./bssATVab.js";import{_ as Y}from"./CAg4pg8t.js";import{_ as G}from"./8vU9nxdt.js";import{_ as J}from"./BUTJGjjR.js";import{u as K}from"./DT9nOzNJ.js";import"./r2wLkqRX.js";import"./DCofMJF4.js";import"./CyWTJF9r.js";import"./D821ip_H.js";import"./DBwlnrVs.js";import"./Ca5v-v7n.js";const Q={class:"space-y-5"},Z={class:"px-3 py-2.5"},tt={class:"truncate text-xs text-neutral-500"},et={class:"whitespace-nowrap px-3 py-2.5 text-neutral-400"},st={class:"px-3 py-2.5 text-right tabular-nums"},nt={class:"px-3 py-2.5 text-right tabular-nums"},at={class:"px-3 py-2.5 text-right tabular-nums"},it={class:"px-3 py-2.5 text-right tabular-nums"},yt=U({__name:"index",async setup(ot){let r,d;const m=j(),{loggedIn:S,isAdmin:k}=F(),{selectedId:A}=K(),_=b(()=>S.value&&k.value),i=M(String(m.query.status||"sent")),N=[{label:"Sent",value:"sent",icon:"i-lucide-send"},{label:"Drafts",value:"save",icon:"i-lucide-file-edit"},{label:"Scheduled",value:"schedule",icon:"i-lucide-calendar-clock"}];R(i,async n=>{await w({query:{...m.query,status:n}},{replace:!0})});const x=b(()=>({status:i.value,audience:A.value??void 0,pageSize:100})),{data:h,pending:f,refresh:C}=([r,d]=E(()=>W("/api/admin/campaigns",{query:x,immediate:_.value,server:!1,watch:[x,_]},"$Srn8CLanM8")),r=await r,d(),r);function V(n){return n?new Date(Number(n)).toLocaleString():"–"}function g(n,s){return!n||!s?"–":`${(n/s*100).toFixed(1)}%`}return(n,s)=>{const $=z,q=X,B=Y,D=P,L=G,T=J;return c(),p("div",Q,[u(q,{eyebrow:"Audience",title:"Campaigns",description:"Mailchimp campaign performance, synced into D1."},{actions:l(()=>[u($,{icon:"i-lucide-refresh-cw",color:"neutral",variant:"outline",size:"sm",loading:a(f),onClick:s[0]||(s[0]=t=>a(C)())},{default:l(()=>[...s[2]||(s[2]=[y(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1}),u(B,{modelValue:a(i),"onUpdate:modelValue":s[1]||(s[1]=t=>I(i)?i.value=t:null),items:N,variant:"link","value-attribute":"value"}
1,null,8,["modelValue"]),a(h)?.rows?.length||a(f)?(c(),v(L,{key:0},{head:l(()=>[...s[3]||(s[3]=[e("tr",null,[e("th",{class:"px-3 py-2.5"}," Subject "),e("th",{class:"px-3 py-2.5"}," Sent "),e("th",{class:"px-3 py-2.5 text-right"}," Recipients "),e("th",{class:"px-3 py-2.5 text-right"}," Opens "),e("th",{class:"px-3 py-2.5 text-right"}," Clicks "),e("th",{class:"px-3 py-2.5 text-right"}," Unsubs ")],-1)])]),default:l(()=>[(c(!0),p(H,null,O(a(h)?.rows||[],t=>(c(),p("tr",{key:t.id,class:"transition-colors hover:bg-neutral-800/30"},[e("td",Z,[u(D,{to:`/admin/campaigns/${t.id}`,class:"font-medium text-neutral-100 hover:text-rose-300 hover:underline underline-offset-2"},{default:l(()=>[y(o(t.subject||"(no subject)"),1)]),_:2},1032,["to"]),e("div",tt,o(t.preview_text||t.external_id),1)]),e("td",et,o(V(t.send_time)),1),e("td",st,o((t.recipient_count||t.emails_sent||0).toLocaleString()),1),e("td",nt,o(g(t.opens_unique,t.emails_sent)),1),e("td",at,o(g(t.clicks_unique,t.emails_sent)),1),e("td",it,o(t.unsubscribed||0),1)]))),128))]),_:1})):(c(),v(T,{key:1,icon:"i-lucide-mail",title:a(i)==="sent"?"No campaigns sent yet":a(i)==="save"?"No drafts":"Nothing scheduled",description:"Mailchimp campaigns appear here after the next sync."},null,8,["title"]))])}}});export{yt as default};
2//# sourceMappingURL=Dthfjb7M.js.map

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.