1import{d as ge,v as xe,q as S,f as Z,w as f,b as a,e as r,h as ye,a as o,g as p,t as c,o as i,c as u,F as T,k as g,y as N,r as q,B as ve,n as U,x as _e,z as ee,C as te,D as I,s as he}from"./app-C5cgSpjq.js";import{q as Q,a as L}from"./index-CSEUMRIG.js";import{M as be}from"./MediaPicker-BoGqdB84.js";import{S as oe}from"./SlideDrawer-BfnSZ6S6.js";import{_ as C}from"./InputError.vue_vue_type_script_setup_true_lang-Cwg6me7U.js";import{_ as A}from"./index-BaNV2O0m.js";import{_ as $}from"./Input.vue_vue_type_script_setup_true_lang-C_NwO8dc.js";import{_ as V}from"./Label.vue_vue_type_script_setup_true_lang-UpzF4FOn.js";import{_ as je}from"./AdminLayout.vue_vue_type_script_setup_true_lang-DkrYarzN.js";import{P as we}from"./plus-DGMPByP1.js";import{S as ke}from"./search-DT-gSOqt.js";import{B as re}from"./briefcase-DivOa5UC.js";import{E as Ce}from"./eye-YOl_aJ6M.js";import{P as se}from"./pencil-DzCWU-zh.js";import{T as le}from"./trash-2-c72l-ujp.js";import{L as de}from"./loader-circle-CPfMS62_.js";import{M as Ve}from"./map-pin-CouhfHO5.js";import{E as Se}from"./external-link-G_v7Ohlj.js";import"./x-DfY1RLWb.js";import"./createLucideIcon-BmMD4VmV.js";import"./image-off-CZhxuLXG.js";import"./check-iqOCufKY.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-Bh-l8oBM.js";import"./useForwardExpose-BMrGLdcO.js";import"./settings-Do4A55rc.js";import"./menu-BQhW0ZTR.js";import"./chevron-right-Bkw2RbfZ.js";import"./tag-DxJE3RWI.js";import"./users-BwMmJ9IP.js";const y=e=>({url:y.url(e),method:"get"});y.definition={methods:["get","head"],url:"/admin/projects"};y.url=e=>y.definition.url+Q(e);y.get=e=>({url:y.url(e),method:"get"});y.head=e=>({url:y.url(e),method:"head"});const R=e=>({action:y.url(e),method:"get"});R.get=e=>({action:y.url(e),method:"get"});R.head=e=>({action:y.url({[e?.mergeQuery?"mergeQuery":"query"]:{_method:"HEAD",...e?.query??e?.mergeQuery??{}}}),method:"get"});y.form=R;const j=e=>({url:j.url(e),method:"post"});j.definition={methods:["post"],url:"/admin/projects"};j.url=e=>j.definition.url+Q(e);j.post=e=>({url:j.url(e),method:"post"});const ae=e=>({action:j.url(e),method:"post"});ae.post=e=>({action:j.url(e),method:"post"});j.form=ae;const v=(e,l)=>({url:v.url(e,l),method:"get"});v.definition={methods:["get","head"],url:"/admin/projects/{project}"};v.url=(e,l)=>{(typeof e=="string"||typeof e=="number")&&(e={project:e}),typeof e=="object"&&!Array.isArray(e)&&"id"in e&&(e={project:e.id}),Array.isArray(e)&&(e={project:e[0]}),e=L(e);const x={project:typeof e.project=="object"?e.project.id:e.project};return v.definition.url.replace("{project}",x.project.toString()).replace(/\/+$/,"")+Q(l)};v.get=(e,l)=>({url:v.url(e,l),method:"get"});v.head=(e,l)=>({url:v.url(e,l),method:"head"});const G=(e,l)=>({action:v.url(e,l),method:"get"});G.get=(e,l)=>({action:v.url(e,l),method:"get"});G.head=(e,l)=>({action:v.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"HEAD",...l?.query??l?.mergeQuery??{}}}),method:"get"});v.form=G;const _=(e,l)=>({url:_.url(e,l),method:"get"});_.definition={methods:["get","head"],url:"/admin/projects/{project}/edit"};_.url=(e,l)=>{(typeof e=="string"||typeof e=="number")&&(e={project:e}),typeof e=="object"&&!Array.isArray(e)&&"id"in e&&(e={project:e.id}),Array.isArray(e)&&(e={project:e[0]}),e=L(e);const x={project:typeof e.project=="object"?e.project.id:e.project};return _.definition.url.replace("{project}",x.project.toString()).replace(/\/+$/,"")+Q(l)};_.get=(e,l)=>({url:_.url(e,l),method:"get"});_.head=(e,l)=>({url:_.url(e,l),method:"head"});const O=(e,l)=>({action:_.url(e,l),method:"get"});O.get=(e,l)=>({action:_.url(e,l),method:"get"});O.head=(e,l)=>({action:_.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"HEAD",...l?.query??l?.mergeQuery??{}}}),method:"get"});_.form=O;const h=(e,l)=>({url:h.url(e,l),method:"put"});h.definition={methods:["put","patch"],url:"/admin/projects/{project}"};h.url=(e,l)=>{(typeof e=="string"||typeof e=="number")&&(e={project:e}),typeof e=="object"&&!Array.isArray(e)&&"id"in e&&(e={project:e.id}),Array.isArray(e)&&(e={project:e[0]}),e=L(e);const x={project:typeof e.project=="object"?e.project.id:e.project};return h.definition.url.replace("{project}",x.project.toString()).replace(/\/+$/,"")+Q(l)};h.put=(e,l)=>({url:h.url(e,l),method:"put"});h.patch=(e,l)=>({url:h.url(e,l),method:"patch"});const J=(e,l)=>({action:h.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"PUT",...l?.query??l?.mergeQuery??{}}}),method:"post"});J.put=(e,l)=>({action:h.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"PUT",...l?.query??l?.mergeQuery??{}}}),method:"post"});J.patch=(e,l)=>({action:h.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"PATCH",...l?.query??l?.mergeQuery??{}}}),method:"post"});h.form=J;const w=(e,l)=>({url:w.url(e,l),method:"delete"});w.definition={methods:["delete"],url:"/admin/projects/{project}"};w.url=(e,l)=>{(typeof e=="string"||typeof e=="number")&&(e={project:e}),typeof e=="object"&&!Array.isArray(e)&&"id"in e&&(e={project:e.id}),Array.isArray(e)&&(e={project:e[0]}),e=L(e);const x={project:typeof e.project=="object"?e.project.id:e.project};return w.definition.url.replace("{project}",x.project.toString()).replace(/\/+$/,"")+Q(l)};w.delete=(e,l)=>({url:w.url(e,l),method:"delete"});const ne=(e,l)=>({action:w.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"DELETE",...l?.query??l?.mergeQuery??{}}}),method:"post"});ne.delete=(e,l)=>({action:w.url(e,{[l?.mergeQuery?"mergeQuery":"query"]:{_method:"DELETE",...l?.query??l?.mergeQuery??{}}}),method:"post"});w.form=ne;const Ae={class:"space-y-6"},$e={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},Ee={class:"mt-1 text-sm text-muted-foreground"},Pe={class:"flex flex-col gap-3 sm:flex-row sm:items-center"},Qe={class:"relative max-w-sm min-w-48 flex-1"},De=["value"],Fe={class:"overflow-hidden rounded-xl border border-border bg-card shadow-card"},Te={class:"min-w-full text-sm"},qe={class:"divide-y divide-border"},Ue={class:"max-w-xs px-4 py-3"},Le={class:"flex items-start gap-2"},Me={key:0,class:"mt-0.5 h-8 w-8 shrink-0 overflow-hidden rounded-md bg-muted"},ze=["src","alt"],He=["onClick"],Be={key:0,class:"mt-0.5 line-clamp-1 text-xs text-muted-foreground"},Ne={class:"hidden px-4 py-3 sm:table-cell"},Ie={class:"hidden px-4 py-3 text-muted-foreground lg:table-cell"},Re={class:"hidden px-4 py-3 text-xs whitespace-nowrap text-muted-foreground xl:table-cell"},Ge={key:0},Oe={key:1},Je={key:2},Ke={key:3},We={class:"hidden px-4 py-3 text-xs whitespace-nowrap text-muted-foreground xl:table-cell"}
1,Xe={class:"px-4 py-3 text-right"},Ye={class:"flex items-center justify-end gap-1"},Ze=["onClick"],et=["onClick"],tt=["onClick"],ot={key:0},rt={colspan:"6",class:"px-4 py-16 text-center"},st={key:0,class:"flex flex-wrap items-center justify-between gap-2"},lt={class:"text-sm text-muted-foreground"},dt={class:"flex flex-wrap items-center gap-1"},at=["onClick","disabled","innerHTML"],nt={key:0,class:"flex flex-col items-center justify-center gap-3 py-24 text-muted-foreground"},it={key:1,class:"flex flex-col items-center justify-center gap-4 py-24 text-center"},ut={class:"text-sm text-destructive"},ct={class:"grid grid-cols-1 gap-5 sm:grid-cols-2"},mt={class:"space-y-1.5 sm:col-span-2"},pt={class:"space-y-1.5"},ft={class:"space-y-1.5"},gt={class:"flex flex-wrap gap-2"},xt=["onClick","disabled"],yt={class:"grid grid-cols-1 gap-5 sm:grid-cols-2"},vt={class:"space-y-1.5 sm:col-span-2"},_t=["disabled"],ht={class:"space-y-1.5 sm:col-span-2"},bt=["disabled"],jt={class:"space-y-1.5"},wt={class:"space-y-1.5"},kt={class:"space-y-1.5"},Ct={class:"space-y-1.5"},Vt={class:"flex gap-3 border-t border-border pt-2"},St={key:0,class:"flex flex-col items-center justify-center gap-3 py-24 text-muted-foreground"},At={key:1,class:"flex flex-col items-center justify-center gap-4 py-24 text-center"},$t={class:"text-sm text-destructive"},Et={key:2,class:"space-y-6"},Pt={key:0,class:"overflow-hidden rounded-xl"},Qt=["src","alt"],Dt={class:"flex flex-wrap items-center gap-2"},Ft={key:0,class:"inline-flex items-center gap-1 rounded-full bg-muted px-2.5 py-0.5 text-xs text-muted-foreground"},Tt=["href"],qt={key:1,class:"rounded-xl border border-border bg-muted/50 p-4 text-sm text-muted-foreground italic"},Ut={class:"grid grid-cols-2 gap-4 border-t border-border pt-4 text-sm"},Lt={key:0},Mt={class:"mt-0.5 font-medium text-foreground"},zt={key:1},Ht={class:"mt-0.5 font-medium text-foreground"},Bt={key:2},Nt={class:"mt-0.5 font-medium text-foreground"},It={class:"mt-0.5 font-mono text-xs break-all text-muted-foreground"},Rt={class:"mt-0.5 text-xs font-medium text-foreground"},Gt={class:"mt-0.5 text-xs font-medium text-foreground"},Ot={key:3,class:"col-span-2"},Jt=["innerHTML"],Kt={key:4,class:"col-span-2"},Wt={class:"mt-0.5 text-xs font-medium text-foreground"},Xt={class:"flex gap-3 pt-2"},$o=ge({__name:"Index",props:{projects:{},filters:{},statuses:{}},setup(e){const l=e,x=S(!1),k=S("create"),n=S(null),E=S(!1),b=S(null),D=S(null);function ie(m){return{id:m.id,url:m.url??`/storage/${m.file_path}`,file_path:m.file_path,file_name:m.file_path.split("/").pop()??"",title:null,mime_type:null,alt_text:m.alt_text,width:null,height:null}}const d=xe({title:"",slug:"",excerpt:"",description:"",status:"draft",location:"",funding_source:"",featured_image_id:null,start_date:"",end_date:""});function ue(){d.reset(),d.clearErrors(),n.value=null,D.value=null,b.value=null,k.value="create",x.value=!0}async function M(m){k.value="edit",x.value=!0,E.value=!0,b.value=null,n.value=m;try{const{data:t}=await te.get(_(m.id).url);n.value=t.project,d.title=t.project.title,d.slug=t.project.slug,d.excerpt=t.project.excerpt??"",d.description=t.project.description??"",d.status=t.project.status,d.location=t.project.location??"",d.funding_source=t.project.funding_source??"",d.featured_image_id=t.project.featured_image?.id??null,d.start_date=t.project.start_date??"",d.end_date=t.project.end_date??"",D.value=t.project.featured_image?ie(t.project.featured_image):null,d.clearErrors()}catch{b.value="Failed to load project details. Please try again."}finally{E.value=!1}}async function z(m){k.value="view",x.value=!0,E.value=!0,b.value=null,n.value=m;try{const{data:t}=await te.get(v(m.id).url);n.value=t.project}catch{b.value="Failed to load project details. Please try again."}finally{E.value=!1}}function P(){x.value=!1,b.value=null}function ce(){const m={preserveScroll:!0,onSuccess:P};k.value==="create"?d.post(j().url,m):d.put(h(n.value.id).url,m)}function K(m){confirm(`Delete "${m.title}"? This cannot be undone.`)&&I.delete(w(m.id).url,{preserveScroll:!0})}const H=S(l.filters.search??""),B=S(l.filters.status??"");let W;function X(){I.get(y().url,{search:H.value||void 0,status:B.value||void 0},{preserveState:!0,replace:!0})}function me(){clearTimeout(W),W=setTimeout(X,350)}function pe(m){m&&I.get(m,{},{preserveState:!0})}const Y={draft:"bg-yellow-100 text-yellow-700 border-yellow-200",published:"bg-green-100 text-green-700 border-green-200",archived:"bg-gray-100 text-gray-500 border-gray-200"},fe=he(()=>({create:"New Project",edit:`Edit: ${n.value?.title}`,view:n.value?.title??"Project"})[k.value]);return(m,t)=>(i(),Z(je,null,{default:f(()=>[a(r(ye),{title:"Projects â Admin"}),o("div",Ae,[o("div",$e,[o("div",null,[t[17]||(t[17]=o("h1",{class:"font-heading text-2xl font-bold text-foreground"}," Projects ",-1)),o("p",Ee,[p(c(e.projects.total)+" total ",1),e.projects.from&&e.projects.to?(i(),u(T,{key:0},[p("· showing "+c(e.projects.from)+"â"+c(e.projects.to),1)],64)):g("",!0)])]),a(r(A),{onClick:ue},{default:f(()=>[a(r(we),{class:"mr-2 h-4 w-4"}),t[18]||(t[18]=p(" New Project",-1))]),_:1})]),o("div",Pe,[o("div",Qe,[a(r(ke),{class:"absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),a(r($),{modelValue:H.value,"onUpdate:modelValue":t[0]||(t[0]=s=>H.value=s),onInput:me,class:"pl-9",placeholder:"Search projectsâ¦"},null,8,["modelValue"])]),N(o("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>B.value=s),onChange:X,class:"w-40 rounded-lg border border-input bg-background px-3 py-2 text-sm focus:ring-2 focus:ring-ring focus:outline-none"},[t[19]||(t[19]=o("option",{value:""},"All statuses",-1)),(i(!0),u(T,null,q(e.statuses,s=>(i(),u("option",{key:s,value:s,class:"capitalize"},c(s),9,De))),128))],544),[[ve,B.value]])]),o("div",Fe,[o("table",Te,[t[22]||(t[22]=o("thead",null,[o("tr",{class:"border-b border-border bg-muted/50"},[o("th",{class:"px-4 py-3 text-left font-semibold text-foreground"}," Title "),o("th",{class:"hidden px-4 py-3 text-left font-semibold text-foreground sm:table-cell"}," Status "),o("th",{class:"hidden px-4 py-3 text-left font-semibold text-foreground lg:table-cell"}," Location "),o("th",{class:"hidden px-4 py-3 text-left font-semibold text-foreground xl:table-cell"}," Dates "),o("th",{class:"hidden px-4 py-3 text-left font-semibold text-foreground xl:table-cell"}," Updated "),o("th",{class:"px-4 py-3 text-right font-semibold text-foreground"}," Actions ")])],-1)),o("tbody",qe,[(i(!0),u(T,null,q(e.projects.data,s=>(i(),u("tr",{key:s.id,class:"transition-colors hover:bg-muted/30"},[o("td",Ue,[o("div",Le,[s.featured_image?(i(),u("div",Me,[o("img",{src:s.featured_image.url??`/storage/${s.featured_image.file_path}`,alt:s.featured_image.alt_text??"",class:"h-full w-full object-cover",loading:"lazy"},null,8,ze)])):(i(),Z(r(re),{key:1,class:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"})),o("div",null,[o("button",{onClick:F=>z(s),class:"line-clamp-1 text-left font-medium text-foreground transition-colors hover:text-primary"},c(s.title),9,He),s.excerpt?(i(),u("p",Be,c(s.excerpt),1)):g("",!0)])])]),o("td",Ne,[o("span",{class:U(["inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium capitalize",Y[s.status]??"border-gray-200 bg-gray-100 text-gray-500"])},c(s.status),3)]),o("td",Ie,c(s.location??"â"),1),o("td",Re,[s.start_date?(i(),u("span",Ge,c(s.start_date),1)):g("",!0),s.start_date&&s.end_date?(i(),u("span",Oe," â ")):g("",!0),s.end_date?(i(),u("span",Je,c(s.end_date),1)):g("",!0),!s.start_date&&!s.end_date?(i(),u("span",Ke,"â")):g("",!0)]),o("td",We,c(s.updated_at),1),o("td",Xe,[o("div",Ye,[o("button",{onClick:F=>z(s),title:"View",class:"rounded-lg p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"},[a(r(Ce),{class:"h-4 w-4"})],8,Ze),o("button",{onClick:F=>M(s),title:"Edit",class:"rounded-lg p-1.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground"},[a(r(se),{class:"h-4 w-4"})],8,et),o("button",{onClick:F=>K(s),title:"Delete",class:"rounded-lg p-1.5 text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive"},[a(r(le),{class:"h-4 w-4"})],8,tt)])])]))),128)),e.projects.data.length?g("",!0):(i(),u("tr",ot,[o("td",rt,[a(r(re),{class:"mx-auto mb-3 h-12 w-12 text-muted-foreground
1/40"}),t[20]||(t[20]=o("p",{class:"font-medium text-muted-foreground"}," No projects found. ",-1)),t[21]||(t[21]=o("p",{class:"mt-1 text-sm text-muted-foreground"}," Adjust your filters or create a new project. ",-1))])]))])])]),e.projects.last_page>1?(i(),u("div",st,[o("p",lt," Page "+c(e.projects.current_page)+" of "+c(e.projects.last_page),1),o("div",dt,[(i(!0),u(T,null,q(e.projects.links,s=>(i(),u("button",{key:s.label,onClick:F=>pe(s.url),disabled:!s.url,class:U(["rounded-lg px-3 py-1.5 text-sm transition-colors",s.active?"bg-primary font-semibold text-primary-foreground":"text-muted-foreground hover:bg-muted",!s.url&&"cursor-not-allowed opacity-40"]),innerHTML:s.label},null,10,at))),128))])])):g("",!0)]),a(oe,{open:x.value&&k.value!=="view",title:fe.value,description:k.value==="create"?"Fill in the details for the new project":`Slug: /${n.value?.slug}`,width:"lg",onClose:P},{default:f(()=>[E.value?(i(),u("div",nt,[a(r(de),{class:"h-8 w-8 animate-spin"}),t[23]||(t[23]=o("p",{class:"text-sm"},"Loading projectâ¦",-1))])):b.value?(i(),u("div",it,[o("p",ut,c(b.value),1),a(r(A),{variant:"outline",size:"sm",onClick:t[2]||(t[2]=s=>M(n.value))},{default:f(()=>[...t[24]||(t[24]=[p("Retry",-1)])]),_:1})])):(i(),u("form",{key:2,onSubmit:_e(ce,["prevent"]),class:"space-y-6"},[o("div",ct,[o("div",mt,[a(r(V),null,{default:f(()=>[...t[25]||(t[25]=[p("Title ",-1),o("span",{class:"text-destructive"},"*",-1)])]),_:1}),a(r($),{modelValue:r(d).title,"onUpdate:modelValue":t[3]||(t[3]=s=>r(d).title=s),placeholder:"Project title",disabled:r(d).processing,class:"text-base font-medium"},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.title},null,8,["message"])]),o("div",pt,[a(r(V),null,{default:f(()=>[...t[26]||(t[26]=[p("Slug ",-1),o("span",{class:"text-xs font-normal text-muted-foreground"},"(auto-generated)",-1)])]),_:1}),a(r($),{modelValue:r(d).slug,"onUpdate:modelValue":t[4]||(t[4]=s=>r(d).slug=s),placeholder:"my-project-slug",disabled:r(d).processing},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.slug},null,8,["message"])]),o("div",ft,[a(r(V),null,{default:f(()=>[...t[27]||(t[27]=[p("Status ",-1),o("span",{class:"text-destructive"},"*",-1)])]),_:1}),o("div",gt,[(i(!0),u(T,null,q(e.statuses,s=>(i(),u("button",{key:s,type:"button",onClick:F=>r(d).status=s,disabled:r(d).processing,class:U(["rounded-lg border px-3 py-1.5 text-xs font-medium capitalize transition-colors",r(d).status===s?"border-primary bg-primary text-primary-foreground":"border-input bg-background text-muted-foreground hover:border-primary hover:text-foreground"])},c(s),11,xt))),128))]),a(C,{message:r(d).errors.status},null,8,["message"])])]),a(be,{modelValue:r(d).featured_image_id,"onUpdate:modelValue":t[5]||(t[5]=s=>r(d).featured_image_id=s),"selected-media":D.value,label:"Featured Image",disabled:r(d).processing,error:r(d).errors.featured_image_id,onSelect:t[6]||(t[6]=s=>D.value=s),onClear:t[7]||(t[7]=s=>D.value=null)},null,8,["modelValue","selected-media","disabled","error"]),o("div",yt,[o("div",vt,[a(r(V),null,{default:f(()=>[...t[28]||(t[28]=[p("Excerpt ",-1),o("span",{class:"text-xs font-normal text-muted-foreground"},"(shown in listings)",-1)])]),_:1}),N(o("textarea",{"onUpdate:modelValue":t[8]||(t[8]=s=>r(d).excerpt=s),rows:"2",placeholder:"Short summaryâ¦",class:"w-full resize-none rounded-lg border border-input bg-background px-3 py-2 text-sm focus:ring-2 focus:ring-ring focus:outline-none",disabled:r(d).processing},null,8,_t),[[ee,r(d).excerpt]]),a(C,{message:r(d).errors.excerpt},null,8,["message"])]),o("div",ht,[a(r(V),null,{default:f(()=>[...t[29]||(t[29]=[p("Description",-1)])]),_:1}),N(o("textarea",{"onUpdate:modelValue":t[9]||(t[9]=s=>r(d).description=s),rows:"5",placeholder:"Full project descriptionâ¦",class:"w-full resize-none rounded-lg border border-input bg-background px-3 py-2 text-sm focus:ring-2 focus:ring-ring focus:outline-none",disabled:r(d).processing},null,8,bt),[[ee,r(d).description]]),a(C,{message:r(d).errors.description},null,8,["message"])]),o("div",jt,[a(r(V),null,{default:f(()=>[...t[30]||(t[30]=[p("Location",-1)])]),_:1}),a(r($),{modelValue:r(d).location,"onUpdate:modelValue":t[10]||(t[10]=s=>r(d).location=s),placeholder:"e.g. Accra, Ghana",disabled:r(d).processing},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.location},null,8,["message"])]),o("div",wt,[a(r(V),null,{default:f(()=>[...t[31]||(t[31]=[p("Funding Source",-1)])]),_:1}),a(r($),{modelValue:r(d).funding_source,"onUpdate:modelValue":t[11]||(t[11]=s=>r(d).funding_source=s),placeholder:"e.g. USAID",disabled:r(d).processing},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.funding_source},null,8,["message"])]),o("div",kt,[a(r(V),null,{default:f(()=>[...t[32]||(t[32]=[p("Start Date",-1)])]),_:1}),a(r($),{type:"date",modelValue:r(d).start_date,"onUpdate:modelValue":t[12]||(t[12]=s=>r(d).start_date=s),disabled:r(d).processing},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.start_date},null,8,["message"])]),o("div",Ct,[a(r(V),null,{default:f(()=>[...t[33]||(t[33]=[p("End Date",-1)])]),_:1}),a(r($),{type:"date",modelValue:r(d).end_date,"onUpdate:modelValue":t[13]||(t[13]=s=>r(d).end_date=s),disabled:r(d).processing},null,8,["modelValue","disabled"]),a(C,{message:r(d).errors.end_date},null,8,["message"])])]),o("div",Vt,[a(r(A),{type:"submit",disabled:r(d).processing,class:"flex-1"},{default:f(()=>[p(c(r(d).processing?"Savingâ¦":k.value==="create"?"Create Project":"Save Changes"),1)]),_:1},8,["disabled"]),a(r(A),{type:"button",variant:"outline",onClick:P},{default:f(()=>[...t[34]||(t[34]=[p("Cancel",-1)])]),_:1})])],32))]),_:1},8,["open","title","description"]),a(oe,{open:x.value&&k.value==="view",title:n.value?.title,width:"md",onClose:P},{default:f(()=>
1[E.value?(i(),u("div",St,[a(r(de),{class:"h-8 w-8 animate-spin"}),t[35]||(t[35]=o("p",{class:"text-sm"},"Loading projectâ¦",-1))])):b.value?(i(),u("div",At,[o("p",$t,c(b.value),1),a(r(A),{variant:"outline",size:"sm",onClick:t[14]||(t[14]=s=>z(n.value))},{default:f(()=>[...t[36]||(t[36]=[p("Retry",-1)])]),_:1})])):n.value?(i(),u("div",Et,[n.value.featured_image?(i(),u("div",Pt,[o("img",{src:n.value.featured_image.url??`/storage/${n.value.featured_image.file_path}`,alt:n.value.featured_image.alt_text??n.value.title,class:"max-h-48 w-full object-cover"},null,8,Qt)])):g("",!0),o("div",Dt,[o("span",{class:U(["inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium capitalize",Y[n.value.status]??"border-gray-200 bg-gray-100 text-gray-500"])},c(n.value.status),3),n.value.location?(i(),u("span",Ft,[a(r(Ve),{class:"h-3 w-3"}),p(" "+c(n.value.location),1)])):g("",!0),o("a",{href:`/projects/${n.value.slug}`,target:"_blank",class:"ml-auto flex items-center gap-1 text-xs text-primary hover:underline"},[a(r(Se),{class:"h-3 w-3"}),t[37]||(t[37]=p(" View live",-1))],8,Tt)]),n.value.excerpt?(i(),u("div",qt,c(n.value.excerpt),1)):g("",!0),o("div",Ut,[n.value.funding_source?(i(),u("div",Lt,[t[38]||(t[38]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Funding ",-1)),o("p",Mt,c(n.value.funding_source),1)])):g("",!0),n.value.start_date?(i(),u("div",zt,[t[39]||(t[39]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Start Date ",-1)),o("p",Ht,c(n.value.start_date),1)])):g("",!0),n.value.end_date?(i(),u("div",Bt,[t[40]||(t[40]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," End Date ",-1)),o("p",Nt,c(n.value.end_date),1)])):g("",!0),o("div",null,[t[41]||(t[41]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Slug ",-1)),o("p",It,c(n.value.slug),1)]),o("div",null,[t[42]||(t[42]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Created ",-1)),o("p",Rt,c(n.value.created_at),1)]),o("div",null,[t[43]||(t[43]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Updated ",-1)),o("p",Gt,c(n.value.updated_at),1)]),n.value.description?(i(),u("div",Ot,[t[44]||(t[44]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Description ",-1)),o("div",{class:"mt-0.5 text-xs font-medium text-foreground",innerHTML:n.value.description},null,8,Jt)])):g("",!0),n.value.creator?(i(),u("div",Kt,[t[45]||(t[45]=o("p",{class:"text-xs tracking-wider text-muted-foreground uppercase"}," Created by ",-1)),o("p",Wt,c(n.value.creator.name),1)])):g("",!0)]),o("div",Xt,[a(r(A),{onClick:t[15]||(t[15]=s=>M(n.value)),class:"flex-1"},{default:f(()=>[a(r(se),{class:"mr-2 h-4 w-4"}),t[46]||(t[46]=p(" Edit Project",-1))]),_:1}),a(r(A),{variant:"destructive",onClick:t[16]||(t[16]=s=>{K(n.value),P()})},{default:f(()=>[a(r(le),{class:"mr-2 h-4 w-4"}),t[47]||(t[47]=p(" Delete",-1))]),_:1}),a(r(A),{variant:"outline",onClick:P},{default:f(()=>[...t[48]||(t[48]=[p("Close",-1)])]),_:1})])])):g("",!0)]),_:1},8,["open","title"])]),_:1}))}});export{$o 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.