1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3402],{5030:(e,t,s)=>{Promise.resolve().then(s.bind(s,7086))},7086:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>v});var r=s(95155),a=s(12115),n=s(98500),l=s.n(n),d=s(6296),i=s(41585),c=s(12651),m=s(70376),x=s(91958),h=s(21628),u=s(27177),o=s(17811),p=s(25103),f=s(60633),g=s(85284),b=s(95324);let y="AdminOrderEmails",j=e=>e?new Date(e).toLocaleString("de-DE",{dateStyle:"medium",timeStyle:"short"}):"â";function N(){let e=(0,g.d)(),[t,s]=(0,a.useState)([]),[n,o]=(0,a.useState)(0),[N,v]=(0,a.useState)(!0),[k,w]=(0,a.useState)(null),A=(0,a.useCallback)(async()=>{try{v(!0);let e=await f.u.get("/api/admin/email/order-confirmations");s(e.failures??[]),o(e.untracked??0)}catch(t){b.v.error("Failed to load undelivered confirmations",{context:y,error:String(t)}),e.error("\xdcbersicht konnte nicht geladen werden")}finally{v(!1)}},[e]);(0,a.useEffect)(()=>{A()},[A]);let z=async t=>{try{w(t),await f.u.post("/api/admin/email/order-confirmations",{purchaseId:t}),await A(),e.success("Erneut gesendet â die Liste zeigt das Ergebnis")}catch(t){b.v.error("Resend failed",{context:y,error:String(t)}),e.error("Erneutes Senden fehlgeschlagen")}finally{w(null)}};return N?(0,r.jsx)(u.z,{children:(0,r.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center min-h-[60vh]",children:[(0,r.jsx)(d.A,{className:"w-8 h-8 animate-spin text-primary"}),(0,r.jsx)("p",{className:"mt-4 text-text-secondary",children:"L\xe4dt â¦"})]})}):(0,r.jsx)(u.z,{children:(0,r.jsxs)("div",{className:"container mx-auto px-6 py-8 max-w-4xl relative z-10",children:[(0,r.jsxs)("div",{className:"mb-6",children:[(0,r.jsx)("h1",{className:"text-2xl font-bold text-text-primary",children:"Bestellbest\xe4tigungen"}),(0,r.jsx)("p",{className:"text-text-secondary text-sm",children:"Die Best\xe4tigung liefert die Widerrufsbelehrung auf dauerhaftem Datentr\xe4ger. Bleibt sie aus, fehlt dem Kunden diese Belehrung â hier steht, bei wem."})]}),n>0&&(0,r.jsxs)("div",{className:"flex items-start gap-2 bg-panel border border-border rounded-xl p-4 mb-6",children:[(0,r.jsx)(i.A,{className:"w-5 h-5 text-text-muted shrink-0 mt-0.5"}),(0,r.jsxs)("p",{className:"text-sm text-text-secondary",children:[(0,r.jsx)("strong",{className:"text-text-primary",children:n})," ",1===n?"Kauf stammt":"K\xe4ufe stammen"," aus der Zeit vor der Zustellungserfassung (vor dem 01.08.2026). Ob die Best\xe4tigung dort angekommen ist, wissen wir nicht â deshalb stehen sie hier nicht als Fehlschlag."]})]}),0===t.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 text-center bg-panel rounded-xl border border-border",children:[(0,r.jsx)(c.A,{className:"w-16 h-16 text-text-muted mb-4"}),(0,r.jsx)("p",{className:"text-lg text-text-secondary",children:"Alle erfassten Best\xe4tigungen wurden zugestellt"})]}):(0,r.jsx)("div",{className:"space-y-4",children:t.map(e=>{let t,s;return(0,r.jsxs)("div",{className:"bg-panel p-5 rounded-xl border border-red-500/40",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[(0,r.jsx)(m.A,{className:"w-5 h-5 text-red-600 dark:text-red-400"}),(0,r.jsx)("span",{className:"font-semibold text-text-primary",children:e.email??"keine Adresse gespeichert"}),(0,r.jsx)("span",{className:"px-2 py-1 rounded-full text-xs font-medium bg-red-500/10 text-red-600 dark:text-red-400",children:"no_recipient"===e.status?"keine Adresse":"nicht zugestellt"})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-4 text-sm text-text-muted mb-3",children:[(0,r.jsxs)("span",{children:["#",e.lsOrderNumber??"â"]}),(0,r.jsx)("span",{children:(t=e.paidTotalCents,s=e.currency,new Intl.NumberFormat("de-DE",{style:"currency",currency:s}).format(t/100))}),(0,r.jsxs)("span",{children:["Kauf: ",j(e.purchasedAt)]}),(0,r.jsxs)("span",{children:["Letzter Versuch: ",j(e.lastAttemptAt)]}),(0,r.jsxs)("span",{children:[e.attempts," ",1===e.attempts?"Versuch":"Versuche"]})]}),e.error&&(0,r.jsx)("p",{className:"text-sm text-text-secondary bg-surface border border-border rounded-lg p-3 mb-3 font-mono break-all",children:e.error}),"no_recipient"===e.status?(0,r.jsx)("p",{className:"text-sm text-text-secondary",children:"Ohne Adresse hilft kein erneuter Versand. Die Belehrung muss auf einem anderen Weg zugestellt werden."}):(0,r.jsxs)(p.$n,{variant:"cta",size:"sm",onClick:()=>z(e.purchaseId),disabled:k===e.purchaseId,isLoading:k===e.purchaseId,children:[(0,r.jsx)(x.A,{className:"w-4 h-4"}),"Erneut senden"]})]},e.purchaseId)})}),(0,r.jsxs)(l(),{href:"/admin/refunds",className:"inline-flex items-center gap-1 mt-6 text-sm text-primary hover:underline",children:["Zur Erstattungswarteschlange",(0,r.jsx)(h.A,{className:"w-4 h-4"})]})]})})}function v(){return(0,r.jsx)(o.fz,{children:(0,r.jsx)(N,{})})}},12651:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(6404).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},70376:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(6404).A)("mail-warning",[["path",{d:"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5",key:"e61zoh"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"M20 14v4",key:"1hm744"}],["path",{d:"M20 22v.01",key:"12bgn6"}]])},91958:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(6404).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])}},e=>
1{e.O(0,[9114,8500,463,8636,9763,9426,5989,9336,8273,7726,6132,5719,4716,7133,9718,6817,897,5912,8315,6742,8235,1808,7811,8441,5838,7358],()=>e(e.s=5030)),_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.