PageSourceSearch

https://helpfoundation.org.uk/assets/CampaignDetail-h8j4l0SO.js

js helpfoundation.org.uk collected 2026-09-24 12:31:02 UTC 20,566 bytes, 1 lines download raw bytes

1import{r as m,j as e}from"./vendor-react-DNw-kZm-.js";import{c as De,L as J}from"./vendor-router-vKMkWiF4.js";import{I as le}from"./ImageWithFallback-BcyzNeZ3.js";import{b as $e,a as Le,c as Ae,d as Fe,e as Ie,C as Pe}from"./CampaignShareCard-e8GCauJQ.js";import{l as Te,h as Ee,o as Me,J as Ue,S as Re,K as Be,L as Oe,t as ze,k as Ge}from"./index-DfHkX6Ng.js";import{P as We}from"./PublicBreadcrumbs-PAOImBT-.js";import{u as Je}from"./usePublicCharityBrand-BnPNe1NX.js";import{L as oe,T as He,N as Ve,aM as qe,g as Ke,X as ce,m as Xe,n as Qe}from"./vendor-lucide-xDrOBQYS.js";import"./imageDelivery-DxvWSKVs.js";import"./vendor-pdf-C_-frLof.js";import"./vendor-charts-D16dH9ks.js";import"./vendor-stripe-DaacuDhl.js";import"./vendor-radix-CljS1jOz.js";function Ye({charitySlug:s,campaignSlug:o,customDomain:i}){return null}const j="#0066FF",N="#7B2D8E",me=["#E53935","#1E88E5","#43A047","#8E24AA","#FB8C00","#00897B"];function Ze(s){try{const o=new Date(s),d=new Date().getTime()-o.getTime(),n=Math.floor(d/(60*1e3)),l=Math.floor(d/(3600*1e3)),h=Math.floor(d/(1440*60*1e3));return n<1?"Just now":n<60?`${n} minute${n===1?"":"s"} ago`:l<24?`${l} hour${l===1?"":"s"} ago`:h===1?"1 day ago":h<30?`${h} days ago`:Ge(o)}catch{return"Recently"}}function et(s,o){var n,l,h;if((n=s.headline)!=null&&n.trim())return s.headline.trim();const i=((l=s.beneficiary_name)==null?void 0:l.trim())||((h=s.title)==null?void 0:h.trim())||"this cause";return`I'm raising £${Math.round(o).toLocaleString("en-GB")} to support ${i}`}function tt({pct:s}){const n=2*Math.PI*40.5,l=Math.max(0,Number(s)||0),h=Math.round(l),t=Math.min(l,100),[_,v]=m.useState(0),[w,u]=m.useState(0);m.useEffect(()=>{v(0),u(0);const U=1e3,D=performance.now();let S=0;const $=C=>1-Math.pow(1-C,3),p=C=>{const f=Math.min(1,(C-D)/U),L=$(f);v(t*L),u(Math.round(h*L)),f<1?S=requestAnimationFrame(p):(v(t),u(h))},b=window.setTimeout(()=>{S=requestAnimationFrame(p)},120);return()=>{window.clearTimeout(b),cancelAnimationFrame(S)}},[t,h]);const M=n-_/100*n;return e.jsxs("div",{className:"relative flex-shrink-0",style:{width:88,height:88},"aria-label":`${w}% of fundraising target reached`,children:[e.jsxs("svg",{width:88,height:88,className:"-rotate-90","aria-hidden":!0,children:[e.jsx("circle",{cx:88/2,cy:88/2,r:40.5,fill:"none",stroke:"#E8E8E8",strokeWidth:7}),e.jsx("circle",{cx:88/2,cy:88/2,r:40.5,fill:"none",stroke:N,strokeWidth:7,strokeLinecap:"round",strokeDasharray:n,strokeDashoffset:M})]}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsxs("span",{className:"text-[17px] font-bold leading-none tabular-nums",style:{color:N},children:[w,"%"]})})]})}function de(){return e.jsx("hr",{className:"border-0 border-t border-gray-200 my-0"})}function st({donor:s,index:o}){const i=s.name||"Anonymous",d=i==="Anonymous"?"A":i.charAt(0).toUpperCase(),n=me[o%me.length],l=s.time||s.created_at;return e.jsx("div",{className:"py-4 border-b border-gray-100 last:border-b-0",children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-full flex items-center justify-center flex-shrink-0 text-sm font-bold text-white",style:{backgroundColor:n},children:d}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[e.jsx("p",{className:"font-bold text-gray-900 text-sm",children:i}),e.jsx("p",{className:"text-xs text-gray-500 whitespace-nowrap",children:l?Ze(l):"Recently"})]}),s.message&&e.jsx("p",{className:"text-sm text-gray-800 mt-1 leading-relaxed",children:s.message}),s.amount!=null&&Number(s.amount)>0&&e.jsxs("p",{className:"text-base font-bold mt-1.5",style:{color:N},children:["£",Number(s.amount).toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})]})]})]})})}const at=s=>{if(!s)return null;const o=s.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/);if(o)return`https://www.youtube.com/embed/${o[1]}`;const i=s.match(/vimeo\.com\/(?:.*#|.*\/videos\/)?([0-9]+)/);return i?`https://player.vimeo.com/video/${i[1]}`:null},rt=s=>{const o=((s==null?void 0:s.image_url)||"").trim();let i=[];if(s!=null&&s.images)try{const d=typeof s.images=="string"?JSON.parse(s.images):s.images;Array.isArray(d)&&(i=d.map(String).map(n=>
1n.trim()).filter(Boolean))}catch{i=[]}return[...new Set([o,...i].filter(Boolean))]},H=s=>Oe(s)||s||"";function jt(){var se,ae,re;const{slug:s,charitySlug:o}=De(),i=Te(),{charitySlug:d}=Ee(),n=o||d,{data:l}=Me(),{primaryColor:h}=Je(),[t,_]=m.useState(null),[v,w]=m.useState(!0),[u,M]=m.useState([]),[U,D]=m.useState(!1),[S,$]=m.useState(!1),[p,b]=m.useState(0),[C,f]=m.useState("next"),[L,R]=m.useState(!1),[V,he]=m.useState(!1),[xe,q]=m.useState(!1);m.useEffect(()=>{async function a(){try{const r=localStorage.getItem(`preview_campaign_${s}`);if(r)try{const c=JSON.parse(r);_({...c,isLocalPreview:!0,goal_amount:Number(c.goal_amount||1e3),raised_amount:Number(c.raised_amount||0),creator_name:c.creator_name||c.charity_name||"Charity",image_url:c.image_url||c.image||""}),w(!1);return}catch(c){console.error("Error parsing local preview campaign:",c)}const g=new URL("https://api.donorhub.cloud/api/crowdfunding-campaigns");g.searchParams.set("limit","50"),s&&g.searchParams.set("slug",s),n&&g.searchParams.set("charity_slug",n);const ie=(await(await fetch(g.toString(),{headers:{"Content-Type":"application/json",...n?{"x-charity-slug":n}:{}}})).json()).data||[],W=ie.find(c=>c.slug===s)||ie[0]||null;if(_(W),W){D(!0);try{const ne=await(await fetch(`https://api.donorhub.cloud/api/crowdfunding-campaigns/${W.id}/donors`,{headers:{"Content-Type":"application/json"}})).json();ne.success&&M(ne.data||[])}catch(c){console.error("Error fetching donors:",c)}finally{D(!1)}}}catch(r){console.error("Error fetching campaign details:",r)}finally{w(!1)}}a()},[s,n]);const ge=()=>{navigator.clipboard.writeText(I),q(!0),ze.success("Link copied to clipboard!"),setTimeout(()=>q(!1),2e3)};if(v)return e.jsxs("div",{className:"min-h-screen flex flex-col items-center justify-center bg-white",children:[e.jsx(oe,{className:"w-12 h-12 animate-spin mb-4",style:{color:j}}),e.jsx("p",{className:"text-gray-500 font-semibold",children:"Loading campaign..."})]});if(!t)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-white",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-4",children:"Campaign Not Found"}),e.jsx(J,{to:i("campaigns"),className:"font-bold hover:underline",style:{color:j},children:"Back to Campaigns"})]})});const A=parseFloat(t.goal_amount)||1e3,B=parseFloat(t.raised_amount)||0,ue=A>0?B/A*100:0,pe=t.supporter_count||u.length||0;let F=[];if(t.updates)try{F=typeof t.updates=="string"?JSON.parse(t.updates):t.updates}catch{F=[]}const k=[];if(t.video_url&&k.push(t.video_url),t.videos)try{const a=typeof t.videos=="string"?JSON.parse(t.videos):t.videos;Array.isArray(a)&&a.forEach(r=>{r&&!k.includes(r)&&k.push(r)})}catch{}const x=rt(t),K=H(x[0])||"https://images.unsplash.com/photo-1464983953574-0892a716854b?auto=format&fit=crop&w=1200&q=80",fe=()=>{b(0),f("next"),$(!0)},ye=()=>{$(!1),b(0),f("next")},be=a=>{f(a>=p?"next":"prev"),b(a)},je=()=>{f("prev"),b(a=>a<=0?x.length-1:a-1)},Ne=()=>{f("next"),b(a=>a>=x.length-1?0:a+1)},ve=Ue(i,t.slug||s||""),y=t.fundraiser_name||t.creator_name||t.charity_name||"Organiser",X=y.split(/\s+/)[0]||y,O=t.charity_name||t.creator_name||"DonorHub",z=$e(t,O),Q=Le(t),Y=Ae(t.image_url,t.charity_logo)||K,I=Fe({charitySlug:n,campaignSlug:t.slug||s||"",customDomain:t.custom_domain||t.charity_custom_domain||((se=l==null?void 0:l.charity)==null?void 0:se.custom_domain)}),we=Ie({charitySlug:n,campaignSlug:t.slug||s||"",customDomain:t.custom_domain||t.charity_custom_domain||((ae=l==null?void 0:l.charity)==null?void 0:ae.custom_domain)}),G=I.startsWith("http")?I:typeof window<"u"?window.location.pathname:`/campaign/${t.slug}`,Se=et(t,A),P=t.story||t.beneficiary_story||t.description||"Thank you for supporting this fundraising campaign.",T=t.story_heading||t.title||"",Z=600,E=P.length>Z,Ce=V?u:u.slice(0,5),ke=5,ee=({className:a=""})=>e.jsx(J,{to:ve,className:`block w-full text-center py-3.5 rounded-md text-white font-bold text-base transition-colors hover:opacity-90 ${a}`,style:{backgroundColor:h},children:"Donate Me"}),_e=({className:a=""})=>e.jsx("button",{type:"button",onClick:()=>{const r=document.getElementById("share-card");r==null||r.scrollIntoView({behavior:"smooth"})},className:`block w-full text-center py-3.5 rounded-md border-2 border-gray-300 bg-white text-gray-900 font-bold text-base hover:bg-gray-50 transition-colors ${a}`,children:"Share"}),te=({className:a=""})=>e.jsxs("div",{className:a,children:[e.jsxs("div",{className:"border border-gray-200 rounded-lg p-5 mb-6",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-5",children:[t.show_goal_target!==!1&&e.jsx(tt,{pct:ue}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-2xl sm:text-3xl font-bold leading-tight",style:{color:N}
1,children:["£",B.toLocaleString("en-GB",{minimumFractionDigits:0,maximumFractionDigits:0})]}),t.show_goal_target!==!1&&e.jsxs("p",{className:"text-sm text-gray-600 mt-1 leading-snug",children:["raised of"," ",e.jsxs("strong",{children:["£",A.toLocaleString("en-GB")]})," target by"]}),e.jsxs("button",{type:"button",className:"text-sm font-semibold mt-0.5 hover:underline",style:{color:j},children:[pe.toLocaleString()," supporters"]})]})]}),e.jsxs("div",{className:"space-y-2.5",children:[e.jsx(ee,{}),e.jsx(_e,{})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-bold text-gray-900 mb-1",children:"Donations"}),U?e.jsx("div",{className:"flex justify-center py-8",children:e.jsx(oe,{className:"w-7 h-7 animate-spin",style:{color:N}})}):u.length===0?e.jsx("p",{className:"text-gray-500 text-sm py-6",children:"No donations yet. Be the first to give!"}):e.jsxs(e.Fragment,{children:[e.jsx("div",{children:Ce.map((r,g)=>e.jsx(st,{donor:r,index:g},g))}),u.length>ke&&!V&&e.jsx("button",{type:"button",onClick:()=>he(!0),className:"w-full mt-2 py-3 border border-gray-300 rounded-md text-sm font-bold text-gray-800 hover:bg-gray-50 transition-colors",children:"Show more supporters"}),e.jsx("div",{className:"mt-3",children:e.jsx(ee,{})})]})]})]});return e.jsxs("div",{className:"min-h-screen bg-white pb-16",style:{fontFamily:"Inter, system-ui, sans-serif"},children:[e.jsx(Re,{title:z,siteName:O,description:Q,keywords:`${t.title||"Campaign"}, crowdfunding, ${O}`,canonicalUrl:G,ogImage:Y,ogImageAlt:t.title||z,ogType:"website",breadcrumbs:[{name:"Home",url:i("home")},{name:"Campaigns",url:i("campaigns")},{name:String(t.title||"Campaign").trim()||"Campaign",url:G||i(`campaigns/${t.slug||""}`)}]}),t.isLocalPreview&&e.jsxs("div",{className:"bg-amber-500 text-white py-2.5 px-4 text-center font-semibold text-sm flex items-center justify-center gap-2 sticky top-0 z-50",children:[e.jsx(He,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{children:"Live preview — save in Campaign Management to publish."})]}),e.jsx(We,{items:[{name:"Home",url:i("home")},{name:"Campaigns",url:i("campaigns")},{name:String(t.title||"Campaign").trim()||"Campaign",url:G||i(`campaigns/${t.slug||""}`)}]}),e.jsx("div",{className:"border-b border-gray-200",children:e.jsx("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-3",children:e.jsxs(J,{to:i("campaigns"),className:"inline-flex items-center gap-2 text-gray-600 hover:text-gray-900 text-sm font-semibold",children:[e.jsx(Ve,{className:"w-4 h-4"}),"All campaigns"]})})}),e.jsxs("main",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-8",children:[e.jsx("h1",{className:"text-2xl sm:text-3xl lg:text-[2rem] font-bold text-gray-900 leading-snug mb-8",children:Se}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_320px] gap-8 lg:gap-10 items-start",children:[e.jsxs("div",{className:"min-w-0 space-y-0",children:[e.jsxs("div",{className:"relative mb-6 rounded-lg overflow-hidden bg-gray-50",children:[e.jsx(le,{src:K,alt:t.title,className:"w-full h-auto object-contain max-h-[480px] mx-auto block"}),x.length>0&&e.jsx("button",{type:"button",onClick:fe,className:"absolute top-3 right-3 z-10 flex items-center justify-center w-11 h-11 rounded-xl bg-white/95 shadow-md text-gray-900 hover:bg-white hover:scale-105 active:scale-95 transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[#0066FF]","aria-label":"Open media gallery",children:e.jsx(qe,{className:"w-6 h-6",strokeWidth:1.75})})]}),e.jsxs("div",{className:"flex items-center gap-3 py-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-gray-200 flex items-center justify-center text-gray-600 font-bold text-sm flex-shrink-0",children:y.charAt(0).toUpperCase()}),e.jsxs("p",{className:"text-sm text-gray-800",children:["Organised by ",e.jsx("strong",{children:y})]})]}),e.jsx(de,{}),t.category&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"py-4 text-sm text-gray-800 capitalize",children:t.category.replace(/-/g," ")}),e.jsx(de,{})]}),e.jsx("div",{className:"lg:hidden py-6",children:e.jsx(te,{})}),e.jsxs("section",{className:"py-6",children:[e.jsx("h2",{className:"text-xl font-bold mb-4",style:{color:N},children:"Story"}),T&&e.jsx("p",{className:"text-lg font-bold text-gray-900 mb-3",children:T}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:`text-gray-800 text-base leading-relaxed whitespace-pre-wrap ${E?"max-h-[280px] overflow-hidden":""}`,children:E?P.slice(0,Z).trim():P}),E&&e.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-24 bg-gradient-to-t from-white to-transparent pointer-events-none"})]}),E&&e.jsx("button",{type:"button",onClick:()=>R(!0),className:"mt-3 text-sm font-bold hover:underline",style:{color:j},children:"Read story"})]}),k.length>0&&e.jsx("section",{className:"space-y-4 pb-6",children:k.map((a,r)=>
1{const g=at(a);return g?e.jsx("div",{className:"rounded-lg overflow-hidden aspect-video bg-black",children:e.jsx("iframe",{src:g,title:`Video ${r+1}`,className:"w-full h-full",allowFullScreen:!0})},r):e.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"font-bold hover:underline",style:{color:j},children:["Watch video ",r+1]},r)})}),e.jsxs("div",{id:"share-card",className:"py-6",children:[e.jsx(Pe,{organiserFirstName:X,crawlerShareUrl:we,publicShareUrl:I,shareTitle:z,shareDescription:Q,shareImageUrl:Y,onCopy:ge,copied:xe}),e.jsx(Ye,{charitySlug:n,campaignSlug:t.slug||s||"",customDomain:t.custom_domain||t.charity_custom_domain||((re=l==null?void 0:l.charity)==null?void 0:re.custom_domain)})]}),F.length>0&&e.jsxs("section",{className:"py-6 border-t border-gray-200",children:[e.jsx("h2",{className:"text-xl font-bold text-gray-900 mb-5",children:"Updates"}),e.jsx("div",{className:"space-y-6",children:F.map((a,r)=>e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-full bg-gray-200 flex items-center justify-center text-sm font-bold text-gray-700 flex-shrink-0",children:y.charAt(0).toUpperCase()}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-0.5 mb-1",children:[e.jsx("span",{className:"font-bold text-gray-900 text-sm",children:y}),e.jsx("span",{className:"text-xs text-gray-500",children:a.date||(a.created_at?Be(a.created_at):"")})]}),a.title&&e.jsx("p",{className:"font-bold text-gray-900 text-sm mb-1",children:a.title}),e.jsx("p",{className:"text-sm text-gray-700 leading-relaxed",children:a.body||a.content})]})]},r))})]}),e.jsxs("section",{className:"py-6 border-t border-gray-200",children:[e.jsx("h2",{className:"text-xl font-bold text-gray-900 mb-4",children:"About the fundraiser"}),e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gray-200 flex items-center justify-center text-lg font-bold text-gray-700 flex-shrink-0",children:y.charAt(0).toUpperCase()}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-gray-900",children:y}),e.jsx("p",{className:"text-sm text-gray-500",children:"Organiser"}),t.creator_email&&e.jsxs("a",{href:`mailto:${t.creator_email}?subject=Regarding ${encodeURIComponent(t.title||"your campaign")}`,className:"inline-block mt-2 text-sm font-bold hover:underline",style:{color:j},children:["Message ",X]})]})]}),t.beneficiary_name&&e.jsxs("p",{className:"mt-4 text-sm text-gray-600",children:["Raising funds for"," ",e.jsx("strong",{className:"text-gray-900",children:t.beneficiary_name})]}),t.location&&e.jsxs("p",{className:"mt-2 flex items-center gap-1.5 text-sm text-gray-600",children:[e.jsx(Ke,{className:"w-4 h-4"}),t.location,t.country?`, ${t.country}`:""]})]}),e.jsxs("section",{className:"py-6 border-t border-gray-200",children:[e.jsx("h2",{className:"text-xl font-bold text-gray-900 mb-1",children:"Donation summary"}),e.jsx("p",{className:"text-sm text-gray-500 mb-1",children:"Total"}),e.jsxs("p",{className:"text-2xl font-bold text-gray-900",children:["£",B.toLocaleString("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})]})]})]}),e.jsx("aside",{className:"hidden lg:block sticky top-6",children:e.jsx(te,{})})]})]}),L&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-8 bg-black/40",onClick:()=>R(!1),role:"dialog","aria-modal":"true","aria-labelledby":"campaign-story-title",children:e.jsxs("div",{className:"relative bg-white w-full max-w-2xl max-h-[85vh] rounded-sm shadow-xl flex flex-col",onClick:a=>a.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center justify-between px-6 py-5 border-b border-gray-200 flex-shrink-0",children:[e.jsx("h2",{id:"campaign-story-title",className:"text-2xl font-bold text-gray-900",children:"Story"}),e.jsx("button",{type:"button",onClick:()=>R(!1),className:"p-1 text-gray-500 hover:text-gray-900 transition-colors","aria-label":"Close story",children:e.jsx(ce,{className:"w-6 h-6",strokeWidth:2})})]}),e.jsxs("div",{className:"overflow-y-auto px-6 py-5 flex-1",children:[T&&e.jsx("p",{className:"text-lg font-bold text-gray-900 mb-4",children:T}),e.jsx("div",{className:"text-gray-800 text-base leading-relaxed whitespace-pre-wrap",children:P})]})]})}),S&&x.length>0&&e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-[#2d2348]/90 animate-gallery-overlay-in",role:"dialog","aria-modal":"true","aria-label":"Media gallery",children:[e.jsxs("div",{className:"flex items-center justify-center relative px-4 pt-5 pb-2 flex-shrink-0 animate-gallery-fade-in",children:[e.jsx("h2",{className:"text-white text-lg font-semibold tracking-wide",children:"Media Gallery"}),e.jsx("button",{type:"button",onClick:ye,className:"absolute right-4 top-5 p-1 text-white/90 hover:text-white transition-colors duration-200","aria-label":"Close gallery",children:e.jsx(ce,{className:"w-7 h-7",strokeWidth:2})})]}),e.jsxs("div",{className:"flex-1 flex items-center justify-center relative px-4 min-h-0 overflow-hidden",children:[x.length>1&&e.jsx("button",{type:"button",onClick:je,className:"absolute left-2 sm:left-6 z-10 p-2 text-white/90 hover:text-white hover:scale-110 active:scale-95 transition-all duration-200","aria-label":"Previous image",children:e.jsx(Xe,{className:"w-10 h-10 sm:w-12 sm:h-12",strokeWidth:1.5})}),e.jsx("div",{className:"max-w-4xl w-full flex items-center justify-center overflow-hidden",children:e.jsx(le,{src:H(x[p]),alt:`${t.title} — image ${p+1}`,className:`max-w-full max-h-[62vh] w-auto h-auto object-contain mx-auto ${C==="next"?"animate-gallery-slide-next":"animate-gallery-slide-prev"}`},p)}),x.length>1&&e.jsx("button",{type:"button",onClick:Ne,className:"absolute right-2 sm:right-6 z-10 p-2 text-white/90 hover:text-white hover:scale-110 active:scale-95 transition-all duration-200","aria-label":"Next image",children:e.jsx(Qe,{className:"w-10 h-10 sm:w-12 sm:h-12",strokeWidth:1.5})})]}),x.length>1&&e.jsx("div",{className:"flex justify-center gap-2 px-4 py-6 flex-shrink-0 overflow-x-auto animate-gallery-fade-in",children:x.map((a,r)=>
1e.jsx("button",{type:"button",onClick:()=>be(r),className:`flex-shrink-0 w-20 h-14 sm:w-24 sm:h-16 rounded overflow-hidden border-[3px] transition-all duration-300 ease-out ${r===p?"border-[#0066FF] opacity-100 scale-105":"border-transparent opacity-70 hover:opacity-100 hover:scale-105"}`,"aria-label":`View image ${r+1}`,"aria-current":r===p?"true":void 0,children:e.jsx("img",{src:H(a),alt:"",className:"w-full h-full object-cover"})},`${a}-${r}`))})]})]})}export{jt as CampaignDetail};

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.