PageSourceSearch

https://fundrobin.com/assets/GrantDatabase-CFZLkEGc.js

js fundrobin.com collected 2026-10-07 03:09:16 UTC 27,131 bytes, 1 lines download raw bytes

1import{a as i,j as e,d as Y,U as je,z as Z,az as ee,S as I,H as ye,X as se,ap as te,e as ae,J as Ne,aw as we,v as ve,au as Se,p as Ce}from"./react-core-rcR7rEnv.js";import{u as ke,c as Fe,S as $e,d as _e,b as De,H as Ae,f as Ue,P as O,h as Re,F as Le,U as Pe,V as ne}from"./page-homepage-BTKoNnze.js";import{b as Ee}from"./router-essential-DcEXLZgn.js";import{u as Ge,m as h,A as ie}from"./animations-heavy-Bfh8LoKT.js";import{M as re}from"./markdown-async-BD2tKf35.js";import"./vendor-misc-small-CXVdBr3k.js";import"./react-dom-server-B838w9qp.js";const{text:F,components:Me,layout:$,presets:Te}=Ue,Ie=()=>e.jsxs("div",{className:"bg-white rounded-xl border-l-4 border-l-slate-200 border border-slate-200 p-4 animate-pulse",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"h-5 bg-slate-200 rounded w-3/4 mb-2"}),e.jsx("div",{className:"h-4 bg-slate-100 rounded w-1/2"})]}),e.jsx("div",{className:"w-8 h-8 bg-slate-100 rounded-full"})]}),e.jsx("div",{className:"h-4 bg-slate-100 rounded w-full mb-3"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"h-6 bg-slate-100 rounded-full w-20"}),e.jsx("div",{className:"h-6 bg-slate-100 rounded-full w-16"})]})]}),Oe=(r,x=2e3,y=!0)=>{const[N,w]=i.useState(r),c=i.useRef(r),o=i.useRef(null),g=p=>1-Math.pow(1-p,4);return i.useEffect(()=>{if(!y||r===0){c.current=r,w(r);return}const p=c.current,v=r-p,S=u=>{o.current===null&&(o.current=u);const C=u-o.current,t=Math.min(C/x,1),_=g(t),b=Math.floor(p+_*v);b!==c.current&&(c.current=b,w(b)),t<1?requestAnimationFrame(S):w(r)};o.current=null,requestAnimationFrame(S)},[r,x,y]),N},V=({icon:r,value:x,label:y,prefix:N="",suffix:w="+",color:c,delay:o=0,isInView:g=!1})=>{const[p,v]=i.useState(!1),S=Oe(x,2e3,p);i.useEffect(()=>{if(g&&x>0){const t=setTimeout(()=>v(!0),o);return()=>clearTimeout(t)}},[g,x,o]);const u={cyan:{bg:"from-cyan-500 to-blue-600",iconBg:"bg-white/20",glow:"shadow-cyan-500/25"},green:{bg:"from-emerald-500 to-teal-600",iconBg:"bg-white/20",glow:"shadow-emerald-500/25"},purple:{bg:"from-purple-500 to-indigo-600",iconBg:"bg-white/20",glow:"shadow-purple-500/25"}},C=t=>t>=1e9?`${(t/1e9).toFixed(1)}B`:t>=1e6?`${(t/1e6).toFixed(0)}M`:t.toLocaleString();return e.jsxs(h.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},transition:{duration:.5,delay:o/1e3},className:`relative bg-gradient-to-br ${u[c].bg} rounded-2xl p-5 text-white shadow-xl ${u[c].glow} overflow-hidden group hover:scale-105 transition-transform duration-300`,children:[e.jsx("div",{className:"absolute top-0 right-0 w-20 h-20 bg-white/10 rounded-full -translate-y-1/2 translate-x-1/2"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-16 h-16 bg-white/5 rounded-full translate-y-1/2 -translate-x-1/2"}),e.jsxs("div",{className:"relative z-10",children:[e.jsx("div",{className:`inline-flex items-center justify-center w-10 h-10 ${u[c].iconBg} rounded-xl mb-3`,children:e.jsx(r,{className:"w-5 h-5"})}),e.jsxs("div",{className:"text-3xl font-bold tracking-tight mb-1",children:[N,C(S),w]}),e.jsx("div",{className:"text-sm text-white/80 font-medium",children:y})]})]})};function We(){const[r,x]=Ee(),y=r.get("q")?.trim()??"",N=Number(r.get("page")||"1"),w=Number.isFinite(N)&&N>0?Math.floor(N):1,[c,o]=i.useState(y),[g,p]=i.useState(y),[v,S]=i.useState([]),[u,C]=i.useState([]),[t,_]=i.useState(null),[b,le]=i.useState([]),[D,oe]=i.useState(0),R=Pe(),j=ke({defer:R?6e4:void 0}),[L,K]=i.useState(!0),[ce,de]=i.useState(!1),[P,q]=i.useState(null),[z,E]=i.useState(w);Fe(),i.useEffect(()=>{const s=r.get("q")?.trim()??"",a=Number(r.get("page")||"1"),n=Number.isFinite(a)&&a>0?Math.floor(a):1;o(s),p(s),E(n)},[r]),i.useEffect(()=>{if(R)return;(async()=>{try{K(!0),q(null);const[a,n]=await Promise.all([ne.searchOpportunities({search:g||void 0},{page:z,limit:10}),ne.getOpportunityCount({search:g||void 0})]);le(a.data),oe(n)}catch(a){console.error("Failed to fetch opportunities:",a),q("Failed to load grant opportunities. Please try again later.")}finally{K(!1),de(!0)}})()},[R,g,z]);const B=i.useCallback(()=>{const s=c.trim(),a=new URLSearchParams(r);s?a.set("q",s):a.delete("q"),a.delete("page"),E(1),o(s),p(s),x(a,{replace:!1})},[r,c,x]),H=i.useCallback(()=>{const s=new URLSearchParams(r);s.delete("q"),s.delete("page"),E(1),o(""),p(""),x(s,{replace:!1})},[r,x]),me=s=>{s.key==="Enter"&&B()},f=g.trim(),xe=f.toLowerCase(),G=f?b.filter(s=>[s.title,s.funder_name,s.objectives,s.scope,s.sector,...s.focus_areas??[],...s.geographic_tags??[],...s.eligibility_criteria??[]].filter(
1Boolean).join(" ").toLowerCase().includes(xe)):b,k=f&&G.length>0?G:b,ue=f.length>0&&b.length>0&&G.length===0,he=s=>{v.includes(s)||S([...v,s])},pe=s=>{u.includes(s)?C(u.filter(a=>a!==s)):C([...u,s])},ge=s=>{const a={USD:"$",GBP:"£",EUR:"€",CAD:"C$",AUD:"A$",CHF:"CHF ",JPY:"¥",INR:"₹",NZD:"NZ$",SEK:"kr ",NOK:"kr ",DKK:"kr ",SGD:"S$",HKD:"HK$",ZAR:"R",KES:"KSh ",NGN:"₦",CNY:"¥",KRW:"₩",BRL:"R$",MXN:"MX$"};if(!s)return"$";const n=s.trim().toUpperCase();return["$","£","€","¥","₹","₦","₩"].includes(s.trim())?s.trim():a[n]||`${n} `},A=(s,a)=>{if(a==="m"){const l=s/1e6;return l%1===0?`${l}m`:`${l.toFixed(1)}m`}const n=s/1e3;return n%1===0?`${n}k`:`${n.toFixed(1)}k`},Q=s=>{if(!s.funding_amount_min&&!s.funding_amount_max)return"Not specified";const a=ge(s.funding_currency),n=s.funding_amount_min||0,l=s.funding_amount_max||0,d=m=>m>=1e6?"m":m>=1e3?"k":null;if(s.funding_amount_min&&s.funding_amount_max){const m=d(l)||d(n);return m?`${a}${A(n,m)} - ${a}${A(l,m)}`:`${a}${n.toLocaleString()} - ${a}${l.toLocaleString()}`}if(s.funding_amount_max){const m=d(l);return m?`Up to ${a}${A(l,m)}`:`Up to ${a}${l.toLocaleString()}`}const U=d(n);return U?`From ${a}${A(n,U)}`:`From ${a}${n.toLocaleString()}`},W=s=>{if(!s)return{color:"text-slate-600",label:"Rolling"};const a=new Date(s),n=new Date,l=Math.ceil((a.getTime()-n.getTime())/(1e3*60*60*24)),d=a.toLocaleDateString("en-US",{month:"short"});return l<0?{color:"text-slate-500",label:"Closed"}:l<=7?{color:"text-red-600",label:d}:l<=30?{color:"text-amber-600",label:d}:{color:"text-green-600",label:d}},fe=s=>{_(s),he(s.id)},X=()=>{_(null)},J=i.useRef(null),M=Ge(J,{once:!0,amount:.3});return e.jsxs(e.Fragment,{children:[e.jsx($e,{title:"Grant Database for Charities and Nonprofits | FundRobin",description:"Search FundRobin's grant database for funders, opportunities, eligibility, deadlines and funding context across UK, US and international sources.",canonical:"https://fundrobin.com/grant-database",keywords:"grant database, free grant database, grant search database, donor database, funding opportunities database, nonprofit grant database",additionalSchema:[_e(De("/grant-database"))]}),e.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 via-white to-cyan-50",children:[e.jsx(Ae,{}),e.jsxs("main",{id:"main-content",children:[e.jsxs("section",{className:`${Te.heroSection} pt-32 lg:pt-40`,children:[e.jsx("div",{className:"absolute top-0 right-0 w-[500px] h-[500px] bg-gradient-to-br from-cyan-200/20 to-blue-200/20 rounded-full blur-3xl"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-[500px] h-[500px] bg-gradient-to-tr from-purple-200/20 to-cyan-200/20 rounded-full blur-3xl"}),e.jsx("div",{className:$.container,children:e.jsxs(h.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8},className:"text-center max-w-5xl mx-auto relative z-10",children:[e.jsxs("div",{className:"inline-flex items-center space-x-2 bg-gradient-to-r from-cyan-100 via-blue-100 to-purple-100 px-6 py-3 rounded-full mb-8 border border-cyan-200/50",children:[e.jsx(Y,{className:"w-5 h-5 text-cyan-600"}),e.jsxs("span",{className:`text-sm font-semibold ${F.gradient.secondary}`,children:[j.opportunityLabel," Active Opportunities"]})]}),e.jsxs("h1",{className:`${F.display[1]} text-slate-900 mb-6 leading-tight`,children:["Grant database",e.jsx("span",{className:`block ${F.gradient.brand}`,children:"for charities and nonprofits"})]}),e.jsxs("div",{className:`${F.body.large} text-slate-600 mb-10 max-w-2xl mx-auto text-center font-medium`,children:["Access the most comprehensive, AI-powered funding directory for charities, nonprofits, and social enterprises. Discover over ",j.donorLabel," active funders and ",j.fundingLabel," in available capital."]}),e.jsxs("div",{ref:J,className:"grid grid-cols-1 sm:grid-cols-3 gap-4 max-w-3xl mx-auto",children:[e.jsx(V,{icon:je,value:j.donorCount,label:"Funders in Database",color:"purple",delay:0,isInView:M}),e.jsx(V,{icon:Z,value:j.opportunityCount,label:"Active Opportunities",color:"cyan",delay:200,isInView:M}),e.jsx(V,{icon:ee,value:j.totalFunding,label:"Total Funding",prefix:"£",suffix:"+",color:"green",delay:400,isInView:M})]})]})})]}),e.jsx("section",{className:"py-16 bg-slate-50/50",children:e.jsxs("div",{className:$.container,children:[e.jsx("h2",{className:"sr-only",children:"How the Grant Database Works"}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8 max-w-6xl mx-auto",children:[e.jsxs(h.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.1},className:"bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow",children:[e.jsx("div",{className:"w-12 h-12 bg-cyan-100 rounded-xl flex items-center justify-center mb-6",children:e.jsx(Z,{className:"w-6 h-6 text-cyan-600"})}),e.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Comprehensive Directory"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"Curated grant opportunities from supported public sources, structured so teams can research foundation, government, corporate, and trust funding in one place. The original funder remains authoritative for current criteria and deadlines."})]}),e.jsxs(h.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.2},className:"bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow",children:[e.jsx("div",{className:"w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center mb-6",children:e.jsx(I,{className:"w-6 h-6 text-purple-600"})}),e.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"Smart Filtering"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"Instantly f
1ilter opportunities by geographical region, funding amount, sector, and application deadline. Track eligibility, past giving history, and key funder objectives in one place."})]}),e.jsxs(h.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:.3},className:"bg-white p-8 rounded-2xl shadow-sm border border-slate-100 hover:shadow-md transition-shadow",children:[e.jsx("div",{className:"w-12 h-12 bg-emerald-100 rounded-xl flex items-center justify-center mb-6",children:e.jsx(Y,{className:"w-6 h-6 text-emerald-600"})}),e.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-3",children:"AI-Powered Success"}),e.jsx("p",{className:"text-slate-600 leading-relaxed",children:"Unlock the full power of our AI Matching Engine. Generate bespoke grant proposals, logic models, and budget narratives tailored exactly to the funder's stated goals in minutes."})]})]})]})}),e.jsx("section",{className:"py-10 bg-white border-t border-slate-100",children:e.jsx("div",{className:$.container,children:e.jsx("div",{className:"max-w-3xl mx-auto text-center",children:e.jsxs("p",{className:"text-slate-600 leading-relaxed text-base",children:["The FundRobin grant database is a continuously updated directory of over"," ",j.donorLabel," active funders — covering charitable trusts, government programmes, corporate foundations, and international funders across the UK, US, EU, Australia, and Canada. Each listing includes eligibility criteria, funding ranges, and deadline information so grant seekers can quickly identify the best-fit opportunities. FundRobin's AI matching engine analyses your organisation's mission, sector, and location to surface the most relevant grants and help you write tailored proposals — reducing the time from discovery to application."]})})})}),e.jsx("section",{className:"py-12 bg-white border-b border-slate-100",children:e.jsx("div",{className:$.container,children:e.jsxs(h.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},className:"max-w-4xl mx-auto",children:[e.jsxs("div",{className:"relative mb-6",children:[e.jsx(I,{className:"absolute left-4 top-1/2 transform -translate-y-1/2 text-slate-500 w-5 h-5 cursor-pointer hover:text-cyan-500 transition-colors",onClick:B}),e.jsx("input",{type:"search",placeholder:"Search by grant title, funder, or keyword...","aria-label":"Search grants by title, funder, or keyword",value:c,onChange:s=>o(s.target.value),onKeyDown:me,className:"w-full pl-12 pr-32 py-4 border-2 border-slate-200 rounded-2xl text-lg focus:border-cyan-500 focus:outline-none transition-colors",autoComplete:"off"}),e.jsx("div",{className:"absolute right-4 top-1/2 transform -translate-y-1/2 pointer-events-none text-slate-500 text-sm font-medium border border-slate-200 rounded-lg px-2 py-1 bg-slate-50",children:"Press Enter ⏎"})]}),f&&e.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-center gap-3 text-sm",children:[e.jsxs("span",{className:"rounded-full bg-cyan-50 px-4 py-2 font-medium text-cyan-700 border border-cyan-100",children:['Search: "',f,'"']}),e.jsx("button",{type:"button",onClick:H,className:"font-semibold text-slate-500 hover:text-cyan-600 transition-colors",children:"Clear search"})]}),e.jsx("div",{className:"text-sm text-slate-600 text-center",children:ce?f?e.jsxs(e.Fragment,{children:["Showing"," ",e.jsx("span",{className:"font-semibold text-slate-900",children:k.length})," ",ue?"ranked":"matching"," opportunities for"," ",e.jsxs("span",{className:"font-semibold text-slate-900",children:['"',f,'"']}),e.jsxs("span",{className:"block mt-1 text-slate-500",children:[D.toLocaleString()," opportunities indexed in the database"]})]}):e.jsxs(e.Fragment,{children:["Showing"," ",e.jsx("span",{className:"font-semibold text-slate-900",children:k.length})," ","out of"," ",e.jsx("span",{className:"font-semibold text-slate-900",children:D.toLocaleString()})," ","opportunities"]}):e.jsx("p",{children:"Search the live opportunity database to see current results and counts."})})]})})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:$.container,children:[L&&e.jsx("div",{className:"max-w-6xl mx-auto",children:e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[...Array(6)].map((s,a)=>e.jsx(Ie,{},a))})}),P&&!L&&e.jsx("div",{className:"max-w-2xl mx-auto text-center py-20",children:e.jsxs("div",{className:"bg-red-50 border border-red-200 rounded-2xl p-8",children:[e.jsx("div",{className:"text-red-600 mb-4",children:e.jsx("svg",{className:"w-16 h-16 mx-auto",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}),e.jsx("h3",{className:"text-xl font-semibold text-slate-900 mb-2",children:"Oops! Something went wrong"}),e.jsx("p",{className:"text-slate-600 mb-6",children:P}),e.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-3 bg-red-600 text-white rounded-xl hover:bg-red-700 transition-colors",children:"Try Again"})]})}),!L&&!P&&e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(ie,{mode:"wait",children:e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:k.map((s,a)=>
1{const n=W(s.closing_date),l=u.includes(s.id),d=s.focus_areas||[],U=d.slice(0,2),m=d.length-2;return e.jsxs(h.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4,delay:a*.05},className:`bg-white rounded-xl border-l-4 border-l-cyan-500 border border-slate-200 p-4 cursor-pointer group hover:-translate-y-1 hover:shadow-lg transition-all duration-300 ${l?"bg-amber-50/50":""}`,onClick:()=>fe(s),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2 mb-2",children:[e.jsx("h3",{className:"text-base font-semibold text-slate-900 line-clamp-2 group-hover:text-cyan-600 transition-colors leading-snug",children:s.title||"Untitled Opportunity"}),e.jsx("button",{onClick:T=>{T.stopPropagation(),pe(s.id)},className:`p-1.5 rounded-full transition-colors flex-shrink-0 ${l?"text-red-500 bg-red-50":"text-slate-300 hover:text-red-500 hover:bg-red-50"}`,"aria-label":l?"Remove from saved":"Save grant",children:e.jsx(ye,{className:`w-4 h-4 ${l?"fill-current":""}`})})]}),e.jsxs("div",{className:"flex items-center text-slate-500 text-sm mb-3",children:[e.jsx(se,{className:"w-3.5 h-3.5 mr-1.5 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:s.funder_name||"Unknown Funder"})]}),e.jsxs("div",{className:"flex items-center text-sm text-slate-600 mb-3 flex-wrap gap-x-3 gap-y-1",children:[e.jsx("span",{className:"font-semibold text-green-700",children:Q(s)}),e.jsx("span",{className:"text-slate-300",children:"|"}),e.jsxs("span",{className:"flex items-center",children:[e.jsx(te,{className:"w-3.5 h-3.5 mr-1 text-blue-500"}),s.geographic_tags?.[0]||"Global"]}),e.jsx("span",{className:"text-slate-300",children:"|"}),e.jsxs("span",{className:`flex items-center ${n.color}`,children:[e.jsx(ae,{className:"w-3.5 h-3.5 mr-1"}),n.label]})]}),d.length>0&&e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[U.map((T,be)=>e.jsx("span",{className:"bg-cyan-100 text-cyan-700 px-2.5 py-0.5 rounded-full text-xs font-medium",children:T},be)),m>0&&e.jsxs("span",{className:"text-slate-500 text-xs",children:["+",m," more"]})]})]},s.id)})})}),k.length===0&&e.jsxs("div",{className:"rounded-2xl border border-slate-200 bg-white p-10 text-center",children:[e.jsx(I,{className:"w-10 h-10 text-slate-300 mx-auto mb-4"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:"No matching opportunities found"}),e.jsx("p",{className:"text-slate-600 mb-6",children:"Try a broader keyword, funder name, or mission area."}),e.jsx("button",{type:"button",onClick:H,className:"px-5 py-2.5 rounded-xl bg-cyan-600 text-white font-semibold hover:bg-cyan-700 transition-colors",children:"Clear search"})]}),e.jsx(h.div,{initial:{opacity:0}
1,whileInView:{opacity:1},viewport:{once:!0},className:"mt-8 text-center",children:e.jsxs("div",{className:`${Me.card.glass} p-6 rounded-xl border-2 border-dashed border-cyan-200`,children:[e.jsx(Ne,{className:"w-10 h-10 text-cyan-500 mx-auto mb-3"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:f?"More Opportunities Available":D>k.length?`${(D-k.length).toLocaleString()} More Opportunities Available`:"More Opportunities Available"}),e.jsx("p",{className:"text-slate-600 text-sm mb-4",children:"Unlock access to our complete database with detailed application guides and success tips."}),e.jsx(O,{size:"md",showIcon:!0})]})})]})]})}),e.jsx(ie,{children:t&&e.jsxs(e.Fragment,{children:[e.jsx(h.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:X,className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50"}),e.jsxs(h.div,{initial:{opacity:0,x:"100%"},animate:{opacity:1,x:0},exit:{opacity:0,x:"100%"},transition:{type:"spring",damping:25,stiffness:300},className:"fixed right-0 top-0 h-full w-full max-w-xl bg-white shadow-2xl z-50 overflow-y-auto",children:[e.jsxs("div",{className:"sticky top-0 bg-white border-b border-slate-200 px-6 py-4 flex items-center justify-between z-10",children:[e.jsx("h2",{className:"text-lg font-semibold text-slate-900 truncate pr-4",children:"Grant Details"}),e.jsx("button",{onClick:X,className:"p-2 rounded-full hover:bg-slate-100 transition-colors","aria-label":"Close modal",children:e.jsx(we,{className:"w-5 h-5 text-slate-500"})})]}),e.jsxs("div",{className:"p-6 space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-bold text-slate-900 mb-2",children:t.title||"Untitled Opportunity"}),e.jsxs("div",{className:"flex items-center text-slate-600",children:[e.jsx(se,{className:"w-4 h-4 mr-2"}),e.jsx("span",{className:"font-medium",children:t.funder_name||"Unknown Funder"})]})]}),e.jsxs("div",{className:"bg-slate-50 rounded-xl p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-slate-600 flex items-center",children:[e.jsx(ee,{className:"w-4 h-4 mr-2 text-green-500"}),"Funding"]}),e.jsx("span",{className:"font-semibold text-green-700",children:Q(t)})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-slate-600 flex items-center",children:[e.jsx(te,{className:"w-4 h-4 mr-2 text-blue-500"}),"Location"]}),e.jsx("span",{className:"font-medium",children:t.geographic_tags?.[0]||"Global"})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-slate-600 flex items-center",children:[e.jsx(ae,{className:"w-4 h-4 mr-2 text-orange-500"}),"Deadline"]}),e.jsx("span",{className:`font-medium ${W(t.closing_date).color}`,children:t.closing_date?e.jsxs(e.Fragment,{children:[new Date(t.closing_date).toLocaleDateString("en-US",{month:"long"}),e.jsxs("span",{className:"blur-sm select-none",children:[" ",new Date(t.closing_date).getDate(),","," ",new Date(t.closing_date).getFullYear()]})]}):"Rolling"})]}),t.publication_date&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Published"}),e.jsx("span",{className:"font-medium",children:new Date(t.publication_date).toLocaleDateString()})]}),t.funding_type&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Funding Type"}),e.jsx("span",{className:"font-medium",children:t.funding_type})]})]}),t.objectives&&typeof t.objectives=="string"&&t.objectives.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Objectives"}),e.jsxs("div",{className:"text-slate-600 prose prose-sm max-w-none",children:[e.jsx(re,{children:t.objectives.length>600?t.objectives.substring(0,600)+"...":t.objectives}),t.objectives.length>600&&e.jsx("p",{className:"text-cyan-600 font-medium mt-2 italic",children:"Sign up to see full details"})]})]}),t.scope&&typeof t.scope=="string"&&t.scope.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Scope"}),e.jsxs("div",{className:"text-slate-600 prose prose-sm max-w-none",children:[e.jsx(re,{children:t.scope.length>400?t.scope.substring(0,400)+"...":t.scope}),t.scope.length>
1400&&e.jsx("p",{className:"text-cyan-600 font-medium mt-2 italic",children:"Sign up to see full details"})]})]}),Array.isArray(t.focus_areas)&&t.focus_areas.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Focus Areas"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.focus_areas.map((s,a)=>e.jsx("span",{className:"bg-cyan-100 text-cyan-700 px-3 py-1 rounded-full text-sm",children:s},a))})]}),Array.isArray(t.geographic_tags)&&t.geographic_tags.length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Geographic Focus"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:t.geographic_tags.map((s,a)=>e.jsx("span",{className:"bg-blue-100 text-blue-700 px-3 py-1 rounded-full text-sm",children:s},a))})]}),Array.isArray(t.eligibility_criteria)&&t.eligibility_criteria.length>0&&(()=>{const s=t.eligibility_criteria.join(", "),a=s.length>400,n=a?s.substring(0,400)+"...":s;return e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Eligibility Criteria"}),e.jsx("p",{className:"text-slate-600",children:n}),a&&e.jsx("p",{className:"text-cyan-600 font-medium mt-2 italic",children:"Sign up to see full details"})]})})(),t.sector&&typeof t.sector=="string"&&t.sector.length>0&&(()=>{try{const s=JSON.parse(t.sector);if(Array.isArray(s)&&s.length>0)return e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Sector"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:s.map((a,n)=>e.jsx("span",{className:"bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm",children:a},n))})]})}catch{return e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-slate-900 mb-2",children:"Sector"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:e.jsx("span",{className:"bg-purple-100 text-purple-700 px-3 py-1 rounded-full text-sm",children:t.sector})})]})}return null})(),e.jsxs("div",{className:"pt-4 border-t border-slate-100",children:[e.jsx(O,{size:"lg",showIcon:!0,className:"w-full"}),e.jsx("p",{className:"text-center text-sm text-slate-500 mt-3",children:"Sign up to view full details and apply"})]})]})]})]})}),e.jsx(Re,{route:"/grant-database"}),e.jsxs("section",{className:"py-24 bg-gradient-to-br from-blue-600 via-cyan-500 to-blue-600 relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[url('data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2260%22%20viewBox%3D%220%200%2060%2060%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cg%20fill%3D%22%23ffffff%22%20fill-opacity%3D%220.05%22%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%2230%22%20r%3D%222%22%2F%3
1E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E')]"}),e.jsx("div",{className:"max-w-4xl mx-auto px-6 lg:px-8 text-center relative z-10",children:e.jsxs(h.div,{initial:{opacity:0,y:50},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8},children:[e.jsxs("h2",{className:`${F.display[2]} text-white mb-8`,children:["Stop Searching, Start Winning",e.jsxs("span",{className:"block text-cyan-100",children:[j.opportunityLabel," Grants — Review Relevant Matches"]})]}),e.jsx("p",{className:`${F.body.large} text-blue-100 mb-12 max-w-3xl mx-auto`,children:"Sign up to review AI-assisted matches tailored to your mission, then prepare editable proposal drafts using funder requirements and reviewed organisation context."}),e.jsx("div",{className:"flex flex-col sm:flex-row gap-4 sm:gap-8 justify-center",children:e.jsx(O,{size:"xl",showIcon:!0,className:"w-full sm:w-auto"})}),e.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row flex-wrap items-center justify-center gap-8 sm:gap-12 text-blue-200",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(ve,{className:"w-5 h-5"}),e.jsx("span",{className:"font-medium",children:"Updated Daily"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Se,{className:"w-5 h-5"}),e.jsx("span",{className:"font-medium",children:"Smart Matching"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ce,{className:"w-5 h-5"}),e.jsx("span",{className:"font-medium",children:"Fit Rationale"})]})]})]})})]})]}),e.jsx(Le,{})]})]})}export{We as default};

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.