PageSourceSearch

https://plant4growthuk-production-a1cd.up.railway.app/static/js/1969.0566d1d3.chunk.js

js plant4growthuk-production-a1cd.up.railway.app collected 2026-10-03 12:13:27 UTC 27,069 bytes, 3 lines download raw bytes

1/*! For license information please see 1969.0566d1d3.chunk.js.LICENSE.txt */
2"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[1969],{1969(e,t,s){s.r(t),s.d(t,{PublicCoursesPage:()=>F,default:()=>J});var a=s(9379),l=s(5043),r=s(5685),n=s(1591),c=s(3390),o=(s(1140),s(5949)),i=s(2264),m=s(9938),d=s(5598),x=s(8729),h=s(4980),p=s(614),u=s(2983),g=s(4651),f=s(5087),b=s(2024);const j=(0,s(7784).A)("log-in",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);var y=s(1884),N=s(9797),w=s(5692),v=s(5088),A=s(8646),k=s(6376),C=s(7819),_=s(6328),S=s(579);const P="https://plant4growthuk-production-a1cd.up.railway.app",D=e=>e&&e.startsWith("/api/")?"".concat(P).concat(e):e,E=()=>(0,S.jsx)("img",{src:"/logo-plan4growth.png",alt:"Plan 4 Growth",className:"h-12 w-auto"}),L=()=>{const[e,t]=(0,l.useState)(!1),[s,a]=(0,l.useState)(!1);(0,l.useEffect)(()=>{const e=()=>a(window.scrollY>50);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);const n=[{name:"Home",href:"/",isLink:!0},{name:"About Us",href:"/about",isLink:!0},{name:"Courses",href:"/programmes",isLink:!0},{name:"Blogs",href:"/blogs",isLink:!0},{name:"Mentors",href:"/mentors",isLink:!0},{name:"Contact",href:"/contact",isLink:!0}];return(0,S.jsx)("nav",{className:"fixed top-0 left-0 right-0 z-50 bg-white shadow-md",children:(0,S.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,S.jsxs)("div",{className:"flex justify-between items-center h-28",children:[(0,S.jsx)(r.N_,{to:"/",className:"flex items-center",children:(0,S.jsx)(E,{})}),(0,S.jsxs)("div",{className:"hidden lg:flex items-center gap-8",children:[n.map(e=>(0,S.jsx)(r.N_,{to:e.href,className:"text-sm font-semibold text-[#4c4c4c] transition-colors hover:text-[#d19a15]",children:e.name},e.name)),(0,S.jsx)(r.N_,{to:"/login",children:(0,S.jsx)(c.$,{variant:"outline",className:"border-[#4c4c4c] text-[#4c4c4c] hover:bg-[#4c4c4c] hover:text-white font-semibold",children:"Sign In"})}),(0,S.jsx)(r.N_,{to:"/contact",children:(0,S.jsx)(c.$,{className:"bg-[#d19a15] text-[#4c4c4c] hover:bg-[#35c4b0] font-semibold",children:"Get In Touch"})})]}),(0,S.jsx)("button",{className:"lg:hidden text-[#4c4c4c]",onClick:()=>t(!e),children:e?(0,S.jsx)(p.A,{className:"w-6 h-6"}):(0,S.jsx)(u.A,{className:"w-6 h-6"})})]}),e&&(0,S.jsxs)("div",{className:"lg:hidden pb-6 space-y-4",children:[n.map(e=>(0,S.jsx)(r.N_,{to:e.href,className:"block text-[#4c4c4c] font-medium py-2 hover:text-[#d19a15]",onClick:()=>t(!1),children:e.name},e.name)),(0,S.jsxs)("div",{className:"flex gap-4 pt-4",children:[(0,S.jsx)(r.N_,{to:"/login",className:"flex-1",children:(0,S.jsx)(c.$,{variant:"outline",className:"w-full border-[#4c4c4c] text-[#4c4c4c]",children:"Sign In"})}),(0,S.jsx)(r.N_,{to:"/contact",className:"flex-1",children:(0,S.jsx)(c.$,{className:"w-full bg-[#d19a15] text-[#4c4c4c]",children:"Contact"})})]})]})]})})},R=e=>{let{isOpen:t,onClose:s,course:r,onSuccess:n}=e;const[o,x]=(0,l.useState)(!1),[h,p]=(0,l.useState)(!1),[u,N]=(0,l.useState)(!1),[w,v]=(0,l.useState)({name:"",email:"",password:""});return(0,S.jsx)(d.lG,{open:t,onOpenChange:s,children:(0,S.jsxs)(d.Cf,{className:"max-w-md",children:[(0,S.jsxs)(d.c7,{children:[(0,S.jsx)(d.L3,{className:"text-xl",children:o?"Sign In to Continue":"Create Account to Enrol"}),(0,S.jsx)("p",{className:"text-sm text-slate-500 mt-1",children:(null===r||void 0===r?void 0:r.title)&&"Enrolling in: ".concat(r.title)})]}),(0,S.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),o||w.name.trim())if(w.email.trim())if(!w.password.trim()||w.password.length<6)_.oR.error("Password must be at least 6 characters");else{p(!0);try{const e=o?"/api/auth/login":"/api/auth/register",t=o?{email:w.email,password:w.password}:{name:w.name,email:w.email,password:w.password,role:"delegate"},s=await fetch("".concat(P).concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json();if(!s.ok)throw new Error(a.detail||"Authentication failed");localStorage.setItem("elevate360_token",a.access_token),localStorage.setItem("elevate360_user",JSON.stringify(a.user)),_.oR.success(o?"Welcome back!":"Account created successfully!"),n(a)}catch(t){_.oR.error(t.message||"Something went wrong")}finally{p(!1)}}else _.oR.error("Please enter your email");else _.oR.error("Please enter your name")}
2,className:"space-y-4 py-4",children:[!o&&(0,S.jsxs)("div",{children:[(0,S.jsx)(m.J,{htmlFor:"name",children:"Full Name"}),(0,S.jsx)(i.p,{id:"name",placeholder:"Dr. John Smith",value:w.name,onChange:e=>v((0,a.A)((0,a.A)({},w),{},{name:e.target.value})),"data-testid":"register-name-input"})]}),(0,S.jsxs)("div",{children:[(0,S.jsx)(m.J,{htmlFor:"email",children:"Email Address"}),(0,S.jsx)(i.p,{id:"email",type:"email",placeholder:"[email protected]",value:w.email,onChange:e=>v((0,a.A)((0,a.A)({},w),{},{email:e.target.value})),"data-testid":"register-email-input"})]}),(0,S.jsxs)("div",{children:[(0,S.jsx)(m.J,{htmlFor:"password",children:"Password"}),(0,S.jsxs)("div",{className:"relative",children:[(0,S.jsx)(i.p,{id:"password",type:u?"text":"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:w.password,onChange:e=>v((0,a.A)((0,a.A)({},w),{},{password:e.target.value})),"data-testid":"register-password-input"}),(0,S.jsx)("button",{type:"button",className:"absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600",onClick:()=>N(!u),children:u?(0,S.jsx)(g.A,{className:"w-4 h-4"}):(0,S.jsx)(f.A,{className:"w-4 h-4"})})]})]}),(0,S.jsxs)(c.$,{type:"submit",className:"w-full bg-[#4c4c4c] hover:bg-[#4c4c4c]",disabled:h,"data-testid":"register-submit-btn",children:[h?(0,S.jsx)(b.A,{className:"w-4 h-4 mr-2 animate-spin"}):o?(0,S.jsx)(j,{className:"w-4 h-4 mr-2"}):(0,S.jsx)(y.A,{className:"w-4 h-4 mr-2"}),o?"Sign In & Continue":"Create Account & Continue"]})]}),(0,S.jsx)("div",{className:"text-center text-sm text-slate-500",children:o?(0,S.jsxs)(S.Fragment,{children:["Don't have an account?"," ",(0,S.jsx)("button",{type:"button",className:"text-[#d19a15] hover:underline font-medium",onClick:()=>x(!1),children:"Create one"})]}):(0,S.jsxs)(S.Fragment,{children:["Already have an account?"," ",(0,S.jsx)("button",{type:"button",className:"text-[#d19a15] hover:underline font-medium",onClick:()=>x(!0),children:"Sign in"})]})})]})})},F=()=>{(0,r.Zp)();const{user:e,login:t}=(0,x.As)(),[s,a]=(0,l.useState)(!0),[i,m]=(0,l.useState)([]),[d,p]=(0,l.useState)([]),[u,g]=(0,l.useState)(!0),[f,j]=(0,l.useState)(null),[y,E]=(0,l.useState)(!1),[F,J]=(0,l.useState)(!1),[O,G]=(0,l.useState)("dental_implantology");(0,l.useEffect)(()=>{(async()=>{try{const e=(await h.WZ.getPublicList()).data.programmes||[],t=e.filter(e=>!e.is_sold_out),s=e.filter(e=>e.is_sold_out),a=t.filter(e=>e.is_featured),l=t.filter(e=>!e.is_featured);p([...a,...l,...s])}catch(e){console.error("Error fetching programmes:",e)}finally{g(!1)}})()},[]),(0,l.useEffect)(()=>{(async()=>{try{const e=await fetch("".concat(P,"/api/courses/public/with-dates")),t=await e.json();m(t.courses||[])}catch(e){try{const e=await h.BP.getAll();m(e.data.filter(e=>e.is_active))}catch(t){_.oR.error("Failed to load courses")}}finally{a(!1)}})()},[]);const I=async(e,t)=>{J(!0);try{const s=await fetch("".concat(P,"/api/payments/create-checkout"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(t)},body:JSON.stringify({course_id:e.course_id,origin_url:window.location.origin,payment_type:"one_time"})}),a=await s.json();if(!s.ok)throw new Error(a.detail||"Failed to create checkout session");window.location.href=a.url}catch(s){_.oR.error(s.message||"Failed to process payment"),J(!1)}};return s?(0,S.jsxs)("div",{className:"min-h-screen bg-white",children:[(0,S.jsx)(L,{}),(0,S.jsx)("div",{className:"pt-32 flex items-center justify-center h-96",children:(0,S.jsxs)("div",{className:"animate-pulse flex flex-col items-center gap-4",children:[(0,S.jsx)(b.A,{className:"w-12 h-12 text-[#d19a15] animate-spin"}),(0,S.jsx)("p",{className:"text-slate-500",children:"Loading courses..."})]})})]}):(0,S.jsxs)("div",{className:"min-h-screen bg-white",children:[(0,S.jsxs)(n.m,{children:[(0,S.jsx)("title",{children:"Dental Courses & Training Programmes In UK - Plan4Growth"}),(0,S.jsx)("meta",{name:"description",content:"Explore dental courses & training programmes in UK. Gain practical skills, industry-recognised qualifications, & advance your dental career expert learning."}),(0,S.jsx)("link",{rel:"canonical",href:"https://plan4growth.uk/programmes"}),(0,S.jsx)("meta",{property:"og:title",content:"Dental Courses & Training Programmes In UK - Plan4Growth"}),(0,S.jsx)("meta",{property:"og:description",content:"Explore dental courses & training programmes in UK. Gain practical skills, industry-recognised qualifications, & advance your dental career expert learning."}),(0,S.jsx)("meta",{property:"og:url",content:"https://plan4growth.uk/programmes"})]}),(0,S.jsx)(L,{}),F&&(0,S.jsx)("div",{className:"fixed inset-0 bg-black/50 z-50 flex items-center justify-center",children:(0,S.jsxs)("div",{className:"bg-white rounded-xl p-8 text-center",children:[(0,S.jsx)(b.A,{className:"w-12 h-12 text-[#d19a15] animate-spin mx-auto mb-4"}),(0,S.jsx)("p",{className:"text-lg font-medium text-[#4c4c4c]",children:"Redirecting to checkout..."})]})}),(0,S.jsx)("section",{className:"pt-36 pb-16 bg-gradient-to-b from-[#4c4c4c] to-[#4c4c4c]",children:(0,S.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[(0,S.jsx)(o.E,{className:"bg-[#d19a15]/20 text-[#d19a15] border-[#d19a15]/30 mb-6",children:"Professional Development"}),(0,S.jsxs)("h1",{className:"text-4xl sm:text-5xl lg:text-6xl font-bold text-white mb-6",children:["Our Training ",(0,S.jsx)("span",{className:"text-[#d19a15]",children:"Programmes In UK"})]}),(0,S.jsx)("p",{className:"text-xl text-slate-300 max-w-3xl mx-auto",children:"Elevate your dental career with our comprehensive courses designed by industry experts. Practical skills, real-world knowledge, and ongoing support."})]})}),(0,S.jsx)("section",{className:"py-12 sm:py-16 bg-white",children:(0,S.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,S.jsxs)("div",{className:"text-center mb-8 sm:mb-12",children:[(0,S.jsx)(o.E,{className:"bg-[#C9A84C]/20 text-[#C9A84C] border-[#C9A84C]/30 mb-3 sm:mb-4",children:"Our Programmes"}),(0,S.jsx)("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold text-[#4c4c4c] mb-3 sm:mb-4",children:"Our Training Programmes"}),(0,S.jsx)("p",{className:"text-base sm:text-lg text-slate-600 max-w-2xl mx-auto",children:"Explore our full range of clinical and business programmes"})]}),(0,S.jsx)("div",{className:"flex flex-wrap justify-center gap-2 sm:gap-3 mb-8 sm:mb-10",children:[{key:"dental_implantology",label:"Dental Implantology Courses",activeColor:"#d19a15"},{key:"business_dentistry",label:"Business Dentistry",activeColor:"#C9A84C"},{key:"biological_clinician",label:"Biological Clinician Courses",activeColor:"#4c4c4c"}].map(e=>{const t=O===e.key;return(0,S.jsx)("button",{onClick:()=>G(e.key),className:"px-5 py-2.5 rounded-full text-sm font-semibold transition-all duration-200 border-2 ".concat(t?"text-white border-transparent shadow-md":"bg-white text-slate-600 border-slate-200 hover:border-slate-400 hover:text-[#4c4c4c]"),style:t?{backgroundColor:e.activeColor,borderColor:e.activeColor}:{},children:e.label},e.key)})}),u?(0,S.jsx)("div",{className:"flex justify-center py-12",children:(0,S.jsx)(b.A,{className:"w-8 h-8 animate-spin text-[#d19a15]"})}):(()=>{const e=d.filter(e=>e.category===O);if(0===e.length)return(0,S.jsxs)("div",{className:"text-center py-12",children:[(0,S.jsx)(N.A,{className:"w-12 h-12 sm:w-16 sm:h-16 text-slate-300 mx-auto mb-4"}),(0,S.jsx)("h3",{className:"text-lg sm:text-xl font-semibold text-slate-600 mb-2",children:"No programmes yet"}),(0,S.jsx)("p",{className:"text-sm sm:text-base text-slate-500",children:"Check back soon for new programmes in this category."})]});const t=e.filter(e=>!e.is_sold_out),s=e.filter(e=>e.is_sold_out);return(0,S.jsxs)(S.Fragment,{children:[t.length>0&&(0,S.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 lg:gap-8",children:t.map(e=>{var t;const s=e.card||{},a={gold:"#C9A84C",teal:"#d19a15",navy:"#4c4c4c"}[s.color_scheme]||"#d19a15",l=e.is_featured,n=s.image_url;return(0,S.jsx)(r.N_,{to:"/programmes/".concat(e.slug),className:"group block",children:(0,S.jsxs)("div",{className:"h-full bg-white rounded-2xl overflow-hidden transition-all duration-500 flex flex-col\n                            border border-slate-200 shadow-lg hover:shadow-2xl hover:-translate-y-2\n                            ".concat(l?"ring-2 ring-[#C9A84C] ring-offset-2":"","\n                          "),children:[l&&(0,S.jsx)("div",{className:"py-2 px-4 text-center text-xs font-bold uppercase tracking-wider bg-gradient-to-r from-[#C9A84C] to-[#B8973D] text-[#4c4c4c]",children:"\u2605 Featured Programme"}),(0,S.jsxs)("div",{className:"relative h-36 sm:h-40 overflow-hidden",children:[n?(0,S.jsx)("img",{src:D(s.image_url),alt:s.title,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"}):(0,S.jsxs)("div",{className:"w-full h-full flex flex-col items-center justify-center",style:{background:"linear-gradient(135deg, ".concat(a,"20 0%, ").concat(a,"40 100%)")},children:[(0,S.jsx)("div",{className:"w-14 h-14 sm:w-16 sm:h-16 rounded-2xl flex items-center justify-center shadow-lg mb-2",style:{background:"linear-gradient(135deg, ".concat(a," 0%, ").concat(a,"dd 100%)"),boxShadow:"0 8px 32px ".concat(a,"40")},children:(0,S.jsx)("span",{className:"text-white text-xl sm:text-2xl font-bold",children:(s.title||"P").charAt(0)})}),s.type&&(0,S.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:a},children:s.type})]}),(0,S.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-[#4c4c4c] via-[#4c4c4c]/60 to-transparent opacity-0 group-hover:opacity-100 transition-all duration-500 flex items-end justify-center pb-4",children:(0,S.jsxs)("span",{className:"px-4 py-2 bg-white/95 text-[#4c4c4c] rounded-full text-xs font-semibold flex items-center gap-2 shadow-xl",children:["Explore Programme ",(0,S.jsx)(w.A,{className:"w-3 h-3"})]})})]}),(0,S.jsxs)("div",{className:"p-4 sm:p-5 flex-1 flex flex-col",children:[(0,S.jsxs)("div",{className:"flex flex-wrap gap-1.5 sm:gap-2 mb-2 sm:mb-3",children:[s.duration&&(0,S.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium px-2 py-0.5 
2sm:py-1 rounded-full bg-slate-100 text-slate-700",children:[(0,S.jsx)(v.A,{className:"w-3 h-3"}),s.duration]}),s.type&&(0,S.jsx)("span",{className:"inline-flex items-center text-xs font-medium px-2 py-0.5 sm:py-1 rounded-full bg-[#d19a15]/10 text-[#4c4c4c]",children:s.type})]}),(0,S.jsx)("h3",{className:"text-base sm:text-lg font-bold mb-1 line-clamp-2 transition-colors duration-300 text-[#4c4c4c] group-hover:text-[#d19a15]",children:s.title||e.slug}),s.subtitle&&(0,S.jsx)("p",{className:"text-xs sm:text-sm font-medium mb-2 text-[#C9A84C]",children:s.subtitle}),s.description&&(0,S.jsx)("p",{className:"text-xs sm:text-sm leading-relaxed line-clamp-2 mb-3 sm:mb-4 text-slate-600",children:s.description}),s.date&&(0,S.jsxs)("p",{className:"text-xs sm:text-sm font-medium mb-3 sm:mb-4 flex items-center gap-1.5 text-[#C9A84C]",children:[(0,S.jsx)(A.A,{className:"w-3 h-3 sm:w-4 sm:h-4"}),new Date(s.date).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"})]}),(null===(t=e.booking)||void 0===t?void 0:t.monthly_payment_enabled)&&(0,S.jsxs)("div",{className:"mb-3 sm:mb-4 inline-flex flex-wrap items-center gap-1.5 px-2.5 py-1.5 rounded-lg bg-emerald-50 border border-emerald-200","data-testid":"monthly-payments-badge-".concat(e.programme_id),children:[(0,S.jsx)(k.A,{className:"w-3.5 h-3.5 text-emerald-600"}),(0,S.jsx)("span",{className:"text-xs font-semibold text-emerald-700",children:"Monthly payments available"}),e.booking.monthly_amount>0&&(0,S.jsxs)("span",{className:"text-xs text-emerald-600",children:["\xb7 from \xa3",Number(e.booking.monthly_amount).toFixed(0),"/month",e.booking.monthly_duration_months>0&&" for ".concat(e.booking.monthly_duration_months," months")]})]}),(0,S.jsx)("div",{className:"flex-1"}),(0,S.jsxs)(c.$,{className:"w-full bg-[#4c4c4c] hover:bg-[#4c4c4c] text-white group-hover:bg-[#C9A84C] group-hover:text-[#4c4c4c] transition-colors text-xs sm:text-sm py-2 sm:py-2.5",children:[(0,S.jsx)(k.A,{className:"w-3 h-3 sm:w-4 sm:h-4 mr-1.5 sm:mr-2"}),"View Programme",(0,S.jsx)(w.A,{className:"w-3 h-3 sm:w-4 sm:h-4 ml-1.5 sm:ml-2 group-hover:translate-x-1 transition-transform"})]})]})]})},e.programme_id)})}),s.length>0&&(0,S.jsxs)("div",{className:t.length>0?"mt-12":"",children:[t.length>0&&(0,S.jsxs)("div",{className:"text-center mb-8",children:[(0,S.jsxs)("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-amber-100 rounded-full mb-4",children:[(0,S.jsx)(C.A,{className:"w-4 h-4 text-amber-600"}),(0,S.jsx)("span",{className:"text-sm font-semibold text-amber-700",children:"Currently Sold Out"})]}),(0,S.jsx)("h3",{className:"text-xl sm:text-2xl font-bold text-slate-700",children:"Join the Waitlist"}),(0,S.jsx)("p",{className:"text-sm sm:text-base text-slate-500 mt-2",children:"These programmes are fully booked. Register your interest for the next intake."})]}),(0,S.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 lg:gap-8",children:s.map(e=>{const t=e.card||{},s=t.image_url,a={gold:"#C9A84C",teal:"#d19a15",navy:"#4c4c4c"}[t.color_scheme]||"#C9A84C";return(0,S.jsx)(r.N_,{to:"/programmes/".concat(e.slug),className:"group block",children:(0,S.jsxs)("div",{className:"h-full bg-white rounded-2xl overflow-hidden transition-all duration-500 flex flex-col border border-slate-200 shadow-lg hover:shadow-2xl hover:-translate-y-1",children:[(0,S.jsx)("div",{className:"py-2.5 px-4 text-center text-xs font-bold uppercase tracking-wider bg-gradient-to-r from-[#C9A84C] to-[#B8973D] text-[#4c4c4c]",children:"Sold Out \u2014 Join Waitlist"}),(0,S.jsxs)("div",{className:"relative h-36 sm:h-40 overflow-hidden",children:[s?(0,S.jsx)("img",{src:D(t.image_url),alt:t.title,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105 saturate-75"}):(0,S.jsxs)("div",{className:"w-full h-full flex flex-col items-center justify-center",style:{background:"linear-gradient(135deg, ".concat(a,"15 0%, ").concat(a,"30 100%)")},children:[(0,S.jsx)("div",{className:"w-14 h-14 sm:w-16 sm:h-16 rounded-2xl flex items-center justify-center shadow-lg mb-2",style:{background:"linear-gradient(135deg, ".concat(a," 0%, ").concat(a,"cc 100%)"),boxShadow:"0 8px 32px ".concat(a,"40")},children:(0,S.jsx)("span",{className:"text-white text-xl sm:text-2xl font-bold",children:(t.title||"P").charAt(0)})}),t.type&&(0,S.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:a},children:t.type})]}),(0,S.jsx)("div",{className:"absolute inset-0 bg-[#4c4c4c]/20"})]}),(0,S.jsxs)("div",{className:"p-4 sm:p-5 flex-1 flex flex-col",children:[(0,S.jsxs)("div",{className:"flex flex-wrap gap-1.5 sm:gap-2 mb-2 sm:mb-3",children:[t.duration&&(0,S.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-medium px-2 py-0.5 
2sm:py-1 rounded-full bg-slate-100 text-slate-600",children:[(0,S.jsx)(v.A,{className:"w-3 h-3"}),t.duration]}),t.type&&(0,S.jsx)("span",{className:"inline-flex items-center text-xs font-medium px-2 py-0.5 sm:py-1 rounded-full bg-[#C9A84C]/10 text-[#4c4c4c]",children:t.type})]}),(0,S.jsx)("h3",{className:"text-base sm:text-lg font-bold mb-1 line-clamp-2 text-[#4c4c4c] group-hover:text-[#C9A84C] transition-colors",children:t.title||e.slug}),t.subtitle&&(0,S.jsx)("p",{className:"text-xs sm:text-sm font-medium mb-2 text-[#C9A84C]",children:t.subtitle}),t.description&&(0,S.jsx)("p",{className:"text-xs sm:text-sm leading-relaxed line-clamp-2 mb-3 sm:mb-4 text-slate-600",children:t.description}),t.date&&(0,S.jsxs)("p",{className:"text-xs sm:text-sm font-medium mb-3 sm:mb-4 flex items-center gap-1.5 text-slate-500",children:[(0,S.jsx)(A.A,{className:"w-3 h-3 sm:w-4 sm:h-4"}),new Date(t.date).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"})]}),(0,S.jsx)("div",{className:"flex-1"}),(0,S.jsxs)(c.$,{className:"w-full bg-[#C9A84C] hover:bg-[#B8973D] text-[#4c4c4c] font-semibold text-xs sm:text-sm py-2 sm:py-2.5 transition-all group-hover:shadow-lg",children:[(0,S.jsx)(C.A,{className:"w-3 h-3 sm:w-4 sm:h-4 mr-1.5 sm:mr-2"}),"Join Waitlist",(0,S.jsx)(w.A,{className:"w-3 h-3 sm:w-4 sm:h-4 ml-1.5 sm:ml-2 group-hover:translate-x-1 transition-transform"})]})]})]})},e.programme_id)})})]})]})})()]})}),(0,S.jsx)("section",{className:"py-16 bg-[#4c4c4c]",children:(0,S.jsxs)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[(0,S.jsx)("h2",{className:"text-3xl font-bold text-white mb-4",children:"Not sure which course is right for you?"}),(0,S.jsx)("p",{className:"text-slate-300 mb-8",children:"Get in touch with our team for personalized guidance on choosing the perfect programme for your career goals."}),(0,S.jsx)(r.N_,{to:"/contact",children:(0,S.jsxs)(c.$,{className:"bg-[#d19a15] text-[#4c4c4c] hover:bg-[#35c4b0] font-semibold px-8 py-6 text-lg",children:["Contact Us for Advice",(0,S.jsx)(w.A,{className:"w-5 h-5 ml-2"})]})})]})}),(0,S.jsx)("footer",{className:"bg-[#4c4c4c] border-t border-slate-800 py-8",children:(0,S.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center text-slate-400",children:(0,S.jsxs)("p",{children:["\xa9 ",(new Date).getFullYear()," Plan 4 Growth. All rights reserved."]})})}),(0,S.jsx)(R,{isOpen:y,onClose:()=>E(!1),course:f,onSuccess:async e=>{t&&t(e.access_token,e.user),E(!1),I(f,e.access_token)}})]})},J=F},4651(e,t,s){s.d(t,{A:()=>a});const a=(0,s(7784).A)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},5087(e,t,s){s.d(t,{A:()=>a});const a=(0,s(7784).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},5088(e,t,s){s.d(t,{A:()=>a});const a=(0,s(7784).A)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},5131(e,t,s){s.d(t,{b:()=>d});var a=s(9379),l=s(5043),r=s(3986),n=(s(7950),s(6851)),c=s(579);const o=["asChild"];var i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{const s=(0,n.TL)("Primitive.".concat(t)),i=l.forwardRef((e,l)=>{const{asChild:n}=e,i=(0,r.A)(e,o),m=n?s:t;return"undefined"!==typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,c.jsx)(m,(0,a.A)((0,a.A)({},i),{},{ref:l}))});return i.displayName="Primitive.".concat(t),(0,a.A)((0,a.A)({},e),{},{[t]:i})},{});var m=l.forwardRef((e,t)=>(0,c.jsx)(i.label,(0,a.A)((0,a.A)({},e),{},{ref:t,onMouseDown:t=>{var s;t.target.closest("button, input, select, textarea")||(null===(s=e.onMouseDown)||void 0===s||s.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})));m.displayName="Label";var d=m},5598(e,t,s){s.d(t,{Cf:()=>j,Es:()=>N,L3:()=>w,c7:()=>y,lG:()=>g,rr:()=>v});var a=s(9379),l=s(3986),r=s(5043),n=s(7427),c=s(614),o=s(9766),i=s(579);const m=["className"],d=["className","children"],x=["className"],h=["className"],p=["className"],u=["className"],g=n.bL,f=(n.l9,n.ZL),b=(n.bm,r.forwardRef((e,t)=>
2{let{className:s}=e,r=(0,l.A)(e,m);return(0,i.jsx)(n.hJ,(0,a.A)({ref:t,className:(0,o.cn)("fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s)},r))}));b.displayName=n.hJ.displayName;const j=r.forwardRef((e,t)=>{let{className:s,children:r}=e,m=(0,l.A)(e,d);return(0,i.jsxs)(f,{children:[(0,i.jsx)(b,{}),(0,i.jsxs)(n.UC,(0,a.A)((0,a.A)({ref:t,className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s)},m),{},{children:[r,(0,i.jsxs)(n.bm,{className:"absolute right-4 top-4 roun
2ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,i.jsx)(c.A,{className:"h-4 w-4"}),(0,i.jsx)("span",{className:"sr-only",children:"Close"})]})]}))]})});j.displayName=n.UC.displayName;const y=e=>{let{className:t}=e,s=(0,l.A)(e,x);return(0,i.jsx)("div",(0,a.A)({className:(0,o.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t)},s))};y.displayName="DialogHeader";const N=e=>{let{className:t}=e,s=(0,l.A)(e,h);return(0,i.jsx)("div",(0,a.A)({className:(0,o.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t)},s))};N.displayName="DialogFooter";const w=r.forwardRef((e,t)=>{let{className:s}=e,r=(0,l.A)(e,p);return(0,i.jsx)(n.hE,(0,a.A)({ref:t,className:(0,o.cn)("text-lg font-semibold leading-none tracking-tight",s)},r))});w.displayName=n.hE.displayName;const v=r.forwardRef((e,t)=>{let{className:s}=e,r=(0,l.A)(e,u);return(0,i.jsx)(n.VY,(0,a.A)({ref:t,className:(0,o.cn)("text-sm text-muted-foreground",s)},r))});v.displayName=n.VY.displayName},5692(e,t,s){s.d(t,{A:()=>a});const a=(0,s(7784).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},7819(e,t,s){s.d(t,{A:()=>a});const a=(0,s(7784).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},9938(e,t,s){s.d(t,{J:()=>x});var a=s(9379),l=s(3986),r=s(5043),n=s(5131),c=s(917),o=s(9766),i=s(579);const m=["className"],d=(0,c.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),x=r.forwardRef((e,t)=>{let{className:s}=e,r=(0,l.A)(e,m);return(0,i.jsx)(n.b,(0,a.A)({ref:t,className:(0,o.cn)(d(),s)},r))});x.displayName=n.b.displayName}}]);
3//# sourceMappingURL=1969.0566d1d3.chunk.js.map

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.