1import{H as i,d,j as e,L as o}from"./index-BllDdWz7.js";import{A as s}from"./AdminLayout-BAVvS6fw.js";import{M as c}from"./index-Dc8cNkzF.js";import"./index-DUhPxtlJ.js";function f(){const{newsletterId:r}=i.useParams(),{data:n,isLoading:a}=d({queryKey:["admin","newsletter",r],queryFn:async()=>{const l=await fetch(`https://api.vidpipe.ai/api/admin/newsletters/${r}`,{credentials:"include"});if(!l.ok)throw new Error("Failed to fetch newsletter");return l.json()}});if(a)return e.jsx(s,{children:e.jsxs("div",{className:"text-center py-12",children:[e.jsx("div",{className:"inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-cyan-600 border-r-transparent"}),e.jsx("p",{className:"mt-4 text-slate-600",children:"Loading newsletter..."})]})});if(!n?.newsletter)return e.jsx(s,{children:e.jsx("div",{className:"bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded",children:"Newsletter not found"})});const t=n.newsletter;return e.jsxs(s,{children:[e.jsx("div",{className:"mb-8",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-slate-900",children:t.title}),e.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[e.jsxs(o,{to:"/admin/users/$userId",params:{userId:t.userId},className:"text-sm text-cyan-600 hover:text-cyan-700",children:["by ",t.user.name||t.user.email]}),e.jsx("span",{className:"text-sm text-slate-500",children:new Date(t.createdAt).toLocaleDateString()})]})]}),e.jsx("a",{href:`/newsletters/${t.id}`,target:"_blank",rel:"noopener noreferrer",className:"px-4 py-2 bg-cyan-600 text-white rounded-md hover:bg-cyan-700 font-medium text-sm",children:"View Public Page â"})]})}),e.jsxs("div",{className:"flex flex-row gap-8",children:[e.jsx("div",{className:"w-80 max-w-sm flex-shrink-0",children:e.jsxs("div",{className:"bg-white shadow-sm rounded-lg p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-3",children:"Source Video"}),t.video.thumbnailUrl&&e.jsx("img",{src:t.video.thumbnailUrl,alt:t.video.title,className:"w-full rounded mb-2"}),e.jsx("p",{className:"text-sm text-slate-700 font-medium",children:t.video.title}),e.jsx("a",{href:t.video.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-cyan-600 hover:text-cyan-700 mt-1 inline-block",children:"Watch Video â"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-3",children:"Statistics"}),e.jsxs("dl",{className:"space-y-2",children:[e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Word Count"}),e.jsx("dd",{className:"text-sm font-medium text-slate-900",children:t.wordCount.toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Style"}),e.jsx("dd",{className:"text-sm font-medium text-slate-900 capitalize",children:t.style})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Length"}),e.jsx("dd",{className:"text-sm font-medium text-slate-900 capitalize",children:t.length})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Source Type"}),e.jsx("dd",{className:"text-sm font-medium text-slate-900 capitalize",children:t.sourceType})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-slate-900 mb-3",children:"Email Details"}),e.jsxs("dl",{className:"space-y-2",children:[e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Subject Line"}),e.jsx("dd",{className:"text-sm text-slate-900",children:t.subjectLine})]}),e.jsxs("div",{children:[e.jsx("dt",{className:"text-xs text-slate-500",children:"Preview Text"}),e.jsx("dd",{className:"text-sm text-slate-900",children:t.previewText})]})]})]})]})}),e.jsx("div",{className:"flex-1 min-w-0",children:e.jsxs("div",{className:"bg-white shadow-sm rounded-lg p-8",children:[e.jsxs("div",{className:"mb-8 p-6 bg-slate-50 rounded-lg border-2 border-dashed border-slate-300",children:[e.jsx("div",{className:"text-xs text-slate-500 mb-2",children:"EMAIL PREVIEW"}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs font-semibold text-slate-700",children:"Subject:"}),e.jsx("p",{className:"text-sm font-medium text-slate-900",children:t.subjectLine})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-xs font-semibold text-slate-700",children:"Preview:"}),e.jsx("p",{className:"text-sm text-slate-600",children:t.previewText})]})]})]}),e.jsx("div",{className:"newsletter-content w-full",children:e.jsx(c,{children:t.content})}),e.jsx("style",{children:` 2 .newsletter-content { 3 font-size: 1.125rem; 4 line-height: 1.75rem; 5 color: #374151; 6 } 7 .newsletter-content h1 { 8 font-size: 2.25rem; 9 font-weight: 800; 10 margin-top: 2rem; 11 margin-bottom: 1rem; 12 color: #111827; 13 } 14 .newsletter-content h2 { 15 font-size: 1.875rem; 16 font-weight: 700; 17 margin-top: 2rem; 18 margin-bottom: 1rem; 19 color: #111827; 20 } 21 .newsletter-content h3 { 22 font-size: 1.5rem; 23 font-weight: 600; 24 margin-top: 1.5rem; 25 margin-bottom: 0.75rem; 26 color: #111827; 27 } 28 .newsletter-content p { 29 margin-bottom: 1.25rem; 30 } 31 .newsletter-content ul, .newsletter-content ol { 32 margin-bottom: 1.25rem; 33 padding-left: 1.5rem; 34 } 35 .newsletter-content li { 36 margin-bottom: 0.5rem; 37 } 38 .newsletter-content a { 39 color: #9333ea; 40 text-decoration: underline; 41 } 42 .newsletter-content a:hover { 43 color: #7e22ce; 44 } 45 .newsletter-content strong { 46 font-weight: 600; 47 } 48 .newsletter-content code { 49 background-color: #f3f4f6; 50 color: #1f2937; 51 padding: 0.125rem 0.25rem; 52 border-radius: 0.25rem; 53 font-size: 0.875em; 54 } 55 .newsletter-content pre { 56 background-color: #1f2937; 57 color: #f9fafb; 58 padding: 1rem; 59 border-radius: 0.5rem; 60 overflow-x: auto; 61 margin-bottom: 1.25rem; 62 } 63 .newsletter-content pre code { 64 background-color: transparent; 65 color: #f9fafb; 66 padding: 0; 67 } 68 .newsletter-content blockquote { 69 border-left: 4px solid #0891b2; 70 padding-left: 1rem; 71 color: #6b7280; 72 font-style: italic; 73 margin-bottom: 1.25rem; 74 } 75 `})]})})]})]})}export{f as component};
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.