PageSourceSearch

https://www.devtoolsdaily.com/_next/static/chunks/pages/admin/subscribers-ce021fdb605c57d5.js

js devtoolsdaily.com collected 2026-10-03 23:47:26 UTC 6,149 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[63491],{19321:function(e,i,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/subscribers",function(){return s(95786)}])},95786:function(e,i,s){"use strict";s.r(i),s.d(i,{__N_SSG:function(){return k},default:function(){return y}});var l=s(85893),r=s(67294),n=s(90991),t=s(8207),a=s(28008),c=s(84957),d=s(54680),u=s(99704),h=s(54410),o=s(24710),x=s(356),b=s(69084),m=s(86414),j=s(76556),f=s(53907),v=s(4958),g=s(49780),w=s(11714),S=s(34342),z=s(13107),_=s(70934),T=s(93715),p=s(54216),C=s(56038);let N=[{value:"all",label:"All sites"},{value:"devtoolsdaily",label:"DevTools Daily"},{value:"kidscreate",label:"Kids Create"},{value:"craftandlearn",label:"Craft & Learn"}],Z=[{value:"created_desc",label:"Newest first"},{value:"created_asc",label:"Oldest first"},{value:"email_asc",label:"Email A–Z"},{value:"email_desc",label:"Email Z–A"},{value:"unsubscribed_desc",label:"Recently unsubscribed"}];function E(e){if(!e)return"—";let i=new Date(e);return Number.isNaN(i.getTime())?e:i.toLocaleString()}var k=!0;function y(){let e=(0,p.x)(),[i,s]=(0,r.useState)(null),k=(0,C.vd)(null==e?void 0:e.email),[y,D]=(0,r.useState)("all"),[P,M]=(0,r.useState)("newsletter"),[A,L]=(0,r.useState)(""),[O]=(0,f.c)(A,400),[R,G]=(0,r.useState)("created_desc"),[H,K]=(0,r.useState)(1),[X,q]=(0,r.useState)([]),[B,F]=(0,r.useState)(0),[I,U]=(0,r.useState)(0),[W,J]=(0,r.useState)(!1),[Q,V]=(0,r.useState)(null),Y=(0,r.useRef)(0);(0,r.useEffect)(()=>{let i=!0;if(!e){s(null);return}return e.getIdToken().then(e=>{i&&s(e)}),()=>{i=!1}},[e]);let $=(0,r.useCallback)(async()=>{let e=++Y.current;if(i&&k){J(!0),V(null),q([]),F(0),U(0);try{let s=await (0,C.LH)(i,{domain:"all"===y?void 0:y,list:"mobile-interview"===P?P:void 0,search:O.trim()||void 0,page:H,pageSize:50,sort:R});if(e!==Y.current)return;q(s.subscribers),F(s.total),U(s.totalPages)}catch(i){if(e!==Y.current)return;q([]),F(0),U(0),V((null==i?void 0:i.message)||"Failed to load subscribers")}finally{e===Y.current&&J(!1)}}},[i,k,y,P,O,H,R]);if((0,r.useEffect)(()=>{K(1)},[y,P,O,R]),(0,r.useEffect)(()=>{$()},[$]),!e)return(0,l.jsx)(T.Z,{children:(0,l.jsx)(n.M,{mih:300,children:(0,l.jsxs)(t.K,{align:"center",gap:"sm",children:[(0,l.jsx)(a.D,{order:3,children:"Admin sign in required"}),(0,l.jsx)(_.SigninButton,{onSignin:()=>{},children:(0,l.jsx)(c.z,{children:"Sign in"})})]})})});if(!k)return(0,l.jsx)(T.Z,{children:(0,l.jsx)(n.M,{mih:300,children:(0,l.jsxs)(d.b,{color:"red",icon:(0,l.jsx)(v.Z,{size:16}),children:[e.email," is not authorized to view this page."]})})});let ee=X.map(e=>(0,l.jsxs)(u.i.Tr,{children:[(0,l.jsx)(u.i.Td,{children:(0,l.jsx)(h.x,{size:"sm",children:e.emailAddress})}),(0,l.jsx)(u.i.Td,{children:(0,l.jsx)(o.C,{variant:"light",size:"sm",children:e.website})}),"mobile-interview"===P&&(0,l.jsx)(u.i.Td,{children:e.preference||"—"}),(0,l.jsx)(u.i.Td,{children:e.unsubscribed?(0,l.jsx)(o.C,{color:"red",size:"xs",variant:"light",children:"unsubscribed"}):(0,l.jsx)(o.C,{color:"green",size:"xs",variant:"light",children:"subscribed"})}),(0,l.jsx)(u.i.Td,{children:(0,l.jsx)(h.x,{size:"xs",c:"dimmed",children:E(e.create_time)})}),(0,l.jsx)(u.i.Td,{children:(0,l.jsx)(h.x,{size:"xs",c:"dimmed",children:e.unsubscribed?E(e.unsubscribed_time):"—"})}),(0,l.jsx)(u.i.Td,{children:(0,l.jsx)(h.x,{size:"xs",c:"dimmed",children:e.unsubscribed_reason||"—"})})]},"".concat(e.website,":").concat(e.emailAddress)));return(0,l.jsxs)(T.Z,{children:[(0,l.jsxs)(x.Z,{justify:"space-between",mb:"md",align:"center",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(a.D,{order:3,className:"m-0",children:"Subscribers"}),(0,l.jsx)(h.x,{size:"sm",c:"dimmed",children:"mobile-interview"===P?"Mobile interview waitlist, separate from newsletter subscriptions.":"Newsletter subscribers (customer_emails), shared across all sites."})]}),(0,l.jsx)(c.z,{variant:"default",size:"xs",leftSection:(0,l.jsx)(g.Z,{size:14}),onClick:$,loading:W,children:"Refresh"})]}),Q&&(0,l.jsx)(d.b,{color:"red",icon:(0,l.jsx)(v.Z,{size:16}),mb:"md",children:Q}),(0,l.jsxs)(x.Z,{mb:"md",align:"flex-end",gap:"sm",children:[(0,l.jsx)(b.P,{label:"List",data:[{value:"newsletter",label:"General newsletter"},{value:"mobile-interview",label:"Mobile interview waitlist"}],value:P,onChange:e=>{("newsletter"===e||"mobile-interview"===e)&&M(e)},allowDeselect:!1}),(0,l.jsx)(b.P,{label:"Site",data:N,value:y,onChange:e=>e&&D(e),allowDeselect:!1,maw:220}),(0,l.jsx)(m.o,{label:"Search",placeholder:"Email address",leftSection:(0,l.jsx)(w.Z,{size:14}),value:A,onChange:e=>L(e.currentTarget.value),style:{flex:1}}),(0,l.jsx)(b.P,{label:"Sort",data:Z,value:R,onChange:e=>e&&G(e),allowDeselect:!1,maw:220})]}),(0,l.jsxs)("div",{className:"relative",children:[(0,l.jsx)(u.i.ScrollContainer,{minWidth:700,children:(0,l.jsxs)(u.i,{highlightOnHover:!0,verticalSpacing:"sm",children:[(0,l.jsx)(u.i.Thead,{children:(0,l.jsxs)(u.i.Tr,{children:[(0,l.jsx)(u.i.Th,{children:"Email"}),(0,l.jsx)(u.i.Th,{children:"Site"}),"mobile-interview"===P&&(0,l.jsx)(u.i.Th,{children:"Practice preference"}),(0,l.jsx)(u.i.Th,{children:"Status"}),(0,l.jsx)(u.i.Th,{children:"Subscribed"}),(0,l.jsx)(u.i.Th,{children:"Unsubscribed"}),(0,l.jsx)(u.i.Th,{children:"Reason"})]})}),(0,l.jsx)(u.i.Tbody,{children:ee})]})}),W&&0===X.length&&(0,l.jsx)(n.M,{mih:120,children:(0,l.jsx)(j.a,{size:"sm"})}),!W&&0===X.length&&(0,l.jsx)(n.M,{mih:120,children:(0,l.jsx)(h.x,{c:"dimmed",children:"No subscribers found."})})]}),(0,l.jsxs)(x.Z,{justify:"space-between",mt:"md",align:"center",children:[(0,l.jsxs)(h.x,{size:"sm",c:"dimmed",children:[B.toLocaleStr
1ing()," subscriber",1===B?"":"s",I>0?" \xb7 page ".concat(H," of ").concat(I):""]}),(0,l.jsxs)(x.Z,{gap:"xs",children:[(0,l.jsx)(c.z,{variant:"default",size:"xs",leftSection:(0,l.jsx)(S.Z,{size:14}),onClick:()=>K(e=>Math.max(1,e-1)),disabled:H<=1||W,children:"Previous"}),(0,l.jsx)(c.z,{variant:"default",size:"xs",rightSection:(0,l.jsx)(z.Z,{size:14}),onClick:()=>K(e=>e+1),disabled:H>=I||W,loading:W&&X.length>0,children:"Next"})]})]})]})}}},function(e){e.O(0,[37153,47423,38885,93715,92888,49774,40179],function(){return e(e.s=19321)}),_N_E=e.O()}]);

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.