(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4174],{8565:function(e,a,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/find-clinics",function(){return t(9748)}])},7998:function(e,a,t){"use strict";t.d(a,{s:function(){return s},y:function(){return i}});let i=[{_id:"demo-clinic-001",username:"harley-health-medical-centre",full_name:"Harley Health Medical Centre",profile_picture_url:"/assets/clinics/Clinic 1.webp",specialties:["General Practice","Dermatology","Travel Medicine"],speciality:["General Practice","Dermatology","Travel Medicine"],subspecialties:["Sports Medicine","Minor Surgery","Chronic Disease Management"],areas_of_expertise:["Skin Conditions","Diabetes Management","Blood Pressure","Travel Vaccinations","Minor Procedures","Preventive Health"],diseases_and_treatments:["Eczema","Psoriasis","Hypertension","Type 2 Diabetes","Anxiety","Asthma","Migraine","IBS"],qualifications:["MBBS (London)","MRCGP","DCH Royal College of Paediatrics","DFFP Faculty of Sexual & Reproductive Healthcare"],languages_spoken:["English","Arabic","Urdu","French"],insurers:["BUPA","AXA Health","Vitality Health","Cigna","Aviva"],accreditations:["BMA Member Clinic","Royal College of GPs","CQC Regulated","DSPT Toolkit Compliant","Investors in People"],about:"Harley Health Medical Centre is a leading private GP clinic situated in the heart of Harley Street, London's most prestigious medical district. Our team of experienced general practitioners and specialists deliver comprehensive, evidence-based healthcare to patients across London and beyond. We offer same-day appointments, digital prescriptions, and seamless referrals to secondary care. As a CQC-registered facility, we uphold the highest standards of clinical safety, privacy, and patient-centred care. Whether you need a routine health check, specialist consultation, or travel advice, our expert team is here to guide you every step of the way.",location:"London, W1G 9PF",address:"12 Harley Street, Marylebone, London W1G 9PF",lat:51.5207,lng:-.1468,website:"https://harleyhealthmedical.co.uk",phone:"020 7935 4444",cqc_number:"1-2456789010",cqc_rating:"Good",registration_number:"NHS-ENG-2019-0042",clinic_type:"Private GP Clinic",nhs_provider:!1,private_provider:!0,experience_years:14,staff_count:8,new_appointment_fee:150,follow_up_fee:100,status:!0,verified:!0,opening_hours:{Monday:"08:00 – 19:00",Tuesday:"08:00 – 19:00",Wednesday:"08:00 – 19:00",Thursday:"08:00 – 19:00",Friday:"08:00 – 18:00",Saturday:"09:00 – 14:00",Sunday:"Closed"},rating:4.8,next_available_slot:{day:"Monday",start:"09:30"},_isDemo:!0,_demoReviews:[{patient_name:"Sarah J.",clinic_review:"Absolutely outstanding service. The GP was thorough, professional, and genuinely listened to my concerns. I had a same-day appointment and left with a clear plan. The clinic itself is immaculate — I cannot recommend it highly enough.",rating:5,created_at:"2025-11-04T00:00:00.000Z"},{patient_name:"David M.",clinic_review:"I've been coming here for my annual health checks for three years. The staff are consistently warm and efficient. Having a clinic on Harley Street doesn't mean compromising on approachability — this team proves that.",rating:5,created_at:"2025-10-18T00:00:00.000Z"},{patient_name:"Priya K.",clinic_review:"Brilliant experience from start to finish. Booking was seamless online, the waiting area is calm, and my appointment started on time. The doctor explained everything clearly and was happy to answer all my questions.",rating:4,created_at:"2025-09-29T00:00:00.000Z"}]},{_id:"demo-clinic-002",username:"manchester-mind-wellness-centre",full_name:"Manchester Mind & Wellness Centre",profile_picture_url:"/assets/clinics/Clinic 2.webp",specialties:["Psychiatry","Psychology","Mental Health","CBT"],speciality:["Psychiatry","Psychology","Mental Health","CBT"],subspecialties:["Cognitive Behavioural Therapy","ADHD Assessment","Adult Autism Assessment","Mood Disorders"],areas_of_expertise:["Depression","Anxiety Disorders","ADHD","Autism Spectrum","PTSD","OCD","Bipolar Disorder","Personality Disorders"],diseases_and_treatments:["Major Depressive Disorder","Generalised Anxiety","ADHD (Adult & Child)","Post-Traumatic Stress Disorder","Obsessive-Compulsive Disorder","Bipolar Affective Disorder","Eating Disorders","Phobias"],qualifications:["MBChB (Manchester)","MRCPsych","PG Diploma in CBT (Oxford)","MSc Clinical Psychology"],languages_spoken:["English","Urdu","Hindi","Punjabi"],insurers:["BUPA","AXA Health","Vitality Health","Cigna","WPA"],accreditations:["Royal College of Psychiatrists","BABCP Accredited Centre","CQC Rated Outstanding","DSPT Toolkit Compliant","BACP Accredited"],about:"Manchester Mind & Wellness Centre is the North West's most highly rated specialist mental health clinic, proudly rated Outstanding by the Care Quality Commission. We provide comprehensive psychiatric assessments, psychological therapy, and evidence-based treatment programmes for adults and young people. Our multidisciplinary team of consultant psychiatrists, psychologists, and therapists work collaboratively to deliver personalised care plans that address the whole person — not just the diagnosis. From ADHD and autism assessments to trauma therapy and mood disorder management, we bring world-class mental health expertise to the heart of Manchester. All our therapists are fully registered with the British Association for Behavioural & Cognitive Psychotherapies.",location:"Manchester, M2 4WU",address:"45 Mosley Street, Manchester M2 4WU",lat:53.4793,lng:-2.2401,website:"https://manchestermindwellness.co.uk",phone:"0161 832 5500",cqc_number:"1-9876543210",cqc_rating:"Outstanding",registration_number:"NHS-NW-2017-0118",clinic_type:"Mental Health Clinic",nhs_provider:!1,private_provider:!0,experience_years:11,staff_count:12,new_appointment_fee:180,follow_up_fee:120,status:!0,verified:!0,opening_hours:{Monday:"09:00 – 18:00",Tuesday:"09:00 – 18:00",Wednesday:"09:00 – 20:00",Thursday:"09:00 – 18:00",Friday:"09:00 – 17:00",Saturday:"10:00 – 14:00",Sunday:"Closed"},rating:4.9,next_available_slot:{day:"Tuesday",start:"11:00"},_isDemo:!0,_demoReviews:[{patient_name:"James R.",clinic_review:"I finally feel understood. After years of struggling, the team here identified my ADHD within weeks, started treatment, and the difference has been life-changing. The process was thorough, compassionate, and never rushed. Genuinely the best decision I've made for my mental health.",rating:5,created_at:"2025-12-01T00:00:00.000Z"},{patient_name:"Amelia T.",clinic_review:"The clinic is rated Outstanding by CQC and it absolutely earns that. My psychiatrist is exceptional — knowledgeable, patient, and truly invested in my recovery. The CBT sessions have given me practical tools I use every single day.",rating:5,created_at:"2025-11-14T00:00:00.000Z"},{patient_name:"Hassan A.",clinic_review:"Very professional environment. I was nervous about seeking help but the reception team and my therapist made me feel completely at ease from day one. Appointments are always on time and the follow-up care is excellent.",rating:5,created_at:"2025-10-22T00:00:00.000Z"}]},{_id:"demo-clinic-003",username:"birmingham-skin-dermatology-centre",full_name:"Birmingham Skin & Dermatology Centre",profile_picture_url:"/assets/clinics/Clinic 3.webp",specialties:["Dermatology","Aesthetic Medicine","Skin Cancer Screening"],speciality:["Dermatology","Aesthetic Medicine","Skin Cancer Screening"],subspecialties:["Medical Dermatology","Paediatric Dermatology","Cosmetic Dermatology","Mole Mapping"],areas_of_expertise:["Acne Treatment","Eczema & Psoriasis","Mole Checks","Skin Cancer Screening","Rosacea","Hair Loss (Alopecia)","Vitiligo","Skin Allergy Testing"],diseases_and_treatments:["Acne Vulgaris","Atopic Eczema","Psoriasis","Rosacea","Basal Cell Carcinoma","Alopecia Areata","Contact Dermatitis","Urticaria (Hives)","Vitiligo","Warts & Verrucae"],qualifications:["MBChB (Birmingham)","MRCP (UK)","CCT Dermatology","Fellowship of the British Association of Dermatologists"],languages_spoken:["English","Punjabi","Hindi","Urdu","Gujarati"],insurers:["BUPA","AXA Health","Aviva","Cigna","Vitality Health"],accreditations:["British Association of Dermatologists","CQC Regulated","DSPT Toolkit Compliant","British Skin Foundation Partner","GMC Registered Specialists"],about:"Birmingham Skin & Dermatology Centre is the West Midlands' premier destination for expert dermatological care. Our consultant-led team specialises in the full spectrum of skin conditions — from common concerns like acne and eczema to complex medical dermatology and skin cancer diagnostics. We use cutting-edge diagnostic technology, including FotoFinder mole mapping, to ensure the most accurate assessments. Our clinic is dedicated to providing rapid access to care in a calm, modern environment. Whether you are seeking treatment for a chronic skin condition, a suspicious lesion, or cosmetic skin concerns, our dermatologists deliver outstanding, evidence-based care tailored to your individual needs.",location:"Birmingham, B2 5PJ",address:"38 Waterloo Street, Birmingham B2 5PJ",lat:52.4796,lng:-1.9019,website:"https://birminghamskin.co.uk",phone:"0121 233 8800",cqc_number:"1-5678901234",cqc_rating:"Good",registration_number:"NHS-WM-2016-0085",clinic_type:"Dermatology Clinic",nhs_provider:!0,private_provider:!0,experience_years:16,staff_count:6,new_appointment_fee:160,follow_up_fee:110,status:!0,verified:!0,opening_hours:{Monday:"08:30 – 18:00",Tuesday:"08:30 – 18:00",Wednesday:"08:30 – 18:00",Thursday:"08:30 – 18:00",Friday:"08:30 – 17:00",Saturday:"09:00 – 13:00",Sunday:"Closed"},rating:4.7,next_available_slot:{day:"Wednesday",start:"14:30"},_isDemo:!0,_demoReviews:[{patient_name:"Natalie W.",clinic_review:"I had a suspicious mole and was seen within 48 hours. The consultant was incredibly thorough, used FotoFinder mole mapping, and explained every step clearly. It turned out to be benign, but the peace of mind was priceless. Exceptional care.",rating:5,created_at:"2025-11-28T00:00:00.000Z"},{patient_name:"Omar F.",clinic_review:"After years of battling cystic acne and seeing little improvement with my NHS GP, I came here as a last resort. Within three months on the prescribed treatment plan, my skin has transformed. The dermatologist genuinely changed my life.",rating:5,created_at:"2025-10-31T00:00:00.000Z"},{patient_name:"Gemma H.",clinic_review:"Professional, prompt, and thorough. I came in for eczema that had been flaring badly. The consultant adjusted my treatment plan, provided a clear written summary, and followed up with me two weeks later. Real continuity of care.",rating:4,created_at:"2025-09-15T00:00:00.000Z"}]}],s=Object.fromEntries(i.map(e=>[e.username,e]))},2171:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},8178:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},2126:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},6127:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},4919:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]])},9176:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},2190:function(e,a,t){"use strict";t.d(a,{Z:function(){return i}});let i=(0,t(8521).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},9748:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return Z}});var i=t(5893),s=t(7294),n=t(5152),l=t.n(n),r=t(1163),c=t(7317),o=t(3950),d=t(2194),p=t(3645),h=t(2126),u=t(9176),m=t(2171),f=t(6127),y=t(4919);(0,(t(8178),t(8521)).Z)("map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var g=t(2190),v=(t(3350),t(4307)),x=t(88),_=t(39),j=t(3346),b=t(2917),C=t(2984),w=t(1376),N=t(5040),k=e=>{let{isOpen:a,onClose:t,clinicId:n,clinicName:l}=e,c=(0,r.useRouter)(),[o,d]=(0,s.useState)([]),[p,h]=(0,s.useState)(!1),[u,m]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!a||!n)return;let e=!1;return h(!0),m(null),fetch("".concat(w.sN,"/clinic/directory/").concat(encodeURIComponent(n),"/doctors/")).then(e=>e.json()).then(a=>{e||((null==a?void 0:a.status)?d(Array.isArray(a.data)?a.data:[]):m("Unable to load doctors for this clinic."))}).catch(()=>{e||m("Unable to load doctors for this clinic.")}).finally(()=>{e||h(!1)}),()=>{e=!0}},[a,n]);let f=e=>{(null==e?void 0:e.username)&&(window.scrollTo(0,0),t(),c.push("/profile/".concat(encodeURIComponent(e.username))))},y=e=>{(null==e?void 0:e.username)&&(window.scrollTo(0,0),t(),c.push("/profile/".concat(encodeURIComponent(e.username),"?book=1")))};return a?(0,i.jsx)("div",{className:"vt-modal-backdrop",onClick:t,children:(0,i.jsxs)("div",{className:"vt-modal",onClick:e=>e.stopPropagation(),children:[(0,i.jsx)("button",{type:"button",className:"vt-close-btn",onClick:t,"aria-label":"Close modal",children:"\xd7"}),(0,i.jsxs)("div",{className:"vt-modal-shell",children:[(0,i.jsx)("div",{className:"vt-modal-topbar",children:(0,i.jsx)("div",{className:"vt-topbar-badge",children:"Meet Our Doctors"})}),(0,i.jsx)("div",{className:"vt-modal-hero",children:(0,i.jsxs)("div",{className:"vt-modal-hero-copy",children:[(0,i.jsx)("h2",{children:l||"This Clinic"}),(0,i.jsx)("p",{children:"Select a doctor below to view their profile and book an appointment."})]})}),p?(0,i.jsx)("p",{style:{textAlign:"center",color:"#64748b",padding:"24px 0"},children:"Loading doctors…"}):u?(0,i.jsx)("p",{style:{textAlign:"center",color:"#dc2626",padding:"24px 0"},children:u}):0===o.length?(0,i.jsx)("p",{style:{textAlign:"center",color:"#64748b",padding:"24px 0"},children:"No doctors listed at this clinic yet."}):(0,i.jsx)("section",{className:"fp-grid",style:{gridTemplateColumns:"1fr",marginTop:"16px",gap:"12px"},children:o.map(e=>(0,i.jsx)(N.Z,{doctor:e,onViewProfile:f,onBookAppointment:y},e.id))})]})]})}):null},A=t(7998);l()(()=>Promise.all([t.e(9269),t.e(8963)]).then(t.bind(t,8963)),{loadableGenerated:{webpack:()=>[8963]},ssr:!1});let S={UK:["London","Manchester","Birmingham","Leeds","Glasgow","Liverpool","Newcastle","Sheffield","Bristol","Edinburgh"]},P=["English","Spanish","Arabic","Urdu","French","German","Russian"],M=["GP Clinics","Dermatology Clinics","Psychiatry Clinics","Paediatric Clinics","Cardiology Clinics"],T=["Skin Rash","Anxiety","Acne","Hypertension","Back Pain"],D=e=>{let a=Array.isArray(null==e?void 0:e.specialties)?e.specialties:[];return a[0]?a[0]:(Array.isArray(null==e?void 0:e.speciality)?e.speciality[0]:null==e?void 0:e.speciality)||"Healthcare Clinic"},B=e=>{let a=[...Array.isArray(null==e?void 0:e.subspecialties)?e.subspecialties:[],...Array.isArray(null==e?void 0:e.conditions_and_treatments)?e.conditions_and_treatments:Array.isArray(null==e?void 0:e.diseases_and_treatments)?e.diseases_and_treatments:[]].filter(Boolean);return a.length>0?a:Array.isArray(null==e?void 0:e.areas_of_expertise)&&e.areas_of_expertise.length>0?e.areas_of_expertise:Array.isArray(null==e?void 0:e.languages)&&e.languages.length>0?e.languages:[]},R=(e,a)=>{let t=a.toLowerCase(),i=(e.full_name||e.name||"").toLowerCase(),s=(e.city||"").toLowerCase(),n=(e.country||"").toLowerCase(),l=(e.address||e.location||"").toLowerCase(),r=[...Array.isArray(e.specialties)?e.specialties:[],...Array.isArray(e.subspecialties)?e.subspecialties:[],...Array.isArray(e.conditions_and_treatments)?e.conditions_and_treatments:[]].map(e=>(e||"").toLowerCase());return i.includes(t)||s.includes(t)||n.includes(t)||l.includes(t)||r.some(e=>e.includes(t))};var Z=()=>{let[e,a]=(0,s.useState)([]),[t,n]=(0,s.useState)(!0),[l,N]=(0,s.useState)(!1),[Z,H]=(0,s.useState)(""),F=(0,r.useRouter)(),[z,U]=(0,s.useState)({total_count:0,page:1,page_size:12,total_pages:0,has_next:!1,has_previous:!1,offset:0,limit:12}),[,G]=(0,s.useState)(1),[I,L]=(0,s.useState)(!1),[W,O]=(0,s.useState)(null),[E,q]=(0,s.useState)(null),[V,K]=(0,s.useState)(!1),[Q,J]=(0,s.useState)("GP Clinics"),[X,Y]=(0,s.useState)(0),[$,ee]=(0,s.useState)(!1),[ea,et]=(0,s.useState)("Find Verified"),[ei,es]=(0,s.useState)(!0),en=(0,s.useRef)({phase:0,index:0});(0,s.useEffect)(()=>{let e,a;let t=setInterval(()=>{ee(!0),e=setTimeout(()=>{let{phase:e,index:t}=en.current,i=0===e?M:T,s=t+1;if(s>=i.length){let t=(e+1)%2;en.current={phase:t,index:0},es(!1),a=setTimeout(()=>{et(0===t?"Find Verified":"Helping With"),J((0===t?M:T)[0]),Y(e=>e+1),ee(!1),es(!0)},380)}else en.current.index=s,J(i[s]),Y(e=>e+1),ee(!1)},320)},2820);return()=>{clearInterval(t),clearTimeout(e),clearTimeout(a)}},[]);let[el,er]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=()=>er(window.scrollY>40);return window.addEventListener("scroll",e,{passive:!0}),e(),()=>window.removeEventListener("scroll",e)},[]);let[ec,eo]=(0,s.useState)(!1),[ed]=(0,s.useState)(null),[ep,eh]=(0,s.useState)(!1),[eu,em]=(0,s.useState)(null),[ef,ey]=(0,s.useState)(!1),[eg,ev]=(0,s.useState)(null),[ex,e_]=(0,s.useState)(null),[ej,eb]=(0,s.useState)(!1),[eC,ew]=(0,s.useState)(!1),eN=(0,s.useRef)(null),ek=()=>({total_count:A.y.length,page:1,page_size:A.y.length,total_pages:1,has_next:!1,has_previous:!1,offset:0,limit:A.y.length}),eA=e=>({total_count:(null==e?void 0:e.count)||0,page:(null==e?void 0:e.page)||1,page_size:(null==e?void 0:e.page_size)||20,total_pages:(null==e?void 0:e.total_pages)||0,has_next:((null==e?void 0:e.page)||1)<((null==e?void 0:e.total_pages)||1),has_previous:((null==e?void 0:e.page)||1)>1,offset:0,limit:(null==e?void 0:e.page_size)||20}),eS=async()=>{N(!0);try{let e=await fetch("".concat(w.sN,"/clinic/directory/?page=1&page_size=20")),t=await e.json(),i=Array.isArray(null==t?void 0:t.data)?t.data:[];(null==t?void 0:t.status)&&i.length>0?(a(i),U(eA(t))):(a([...A.y]),U(ek())),G(1)}catch(e){console.error("API error:",e),a([...A.y]),U(ek())}finally{N(!1),n(!1)}};(0,s.useEffect)(()=>{eS()},[]);let eP=(0,s.useRef)(null),eM=async()=>{let e=[],a=1;for(;;){let t=await fetch("".concat(w.sN,"/clinic/directory/?page=").concat(a,"&page_size=").concat(20)),i=await t.json(),s=Array.isArray(null==i?void 0:i.data)?i.data:[];e=e.concat(s);let n=(null==i?void 0:i.total_pages)||1;if(!(null==i?void 0:i.status)||0===s.length||a>=n)break;a+=1}return e},eT=async()=>{if(eP.current)return eP.current;try{let e=await eM();eP.current=e.length>0?e:[...A.y]}catch(e){console.error("Error fetching full clinic list:",e),eP.current=[...A.y]}return eP.current},eD=e=>({total_count:e,page:1,page_size:e||1,total_pages:1,has_next:!1,has_previous:!1,offset:0,limit:e||1});(0,s.useEffect)(()=>{if(!W&&!E&&!V){if(eN.current&&clearTimeout(eN.current),!Z.trim()){eS();return}return eN.current=setTimeout(()=>{eH(Z)},400),()=>{eN.current&&clearTimeout(eN.current)}}},[Z,W,E,V]);let eB=async e=>{if(W===e){O(null),eS();return}O(e),q(null),K(!1),N(!0);try{let t=await eT(),i=e.toLowerCase(),s=t.filter(e=>(e.city||"").toLowerCase()===i);a(s),U(eD(s.length)),G(1)}catch(e){a([])}finally{N(!1)}},eR=async e=>{if(E===e){q(null),eS();return}q(e),O(null),K(!1),N(!0);try{let t=await eT(),i=e.toLowerCase(),s=t.filter(e=>Array.isArray(e.languages)&&e.languages.some(e=>(e||"").toLowerCase()===i));a(s),U(eD(s.length)),G(1)}catch(e){a([])}finally{N(!1)}},eZ=async()=>{if(V){K(!1),eS();return}K(!0),O(null),q(null),N(!0);try{var e;let t=await fetch("".concat(w.sN,"/clinics/insurance/?insurance=Yes")),i=await t.json(),s=((null==i?void 0:null===(e=i.data)||void 0===e?void 0:e.data)||[]).filter(e=>Array.isArray(e.insurers)&&e.insurers.length>0);a(s),U({total_count:s.length,page:1,page_size:12,total_pages:Math.ceil(s.length/12),has_next:s.length>12,has_previous:!1,offset:0,limit:12}),G(1)}catch(e){a([])}finally{N(!1)}},eH=async e=>{N(!0);try{let t=(await eT()).filter(a=>R(a,e));a(t),U(eD(t.length)),G(1)}catch(e){a([])}finally{N(!1)}},eF=()=>{O(null),q(null),K(!1),H(""),eS()},ez=W||E||V,eU=async()=>{if(ej||!z.has_next)return;eb(!0);let t=!W&&!E&&!V;try{var i;if(t){let e=(z.page||1)+1,t=await fetch("".concat(w.sN,"/clinic/directory/?page=").concat(e,"&page_size=").concat(z.page_size||20)),i=await t.json(),s=Array.isArray(null==i?void 0:i.data)?i.data:[];a(e=>[...e,...s]),U(eA(i));return}let s=e.length,n=await fetch("".concat(w.sN,"/clinics/insurance/?insurance=Yes&offset=").concat(s)),l=await n.json(),r=((null==l?void 0:null===(i=l.data)||void 0===i?void 0:i.data)||[]).filter(e=>Array.isArray(e.insurers)&&e.insurers.length>0);a(e=>[...e,...r])}catch(e){console.error("Load more error:",e)}finally{eb(!1)}},eG=e=>(null==e?void 0:e.source)==="platform"||"string"==typeof(null==e?void 0:e.id)&&e.id.startsWith("cli_"),eI=e=>{if(eG(e)){ev({id:e.id||e._id,name:e.full_name||e.name}),ey(!0);return}em(e),eh(!0)},eL=async e=>{let a=(null==e?void 0:e.username)||(null==e?void 0:e._id)||(null==e?void 0:e.id);if(a&&ex!==a){if(e_(a),e._isDemo&&e.username){window.scrollTo(0,0),F.push("/clinic-profile/".concat(encodeURIComponent(e.username))),e_(null);return}if("string"==typeof e.id&&(e.id.startsWith("cli_")||e.id.startsWith("ucli_"))){window.scrollTo(0,0),F.push("/clinic-profile/".concat(encodeURIComponent(e.id))),e_(null);return}try{let a=await fetch("".concat(w.sN,"/clinics/by-username/").concat(encodeURIComponent(e.username))),t=await a.json(),i=null==t?void 0:t.data;if(!i)return;try{await fetch("".concat(w.sN,"/clinics/profile-viewed/"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clinic_email:i.email})})}catch(e){}let s=i.username||e.username,n=e._id||e.id,l=s?"/clinic-profile/".concat(encodeURIComponent(s)):"/clinic-profile/".concat(encodeURIComponent(n));window.scrollTo(0,0),F.push(l)}catch(e){console.error("Error fetching clinic details:",e)}finally{e_(null)}}},eW=e.filter(e=>!ez||!Z||R(e,Z)),eO=e=>{var a;if(e.isAvailable&&(null===(a=e.nextSlot)||void 0===a?void 0:a.day)){let a=(e.nextSlot.day||"").toLowerCase();return"today"===a||"monday"===a||"tuesday"===a||"wednesday"===a||"thursday"===a||"friday"===a?{dotClass:"fp-status-dot-green",textClass:"fp-status-text-green",label:e.nextSlot.start?"".concat(e.nextSlot.day,", ").concat(e.nextSlot.start):e.nextSlot.day}:{dotClass:"fp-status-dot-teal",textClass:"fp-status-text-teal",label:"".concat(e.nextSlot.day,", ").concat(e.nextSlot.start||"").trim()}}return e.appointmentFee?{dotClass:"fp-status-dot-teal",textClass:"fp-status-text-teal",label:"From \xa3".concat(e.appointmentFee)}:e.openingRange?{dotClass:e.isAvailable?"fp-status-dot-green":"fp-status-dot-gray",textClass:e.isAvailable?"fp-status-text-green":"fp-status-text-gray",label:"Open ".concat(e.openingRange)}:{dotClass:"fp-status-dot-gray",textClass:"fp-status-text-gray",label:"Request Slot"}};return(0,i.jsxs)("div",{className:"fp-container",children:[(0,i.jsxs)("div",{className:"fp-ambient","aria-hidden":"true",children:[(0,i.jsx)("div",{className:"fp-ambient-blob-1"}),(0,i.jsx)("div",{className:"fp-ambient-blob-2"})]}),(0,i.jsx)(o.Z,{title:"Find Online Private Clinics in the UK | Browse & Book Online | Virtual Triage",description:"Search and book appointments at private clinics across the UK. Filter by specialty, location & availability. CQC-registered, GDPR compliant, same-day appointments available.",keywords:"find private clinic uk, book clinic appointment online, private clinic near me, find clinic uk, healthcare clinics uk, private gp clinic, dermatology clinic uk, psychiatry clinic uk",canonical:"https://virtualtriage.ai/find-clinics",structuredData:{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://virtualtriage.ai/find-clinics",url:"https://virtualtriage.ai/find-clinics",name:"Find Clinics & GPs in the UK | Book Appointments Online",description:"Search and book appointments with private GPs and online clinics across the UK.",isPartOf:{"@id":"https://virtualtriage.ai/"},inLanguage:"en-GB"},{"@type":"SearchResultsPage","@id":"https://virtualtriage.ai/find-clinics",url:"https://virtualtriage.ai/find-clinics",name:"Find Clinics and GPs in the UK",description:"Search for private GPs, online clinics, and healthcare clinics in the UK.",potentialAction:{"@type":"SearchAction",target:"https://virtualtriage.ai/find-clinics?search={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"MedicalBusiness","@id":"https://virtualtriage.ai/find-clinics",name:"Virtual Triage Clinic Search",description:"Find and book appointments with certified healthcare professionals across the UK.",serviceArea:{"@type":"Place",name:"United Kingdom"},provider:{"@id":"https://virtualtriage.ai/"},offers:{"@type":"Offer",priceCurrency:"GBP",url:"https://virtualtriage.ai/find-clinics"}}]},location:"UK"}),(0,i.jsx)(c.Z,{}),(0,i.jsx)("section",{className:"fp-trust-banner",style:{position:"relative",zIndex:10},children:(0,i.jsxs)("div",{className:"fp-trust-inner",children:[(0,i.jsxs)("p",{className:"fp-trust-item",children:[(0,i.jsx)(p.Z,{size:14})," CQC Registered Clinics"]}),(0,i.jsxs)("p",{className:"fp-trust-item",children:[(0,i.jsx)(h.Z,{size:14})," DSPT & GDPR Compliant"]}),(0,i.jsxs)("p",{className:"fp-trust-item",children:[(0,i.jsx)(u.Z,{size:14})," 20+ Clinics Across the UK"]}),(0,i.jsxs)("p",{className:"fp-trust-item",children:[(0,i.jsx)(m.Z,{size:14})," UK Registered Platform"]})]})}),(0,i.jsxs)("main",{className:"fp-main",children:[(0,i.jsxs)("section",{className:"fp-hero",children:[(0,i.jsxs)("h1",{className:"fp-hero-title",children:[(0,i.jsx)("span",{className:"fp-hero-static".concat(ei?" fp-hero-visible":""),children:ea}),(0,i.jsx)("span",{className:"fp-hero-word-wrap".concat($?" fp-hero-word-exit":" fp-hero-word-enter"),children:(0,i.jsx)("span",{className:"fp-hero-word-text",children:Q})},X)]}),(0,i.jsx)("p",{className:"fp-hero-desc",children:"Advanced triage routing connects you with top-tier clinics instantly. Search by name, specialty, or location to begin."})]}),(0,i.jsx)("div",{className:"fp-search-dock".concat(el?" fp-search-dock-stuck":""),children:(0,i.jsxs)("div",{className:"fp-search-dock-inner",children:[(0,i.jsxs)("div",{className:"fp-search-wrapper",children:[(0,i.jsx)("div",{className:"fp-search-glow"}),(0,i.jsxs)("div",{className:"fp-search-bar",children:[(0,i.jsx)("span",{className:"fp-search-icon",children:(0,i.jsx)(f.Z,{size:20})}),(0,i.jsx)("input",{className:"fp-search-input",placeholder:"Search conditions, specialties, or clinics...",value:Z,onChange:e=>H(e.target.value)}),(0,i.jsx)("button",{className:"fp-search-btn",children:"Search"})]})]}),(0,i.jsx)("div",{className:"fp-chips-row",children:(0,i.jsxs)("div",{className:"fp-filter-chips",children:[(0,i.jsxs)("button",{className:"fp-chip".concat(ez?" fp-chip-active":""),onClick:()=>L(!0),children:[(0,i.jsx)(y.Z,{size:14}),"All Filters",ez&&(0,i.jsx)("span",{className:"fp-chip-dot-indicator"})]}),!1]})}),ez&&(0,i.jsxs)("div",{className:"fp-active-chips",children:[W&&(0,i.jsxs)("span",{className:"fp-active-chip",children:[W,(0,i.jsx)("button",{onClick:()=>{O(null),eS()},children:(0,i.jsx)(g.Z,{size:11})})]}),E&&(0,i.jsxs)("span",{className:"fp-active-chip",children:[E,(0,i.jsx)("button",{onClick:()=>{q(null),eS()},children:(0,i.jsx)(g.Z,{size:11})})]}),V&&(0,i.jsxs)("span",{className:"fp-active-chip",children:["Accepts Insurance",(0,i.jsx)("button",{onClick:()=>{K(!1),eS()},children:(0,i.jsx)(g.Z,{size:11})})]}),(0,i.jsx)("button",{className:"fp-clear-all",onClick:eF,children:"Clear all"})]})]})}),!1,(0,i.jsx)("section",{className:"fp-grid",children:t||l?[...Array(6)].map((e,a)=>(0,i.jsxs)("div",{className:"fp-skeleton-card",children:[(0,i.jsx)("div",{className:"fp-skeleton-avatar"}),(0,i.jsxs)("div",{className:"fp-skeleton-lines",children:[(0,i.jsx)("div",{className:"fp-skeleton-line fp-skeleton-line-lg"}),(0,i.jsx)("div",{className:"fp-skeleton-line fp-skeleton-line-sm"}),(0,i.jsx)("div",{className:"fp-skeleton-line fp-skeleton-line-md"})]})]},a)):0===eW.length?(0,i.jsxs)("div",{className:"fp-empty-state",children:[(0,i.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"#c8d6e0",strokeWidth:"1.5",children:[(0,i.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,i.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),(0,i.jsx)("p",{className:"fp-empty-title",children:"No clinics found"}),(0,i.jsx)("p",{className:"fp-empty-sub",children:"Try adjusting your filters or search term"}),(0,i.jsx)("button",{className:"fp-empty-reset",onClick:eF,children:"Reset filters"})]}):eW.map(e=>{var a,t,s,n;let l=e.opening_time&&e.closing_time?"".concat(e.opening_time.slice(0,5)," - ").concat(e.closing_time.slice(0,5)):null,r={id:e._id||e.id,name:e.full_name||e.name,specialty:D(e),city:e.city||"",expertise:B(e),experience:e.experience_years||(e.founded_year?new Date().getFullYear()-e.founded_year:null),fee:e.new_appointment_fee||"Not Set",rating:"number"==typeof e.rating?e.rating:(null===(t=e.ratings)||void 0===t?void 0:null===(a=t[0])||void 0===a?void 0:a.Clinic_Rating)||0,image:e.profile_picture_url||e.image_url||"/assets/Virtual%20Triage.png",isAvailable:!0===e.status||"active"===e.status,nextSlot:e.next_available_slot||null,appointmentFee:e.new_appointment_fee||null,openingRange:l},c=ex===((null==e?void 0:e.username)||(null==e?void 0:e._id)||(null==e?void 0:e.id)),o=eG(e)?"Book Now":"Request Appointment",d=eO(r);return(0,i.jsxs)("div",{className:"fp-card",onClick:()=>!c&&eL(e),style:{cursor:c?"wait":"pointer",opacity:c?.75:1},children:[(0,i.jsx)("div",{className:"fp-card-glow"}),(0,i.jsxs)("div",{className:"fp-card-body",children:[(0,i.jsxs)("div",{className:"fp-card-header",children:[(0,i.jsxs)("div",{className:"fp-card-avatar-wrap",children:[(0,i.jsx)("div",{className:"fp-card-avatar",children:(0,i.jsx)("img",{src:r.image,alt:r.name,width:68,height:68,loading:"lazy"})}),r.isAvailable&&(0,i.jsx)("span",{className:"fp-card-available-dot",title:"Available"})]}),(0,i.jsx)("div",{className:"fp-card-meta",children:(0,i.jsxs)("div",{className:"fp-card-name-row",children:[(0,i.jsxs)("div",{className:"fp-card-name-block",children:[(0,i.jsx)("h3",{className:"fp-card-name",children:r.name}),(0,i.jsx)("p",{className:"fp-card-specialty",children:r.specialty}),r.city&&(0,i.jsx)("p",{className:"fp-card-location",children:r.city})]}),r.rating>0&&(0,i.jsxs)("div",{className:"fp-card-rating-badge",children:[(0,i.jsx)(x.Z,{size:12,className:"fp-star-icon fp-star-filled",style:{fill:"#eda000",color:"#eda000"}}),(0,i.jsx)("span",{className:"fp-card-rating-value",children:r.rating.toFixed(1)})]})]})})]}),(0,i.jsxs)("div",{className:"fp-card-details",children:[(0,i.jsxs)("div",{className:"fp-card-detail",children:[(0,i.jsx)(_.Z,{size:13,className:"fp-card-detail-icon"}),(0,i.jsx)("span",{children:(null===(s=r.nextSlot)||void 0===s?void 0:s.day)&&(null===(n=r.nextSlot)||void 0===n?void 0:n.start)?(0,i.jsxs)(i.Fragment,{children:["Next available: ",(0,i.jsxs)("strong",{children:[r.nextSlot.day,", ",r.nextSlot.start]})]}):r.openingRange?(0,i.jsxs)(i.Fragment,{children:["Open: ",(0,i.jsx)("strong",{children:r.openingRange})]}):(0,i.jsxs)(i.Fragment,{children:["Next available: ",(0,i.jsx)("strong",{children:"Request Slot"})]})})]}),r.experience&&(0,i.jsxs)("div",{className:"fp-card-detail",children:[(0,i.jsx)(j.Z,{size:13,className:"fp-card-detail-icon"}),(0,i.jsxs)("span",{children:[r.experience,"+ years experience"]})]})]}),r.expertise.length>0&&(0,i.jsxs)("div",{className:"fp-card-chips",children:[r.expertise.slice(0,3).map(e=>(0,i.jsx)("span",{className:"fp-card-chip",children:e},e)),r.expertise.length>3&&(0,i.jsxs)("span",{className:"fp-card-chip fp-card-chip-more",children:["+",r.expertise.length-3]})]}),(0,i.jsxs)("div",{className:"fp-card-footer",children:[(0,i.jsxs)("div",{className:"fp-card-status",children:[(0,i.jsx)("span",{className:"fp-status-dot ".concat(d.dotClass)}),(0,i.jsx)("span",{className:"fp-status-text ".concat(d.textClass),children:"number"==typeof r.fee?"Fee (\xa3): ".concat(r.fee):d.label})]}),(0,i.jsx)("span",{className:"fp-card-arrow",children:(0,i.jsx)(v.Z,{size:16})})]}),(0,i.jsxs)("div",{className:"fp-card-btns-mobile",children:[(0,i.jsx)("button",{className:"fp-btn-outline",onClick:a=>{a.stopPropagation(),eL(e)},disabled:c,children:c?"Loading...":"View Profile"}),(0,i.jsx)("button",{className:"fp-btn-filled fp-btn-teal",onClick:a=>{a.stopPropagation(),eI(e)},children:o})]})]}),(0,i.jsxs)("div",{className:"fp-card-overlay",children:[(0,i.jsx)("button",{className:"fp-btn-outline",onClick:a=>{a.stopPropagation(),eL(e)},disabled:c,children:c?"Loading...":"View Profile"}),(0,i.jsx)("button",{className:"fp-btn-filled",onClick:a=>{a.stopPropagation(),eI(e)},children:o})]})]},r.id)})}),z.has_next&&!t&&!l&&(0,i.jsx)("div",{className:"fp-load-more-wrap",children:(0,i.jsxs)("button",{className:"fp-load-more-btn",onClick:eU,disabled:ej,children:[ej?"Loading...":"Load More Clinics",!ej&&(0,i.jsx)(m.Z,{size:16})]})})]}),(0,i.jsx)(d.Z,{}),I&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"fp-sheet-overlay",onClick:()=>L(!1)}),(0,i.jsxs)("div",{className:"fp-sheet",role:"dialog","aria-modal":"true","aria-label":"Filters",children:[(0,i.jsx)("div",{className:"fp-sheet-handle"}),(0,i.jsxs)("div",{className:"fp-sheet-header",children:[(0,i.jsx)("span",{className:"fp-sheet-title",children:"Filters"}),(0,i.jsx)("button",{className:"fp-sheet-close",onClick:()=>L(!1),children:(0,i.jsx)(g.Z,{size:20})})]}),(0,i.jsxs)("div",{className:"fp-sheet-section",children:[(0,i.jsx)("div",{className:"fp-sheet-section-title",children:"Location (UK)"}),(0,i.jsx)("div",{className:"fp-sheet-options",children:S.UK.map(e=>(0,i.jsx)("button",{className:"fp-sheet-option".concat(W===e?" fp-sheet-option-active":""),onClick:()=>{eB(e),L(!1)},children:e},e))})]}),(0,i.jsxs)("div",{className:"fp-sheet-section",children:[(0,i.jsx)("div",{className:"fp-sheet-section-title",children:"Language"}),(0,i.jsx)("div",{className:"fp-sheet-options",children:P.map(e=>(0,i.jsx)("button",{className:"fp-sheet-option".concat(E===e?" fp-sheet-option-active":""),onClick:()=>{eR(e),L(!1)},children:e},e))})]}),(0,i.jsxs)("div",{className:"fp-sheet-section",children:[(0,i.jsx)("div",{className:"fp-sheet-section-title",children:"Insurance"}),(0,i.jsx)("div",{className:"fp-sheet-options",children:(0,i.jsx)("button",{className:"fp-sheet-option".concat(V?" fp-sheet-option-active":""),onClick:()=>{eZ(),L(!1)},children:"Accepts Insurance"})})]}),(0,i.jsxs)("div",{className:"fp-sheet-footer",children:[(0,i.jsx)("button",{className:"fp-sheet-reset",onClick:()=>{eF(),L(!1)},children:"Clear All"}),(0,i.jsx)("button",{className:"fp-sheet-apply",onClick:()=>L(!1),children:"Show Results"})]})]})]}),(0,i.jsx)(b.Z,{isOpen:ec,onClose:()=>eo(!1),clinicName:null==ed?void 0:ed.full_name,clinicId:null==ed?void 0:ed._id}),(0,i.jsx)(C.Z,{isOpen:ep,onClose:()=>{eh(!1),em(null)},clinicId:(null==eu?void 0:eu.id)||(null==eu?void 0:eu._id),clinicName:(null==eu?void 0:eu.full_name)||(null==eu?void 0:eu.name)}),(0,i.jsx)(k,{isOpen:ef,onClose:()=>{ey(!1),ev(null)},clinicId:null==eg?void 0:eg.id,clinicName:null==eg?void 0:eg.name})]})}}},function(e){e.O(0,[1890,6814,8884,7826,2888,9774,179],function(){return e(e.s=8565)}),_N_E=e.O()}]);