1import{_ as O}from"./DWyDwVnk.js";import{u as X,a as Z,n as tt,_ as et,b as ot}from"./Bh0n8AQn.js";import at from"./D4Yf-dGO.js";import st from"./Dr9-kahh.js";import rt from"./DmjYLVB1.js";import lt from"./BzoF2cR8.js";import nt from"./B5iE4jaP.js";import it from"./D9jwQVRz.js";import dt from"./hXuMIe3t.js";import mt from"./CpC2GgGv.js";import ct from"./Cy64mVcQ.js";import{h as ut}from"./DlcI076V.js";import{u as pt,v as ft,y as p,W as e,U as a,$ as i,D as s,a9 as Y,Y as w,V as gt,a8 as _t,b as l,B as bt,R as c,a3 as vt,c as D,_ as ht}from"./ju0uOljr.js";import"./CmXMD7q0.js";import"./BAhIDmst.js";import"./BT4V81Z9.js";import"./BNopcswN.js";import"./DH9TmycS.js";import"./Z7z-dbKI.js";import"./Bxiv5ywn.js";import"./BvHmE4Bv.js";import"./BJb8m1xx.js";import"./CDYyN-M0.js";import"./ZhWAdK_X.js";import"./BAXkQLcL.js";import"./CLs7nh7g.js";import"./BPO0L-Qd.js";import"./BrXhtZHe.js";import"./D6cDCES4.js";import"./DlBLg2lB.js";import"./BtwPa5Oh.js";import"./Bjl4L_1j.js";import"./-HhE-jPi.js";import"./C3uDkDvU.js";import"./B4tJQeoB.js";import"./Cub3LH8g.js";import"./C_FTgOi4.js";import"./DLtinRS8.js";import"./CwPLQoCE.js";import"./CJtOE6g1.js";import"./CwSOUp4L.js";const yt={class:"min-h-screen bg-white"},xt={key:1,class:"container mx-auto px-4 py-6 md:py-8"},kt={class:"mb-6"},wt={class:"flex items-center gap-2 text-sm text-gray-600"},Dt={class:"grid grid-cols-1 lg:grid-cols-[300px_1fr] gap-6 md:gap-8"},Ct={class:"lg:col-span-1"},Vt={class:"bg-white border border-gray-200 rounded-lg p-5 sticky top-[16%]"},At={class:"mb-5"},Pt={class:"mb-5"},St={class:"mb-5"},$t={class:"mb-5"},It={class:"space-y-3"},Rt=["disabled"],Nt=["disabled"],Yt={key:0,class:"inline-block w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"},Bt={class:"lg:col-span-1"},Mt={key:0,class:"text-center py-16"},Tt={class:"text-gray-500 mt-4"},Lt={key:1,class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5"},qt={class:"relative h-[350px] bg-gradient-to-br from-blue-50/50 via-white to-blue-50/30 overflow-hidden"},Ft={class:"p-4 border-t border-gray-100"},jt={class:"font-semibold text-lg text-gray-900 mb-3"},Ut={class:"flex items-start justify-between gap-2"},Et={class:"text-gray-600 flex-1"},Gt={class:"flex-shrink-0 w-8 h-8 rounded-full bg-[#09AAC8] flex items-center justify-center mt-0.5"},Ht={key:2,class:"text-center py-16"},zt={key:3,class:"mt-8"},B="/default-doctor.jpg",Qt=pt({__name:"index",setup(Wt){X({title:"Dokter di Rumah Sakit Primecare",meta:[{name:"description",content:"Temukan dokter spesialis dan umum terpercaya di Rumah Sakit Primecare Samarinda."}]});const C=ut(),g=Z(),f=l(null),d=l(null),M=new Date,R=[{name:"RS Primecare Samarinda",id:"a2b24f9d-bea2-4113-a6e5-9df7706493f5"}],V=l(R[0]),u=l(""),b=l([]),A=l([]),P=l(!1),v=l(!1),h=l(1),_=l(15),y=l(0),T=o=>{if(!o)return null;const t=o.split("-").map(Number);if(t.length!==3)return null;const[m,n,S]=t;return new Date(m,n-1,S)},L=o=>{if(!o)return"";const t=o.getFullYear(),m=String(o.getMonth()+1).padStart(2,"0"),n=String(o.getDate()).padStart(2,"0");return`${t}-${m}-${n}`},x=async(o=!1)=>{o&&(h.value=1),P.value=!0;try{const t={page:h.value,per_page:_.value,search:u.value||void 0},m=d.value?await C.fetchDoctorsByDepartmentId(d.value.uuid,t):await C.fetchDoctors(t);b.value=m?.data||[],y.value=m?.total||0}catch(t){console.error("Error fetching doctors:",t),b.value=[],y.value=0}finally{P.value=!1}},q=async()=>{try{const o=await C.fetchDepartments();A.value=o.data||[]}catch(o){console.error("Error fetching departments:",o)}},F=()=>{if(g.query.doctor&&(u.value=g.query.doctor),g.query.date&&(f.value=T(g.query.date)),g.query.specialist){const o=A.value.find(t=>t.name.toLowerCase().includes(g.query.specialist.toLowerCase()));o&&(d.value=o)}},j=o=>o.image||B,U=()=>{f.value=null,d.value=null,u.value="",x(!0)},E=()=>{const o={};u.value&&(o.doctor=u.value),f.value&&(o.date=L(f.value)),d.value&&(o.specialist=d.value.name),tt({path:"/dokter",query:o}),x(!0)},G=o=>{h.value=o.page+1,_.value=o.rows,x(),window.scrollTo({top:0,behavior:"smooth"})},k=bt(()=>P.value||v.value);return ft(async()=>{await q(),F(),await x()}),(o,t)=>{const m=O,n=et,S=ct,H=mt,z=dt,$=it,N=nt,I=lt,Q=rt,W=at,J=st;return c(),p("div",yt,[(c(),p("div",xt,[e("div",kt,[e("div",wt,[a(m,{to:"/",class:"hover:!text-primary"},{default:i(()=>[...t[5]||(t[5]=[vt("Beranda",-1)])]),_:1}),t[6]||(t[6]=e("span",null,">
1",-1)),t[7]||(t[7]=e("span",{class:"!text-primary font-medium"},"Cari Dokter",-1))])]),t[15]||(t[15]=e("h1",{class:"text-3xl md:text-4xl font-bold text-gray-800 mb-8"},"Cari Dokter",-1)),e("div",Dt,[e("div",Ct,[e("div",Vt,[e("div",At,[t[8]||(t[8]=e("label",{class:"block font-semibold text-gray-800 mb-3"}," Nama Dokter ",-1)),a(z,{class:"w-full"},{default:i(()=>[a(S,null,{default:i(()=>[a(n,{name:"mdi:magnify",class:"text-gray-400"})]),_:1}),a(H,{modelValue:s(u),"onUpdate:modelValue":t[0]||(t[0]=r=>D(u)?u.value=r:null),placeholder:"Cari Nama Dokter",fluid:""},null,8,["modelValue"])]),_:1})]),e("div",Pt,[t[9]||(t[9]=e("label",{class:"block font-semibold text-gray-800 mb-3"},"Rumah Sakit",-1)),a(I,null,{default:i(()=>[a($,null,{default:i(()=>[a(n,{name:"mdi:hospital-marker",class:"text-gray-400"})]),_:1}),a(N,{modelValue:s(V),"onUpdate:modelValue":t[1]||(t[1]=r=>D(V)?V.value=r:null),options:R,optionLabel:"name",placeholder:"Pilih Rumah Sakit",fluid:""},null,8,["modelValue"])]),_:1})]),e("div",St,[t[10]||(t[10]=e("label",{class:"block font-semibold text-gray-800 mb-3"}," Tanggal ",-1)),a(I,null,{default:i(()=>[a($,null,{default:i(()=>[a(n,{name:"mdi:calendar",class:"text-gray-400"})]),_:1}),a(Q,{modelValue:s(f),"onUpdate:modelValue":t[2]||(t[2]=r=>D(f)?f.value=r:null),placeholder:"Pilih Tanggal",fluid:"",dateFormat:"dd/mm/yy",showButtonBar:"",minDate:s(M)},null,8,["modelValue","minDate"])]),_:1})]),e("div",$t,[t[11]||(t[11]=e("label",{class:"block font-semibold text-gray-800 mb-3"},"Poli",-1)),a(I,null,{default:i(()=>[a($,null,{default:i(()=>[a(n,{name:"mdi:hospital-building",class:"text-gray-400"})]),_:1}),a(N,{modelValue:s(d),"onUpdate:modelValue":t[3]||(t[3]=r=>D(d)?d.value=r:null),options:s(A),optionLabel:"name",placeholder:"Pilih Poli",fluid:"",showClear:""},null,8,["modelValue","options"])]),_:1})]),e("div",It,[e("button",{onClick:U,disabled:s(k),class:"w-full border-2 border-[#09AAC8] !text-primary hover:bg-[#09AAC8] hover:!text-white py-2 rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed"}," Reset ",8,Rt),e("button",{onClick:E,disabled:s(k),class:"w-full bg-[#09AAC8] hover:bg-[#0096D1] text-white py-2 cursor-pointer rounded-md font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2"},[s(v)?(c(),p("span",Yt)):Y("",!0),e("span",null,w(s(v)?"Mencari...":"Cari Dokter"),1)],8,Nt)])])]),e("div",Bt,[s(k)?(c(),p("div",Mt,[t[12]||(t[12]=e("div",{class:"inline-block w-12 h-12 border-4 border-[#09AAC8] border-t-transparent rounded-full animate-spin"},null,-1)),e("p",Tt,w(s(v)?"Mencari dokter...":"Memuat data dokter..."),1)])):s(b).length>0?(c(),p("div",Lt,[(c(!0),p(gt,null,_t(s(b),r=>(c(),ht(m,{key:r.slug,to:`/dokter/${r.slug}`,class:"bg-white border border-gray-200 rounded-lg overflow-hidden hover:shadow-lg transition-shadow group cursor-pointer"},{default:i(()=>[e("div",qt,[a(W,{src:j(r),alt:r.name,class:"w-full h-[350px] object-cover object-top",onError:t[4]||(t[4]=K=>K.target.src=B)},null,8,["src","alt"])]),e("div",Ft,[e("h3",jt,w(r.name),1),e("div",Ut,[e("p",Et,w(r.department_name||"-"),1),e("div",Gt,[a(n,{name:"heroicons:academic-cap",class:"text-white text-xl"})])])])]),_:2},1032,["to"]))),128))])):(c(),p("div",Ht,[a(n,{name:"heroicons:user-group",class:"text-6xl text-gray-300 mx-auto mb-4"}),t[13]||(t[13]=e("h3",{class:"text-xl font-semibold text-gray-700 mb-2"},"Tidak Ada Dokter Ditemukan",-1)),t[14]||(t[14]=e("p",{class:"text-gray-500"},"Coba ubah filter pencarian Anda",-1))])),!s(k)&&s(y)>s(_)?(c(),p("div",zt,[a(J,{rows:s(_),totalRecords:s(y),first:(s(h)-1)*s(_),onPage:G,class:"border-0"},null,8,["rows","totalRecords","first"])])):Y("",!0)])])]))])}}}),Me=ot(Qt,[["__scopeId","data-v-70f7bfb9"]]);export{Me 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.