PageSourceSearch

https://app.pawsitivefoster.com/assets/FosterAnimalProfile-Cy99U8fv.js

js pawsitivefoster.com collected 2026-10-02 01:41:04 UTC 84,495 bytes, 1 lines download raw bytes

1import{t as e,l as a,e as t,r as l,w as n,E as i,z as o,eR as s,f as r,bX as d,aQ as u,aR as c,u as v,ca as m,aS as p,bn as g,bA as h,aV as f,bI as y,bx as b,by as w,bz as k,bJ as _,a_ as S,bp as C,bu as A,de as P,dd as x,b1 as U,bm as I,ck as T,bO as E,d as D,c7 as N,c$ as F,cB as j,h as M,cq as z,b4 as B,aT as R,bh as W,eS as L,aU as G,s as q,aW as O,aX as $,bo as H,bs as V,aZ as J,cg as K,ch as Y,cz as X,a$ as Q,e0 as Z,cA as ee,eT as ae,eN as te,b0 as le}from"./index-B0wWhsKS.js";import{i as ne,b as ie,C as oe,a as se,c as re,d as de,n as ue,e as ce,f as ve,u as me,A as pe,N as ge,_ as he,g as fe,W as ye,h as be,j as we,k as ke,l as _e}from"./WeightTracker-CeZtpdbV.js";import{_ as Se,o as Ce}from"./open-outline-CIS8RGT4.js";import{u as Ae}from"./useAnimals-kd6UKD2X.js";import{u as Pe}from"./useLitters-CxRYMfKm.js";import{u as xe}from"./useGroups-DZeSxPAL.js";import Ue from"./foster-Ce7nl-LN.js";import{a as Ie}from"./animal-DW7SFz_x.js";import{b as Te}from"./bookingService-DXOhBl9j.js";import{P as Ee,b as De,i as Ne,a as Fe}from"./animalPhotoUtils-MhJKVcr8.js";import{a as je,b as Me,c as ze,d as Be,e as Re,g as We,h as Le,f as Ge,i as qe,j as Oe,k as $e,l as He,s as Ve}from"./animalProfileFormat-hwAu-woM.js";import{h as Je}from"./healthNotes-BmCIpxDx.js";import{f as Ke}from"./file-D-n4VKH6.js";import{u as Ye}from"./firebaseStorage-OIQM2UVN.js";import{u as Xe}from"./useUnsavedChangesGuard-CDF4_DXy.js";import{c as Qe,g as Ze,o as ea,b as aa}from"./animalMediaOptimization-D_8RNxhq.js";import{F as ta}from"./FosterBottomNav-BSDuFNe1.js";import{P as la}from"./PButton-Cv_AbxSp.js";import{F as na}from"./FosterSupportCards-Bgy2IQns.js";import{g as ia,i as oa,I as sa}from"./fosterCurrentAnimals-DpDW1ynN.js";import{W as ra,_ as da}from"./WeightInput-C3opliY6.js";import{g as ua,s as ca}from"./weightUnitPreference-DbV7dLTa.js";import{C as va}from"./CareUpdatePhotoLightbox-Y7WMwsTF.js";import{_ as ma,m as pa}from"./BaseCoachMark.vue_vue_type_style_index_0_lang-PURWAZbn.js";import{u as ga,E as ha}from"./EmergencyContactModal-eogqRv8z.js";import{d as fa,g as ya}from"./ageDisplay-CU3MQM_i.js";import{R as ba,d as wa}from"./animalStages-CJHNc6Xk.js";import{r as ka,m as _a}from"./animalProfileNavigation-2a5pOZqb.js";import{a as Sa,b as Ca,i as Aa}from"./staleAnimalLink-qRK5253y.js";import"./luxon-D8LvV7_N.js";import"./paw-filled-BzJ0RPMN.js";import"./AnimalAvatar-CTDE548D.js";import"./BaseMiniMenu-CIYVE7Fa.js";import"./AnimatePresence-BEHLkvDj.js";import"./CoordinatorAvatar-Ctrsow4z.js";import"./FallbackAvatar-BN3XXAeu.js";import"./useLongPress-DlsK2uig.js";import"./relativeTime-BDUuQyZv.js";import"./bookingTime-BOL0iaBb.js";import"./bookingStatus-Ku_0OvCX.js";import"./date-CUw3Qvze.js";import"./BaseModal-M-ONrIzC.js";import"./submitError-Crrxf9mD.js";import"./staleWriteConflict-D-vL37kG.js";import"./OllieNavAction-DJZod8U5.js";import"./status-DKPQp2Yv.js";const Pa="/assets/icons/cake.svg",xa="/assets/icons/cat.svg",Ua=(e,a)=>{var t,l;const n=null==(l=null==(t=null==e?void 0:e.response)?void 0:t.data)?void 0:l.error;return"string"==typeof n&&n.trim()?n.trim():e instanceof Error&&e.message?e.message:a};function Ia(n){const{animal:i,allAnimals:o,currentAssignmentId:s,getCurrentFosterId:r,refreshApprovalStatus:d,reloadAnimalProfile:u,onCurrentAnimalDeclined:c,goBack:v}=n,m=l(!1),p=l("details"),g=l([]),h=l(!1),f=l(""),y=l(""),b=t(()=>g.value.filter(e=>e.selected&&e.selectable)),w=t(()=>g.value.filter(e=>e.selectable)),k=t(()=>g.value.length>1),_=t(()=>w.value.length>0),S=t(()=>_.value&&w.value.every(e=>e.selected)),C=t(()=>b.value.map(e=>e.name)),A=t(()=>b.value.length),P=t(()=>We({animal:i.value,candidateCount:g.value.length})),x=t(()=>Me({context:P.value,animal:i.value})),U=t(()=>ze({context:P.value,animal:i.value})),I=t(()=>{var e;return Be({selectedCount:A.value,selectedNames:C.value,animalName:null==(e=i.value)?void 0:e.name})}),T=t(()=>{var e;return Re({selectedCount:A.value,selectedNames:C.value,animalName:null==(e=i.value)?void 0:e.name})}),E=e=>{const a=String((null==e?void 0:e.id)||"").trim(),t=(i.value&&String(i.value.id)===a?i.value:null)||o.value.find(e=>String(e.id)===a)||e;return De(t)},D=()=>
1{if(!i.value||!s.value)return null;const e=E(i.value);return{assignmentId:s.value,animalId:String(i.value.id),name:i.value.name||"Unnamed animal",displayId:i.value.animal_id||null,photoUrl:e,photoIsPlaceholder:e===Ee,status:i.value.status||"Pending_Confirmation",selectable:!0,selected:!0,disableReason:null,isCurrentAnimal:!0}},N=()=>{f.value="",y.value="",g.value=[],p.value="details"},F=async(a,t,l=!1)=>{const n=Array.isArray(null==a?void 0:a.declined_animals)?a.declined_animals:(null==a?void 0:a.animal)?[a.animal]:[],i=new Set(n.map(e=>{var a;return null!=(a=null==e?void 0:e.id)?a:null==e?void 0:e.animal_id}).filter(e=>null!=e).map(String)),o=Array.isArray(null==a?void 0:a.conflicts)?a.conflicts.length:0,s=Number((null==a?void 0:a.declined_count)||0)||i.size||t.length,r=t.some(e=>e.isCurrentAnimal&&i.has(e.animalId))||0===i.size&&1===t.length&&t[0].isCurrentAnimal;m.value=!1,N(),r&&c();const d=await e.create({message:l||o>0?"".concat(s," withdrawal").concat(1===s?"":"s"," submitted. Some assignments could not be withdrawn."):"Withdrawal submitted. The coordinator has been notified.",duration:2600,position:"top",color:l||o>0?"warning":"success"});await d.present(),r?v():await u()};return{showDeclineAssignmentModal:m,declineModalStep:p,declineCandidates:g,isDecliningAssignment:h,declineReasonCode:f,declineComment:y,selectedDeclineCount:A,hasDeclineSelectionStep:k,hasSelectableDeclineCandidates:_,isDeclineAllSelected:S,declineSelectionTitle:x,declineSelectionHelperText:U,declineDetailsHelperText:I,declineSelectionSummaryText:T,openDeclineAssignmentModal:async()=>{if(s.value||await d(),!s.value){const a=await e.create({message:"This assignment is no longer available to withdraw.",duration:2200,position:"top",color:"warning"});return void(await a.present())}N();try{g.value=await(async()=>{if(!i.value)return[];const e=await r();if(!e)return[];const t=await Ue.getCurrentAnimals(e),l=(Array.isArray(t)?t:[]).filter(a=>{var t;return String((null==a?void 0:a.organization_id)||"")===String((null==(t=i.value)?void 0:t.organization_id)||"")&&Str
1ing((null==a?void 0:a.assigned_foster_id)||"")===e&&["Pending_Confirmation","Pickup_Pending"].includes(String((null==a?void 0:a.status)||""))});let n=l;i.value.group_name?n=l.filter(e=>{var a;return String((null==e?void 0:e.group_name)||"")===String((null==(a=i.value)?void 0:a.group_name)||"")}):i.value.litter_name&&(n=l.filter(e=>{var a;return String((null==e?void 0:e.litter_name)||"")===String((null==(a=i.value)?void 0:a.litter_name)||"")}));const d=new Map;n.forEach(e=>{void 0!==(null==e?void 0:e.id)&&null!==(null==e?void 0:e.id)&&d.set(String(e.id),e)}),void 0===i.value.id||null===i.value.id||d.has(String(i.value.id))||d.set(String(i.value.id),{...i.value,assigned_foster_id:e,status:i.value.status});const u=await Promise.all(Array.from(d.values()).map(async t=>{var l,n;const r=String((null==t?void 0:t.id)||""),d=r===String((null==(l=i.value)?void 0:l.id)||"");let u=d?s.value:null;if(!u&&r)try{const a=(await Ue.getAnimalAssignmentHistory(r)).find(a=>"active"===a.status&&String(a.foster_id||"")===e);void 0!==(null==a?void 0:a.id)&&null!==(null==a?void 0:a.id)&&(u=String(a.id))}catch(g){a.warn("Unable to load assignment history for decline selection",{animalId:r,error:g})}const c=String((null==t?void 0:t.status)||""),v=Boolean(u)&&"Pending_Confirmation"===c,m="Pickup_Pending"===c?"Pickup already booked":u?"Pending_Confirmation"!==c?"Status: ".concat(je(c)):null:"Assignment no longer available",p=E(t);return{assignmentId:u,animalId:r,name:(null==t?void 0:t.name)||"Unnamed animal",displayId:(i.value&&String(i.value.id)===r?i.value.animal_id:null)||(null==(n=o.value.find(e=>String(e.id)===r))?void 0:n.animal_id)||(null==t?void 0:t.animal_id)||null,photoUrl:p,photoIsPlaceholder:p===Ee,status:c,selectable:v,selected:v&&d,disableReason:m,isCurrentAnimal:d}}));if(u.sort((e,a)=>e.isCurrentAnimal!==a.isCurrentAnimal?e.isCurrentAnimal?-1:1:e.name.localeCompare(a.name)),!u.some(e=>e.selected)){const e=u.find(e=>e.selectable);e&&(e.selected=!0)}return u})()}catch(t){a.error("Error loading related assignments for decline flow:",t)}if(0===g.value.length){const e=D();g.value=e?[e]:[]}p.value=g.value.length>1?"selection":"details",m.value=!0},closeDeclineAssignmentModal:()=>{h.value||(m.value=!1,N())},toggleDeclineCandidate:e=>{g.value=g.value.map(a=>a.animalId===e&&a.selectable?{...a,selected:!a.selected}:a)},toggleDeclineAll:()=>{const e=!S.value;g.value=g.value.map(a=>a.selectable?{...a,selected:e}:a)},continueDeclineSelection:async()=>{if(0===A.value){const a=await e.create({message:"Select at least one animal to continue.",duration:2200,position:"top",color:"warning"});return void(await a.present())}p.value="details"},submitDeclineAssignment:async()=>{var a;if(!i.value)return;const t=b.value.length?b.value:(()=>{const e=D();return e?[e]:[]})();if(0===t.length){const a=await e.create({message:"Select at least one assignment to withdraw.",duration:2200,position:"top",color:"warning"});return void(await a.present())}h.value=!0;try{const e=await r(),a={reasonCode:f.value||void 0,comment:y.value.trim()||void 0};if(1===t.length){const e=t[0].assignmentId;if(!e)throw new Error("Unable to find an active assignment for the selected animal.");const l=await Ue.declineAssignment(e,a);return void(await F({...l,declined_count:1,declined_assignments:l.assignment?[l.assignment]:[],declined_animals:l.animal?[l.animal]:[],conflicts:[]},t))}if(!e)throw new Error("Unable to find your foster profile.");const l=await Ue.declineAssignments(e,{assignmentIds:t.map(e=>e.assignmentId).filter(Boolean),...a});await F(l,t)}catch(l){const n=null==(a=null==l?void 0:l.response)?void 0:a.data;if((null==n?void 0:n.declined_count)>0)return void(await F(n,t,!0));const i=await e.create({message:Ua(l,"Unable to withdraw assignment. Please try again."),duration:3e3,position:"top",color:"danger"});await i.present()}finally{h.value=!1}}}}const Ta={class:"decline-sheet-header"},Ea={class:"decline-title"},Da=["disabled"],Na={class:"decline-helper-text"},Fa={key:0,class:"decline-selection-layout"},ja={class:"decline-selection-toolbar"},Ma={class:"decline-selection-count"},za=["disabled"],Ba={class:"decline-candidate-list"},Ra=["disabled","onClick"],Wa={key:0},La=["src","alt"],Ga={class:"decline-candidate-copy"},qa={class:"decline-candidate-name"},Oa={key:0,class:"decline-current-pill"},$a={class:"decline-candidate-meta"},Ha={class:"decline-actions"},Va=["disabled"],Ja={key:0,class:"decline-selected-summary"},Ka={class:"decline-selected-names"},Ya=["disabled"],Xa={class:"decline-field"},Qa={class:"decline-field"},Za=["value"],et={class:"decline-actions"},at=["disabled"],tt=["disabled"],lt=I(u({__name:"FosterDeclineAssignmentModal",props:{isOpen:{type:Boolean},step:{},candidates:{},isSubmitting:{type:Boolean},reasonCode:{},comment:{},selectedCount:{},hasSelectionStep:{type:Boolean},hasSelectableCandidates:{type:Boolean},isAllSelected:{type:Boolean},selectionTitle:{},selectionHelperText:{},detailsHelperText:{},selectionSummaryText:{}},emits:["close","toggle-all","toggle-candidate","continue","submit","update:step","update:reasonCode","update:comment"],setup:e=>(a,t)=>(U(),c(v(m),{"is-open":e.isOpen,onDidDismiss:t[10]||(t[10]=e=>a.$emit("close")),class:"decline-assignment-modal"},{default:p(()=>[g("div",{class:_(["decline-assignment-sheet",{"is-selection-step":"selection"===e.step,"is-detail
1s-step":"selection"!==e.step}])},[g("div",Ta,[g("h3",Ea,h("selection"===e.step?e.selectionTitle:"No worries at all"),1),g("button",{class:"close-popup-btn",disabled:e.isSubmitting,"aria-label":"Close",onClick:t[0]||(t[0]=e=>a.$emit("close"))},[f(y,{name:"close"})],8,Da)]),g("p",Na,h("selection"===e.step?e.selectionHelperText:e.detailsHelperText),1),"selection"===e.step?(U(),b("div",Fa,[g("div",ja,[g("span",Ma,h(e.selectedCount)+" selected",1),g("button",{type:"button",class:"text-link-button decline-select-all-btn",disabled:!e.hasSelectableCandidates||e.isSubmitting,onClick:t[1]||(t[1]=e=>a.$emit("toggle-all"))},h(e.isAllSelected?"Clear all":"Decline all"),9,za)]),g("div",Ba,[(U(!0),b(w,null,k(e.candidates,t=>(U(),b("button",{key:t.animalId,type:"button",class:_(["decline-candidate-row",{"is-selected":t.selected,"is-disabled":!t.selectable}]),disabled:!t.selectable||e.isSubmitting,onClick:e=>a.$emit("toggle-candidate",t.animalId)},[g("span",{class:_(["decline-candidate-checkbox",{"is-selected":t.selected}])},[t.selected?(U(),b("span",Wa,"✓")):S("",!0)],2),g("img",{class:_(["decline-candidate-avatar",{"is-placeholder":t.photoIsPlaceholder}]),src:t.photoUrl,alt:t.name},null,10,La),g("span",Ga,[g("span",qa,[C(h(t.name)+" ",1),t.isCurrentAnimal?(U(),b("span",Oa,"This profile")):S("",!0)]),g("span",$a,h(t.selectable?t.displayId||"No ID available":t.disableReason||v(je)(t.status)),1)])],10,Ra))),128))]),g("div",Ha,[f(la,{class:"decline-cta",disabled:0===e.selectedCount||e.isSubmitting,onClick:t[2]||(t[2]=e=>a.$emit("continue"))},{default:p(()=>[...t[11]||(t[11]=[C("Continue",-1)])]),_:1},8,["disabled"]),g("button",{class:"cancel-btn decline-cancel-btn",disabled:e.isSubmitting,onClick:t[3]||(t[3]=e=>a.$emit("close"))},"Go Back",8,Va)])])):(U(),b(w,{key:1},[e.hasSelectionStep?(U(),b("div",Ja,[t[12]||(t[12]=g("span",{class:"decline-selected-label"},"Selected animals",-1)),g("p",Ka,h(e.selectionSummaryText),1),g("button",{type:"button",class:"text-link-button decline-change-selection-btn",disabled:e.isSubmitting,onClick:t[4]||(t[4]=e=>a.$emit("update:step","selection"))}," Change selection ",8,Ya)])):S("",!0),g("div",Xa,[t[17]||(t[17]=g("label",{class:"decline-label",for:"decline-reason-select"},"Reason (optional)",-1)),f(v(A),{class:"decline-select-item",lines:"none"},{default:p(()=>[f(v(P),{id:"decline-reason-select","model-value":e.reasonCode,interface:"action-sheet",interfaceOptions:{header:"Select a reason"},placeholder:"Select a reason",class:"decline-reason-select","onUpdate:modelValue":t[5]||(t[5]=e=>a.$emit("update:reasonCode",e))},{default:p(()=>[f(v(x),{value:"schedule_conflict"},{default:p(()=>[...t[13]||(t[13]=[C("Schedule conflict",-1)])]),_:1}),f(v(x),{value:"emergency"},{default:p(()=>[...t[14]||(t[14]=[C("Emergency",-1)])]),_:1}),f(v(x),{value:"changed_mind"},{default:p(()=>[...t[15]||(t[15]=[C("Changed mind",-1)])]),_:1}),f(v(x),{value:"other"},{default:p(()=>[...t[16]||(t[16]=[C("Other",-1)])]),_:1})]),_:1},8,["model-value"])]),_:1})]),g("div",Qa,[t[18]||(t[18]=g("label",{class:"decline-label",for:"decline-comment-textarea"},"Let us know why (optional)",-1)),g("textarea",{id:"decline-comment-textarea",value:e.comment,class:"decline-comment-textarea",rows:"4",placeholder:"Share any context you'd like your coordinator to have.",onInput:t[6]||(t[6]=e=>a.$emit("update:comment",e.target.value))},null,40,Za)]),g("div",et,[f(la,{class:"decline-cta",disabled:e.isSubmitting||0===e.selectedCount,onClick:t[7]||(t[7]=e=>a.$emit("submit"))},{default:p(()=>[C(h(e.isSubmitting?"Withdrawing...":"Withdraw"),1)]),_:1},8,["disabled"]),e.hasSelectionStep?(U(),b("button",{key:0,class:"cancel-btn decline-cancel-btn",disabled:e.isSubmitting,onClick:t[8]||(t[8]=e=>a.$emit("update:step","selection"))}," Back ",8,at)):(U(),b("button",{key:1,class:"cancel-btn decline-cancel-btn",disabled:e.isSubmitting,onClick:t[9]||(t[9]=e=>a.$emit("close"))},"Go Back",8,tt))])],64))],2)]),_:1},8,["is-open"]))}),[["__scopeId","data-v-430694e5"]]),nt={class:"updates-timeline"},it={key:0,class:"updates-empty-state"},ot={class:"timeline-date-header"},st={key:0,class:"note-edit-panel"},rt=["value"],dt={key:0,class:"edit-photo-grid"},ut=["src"],ct=["src"],vt=["onClick"],mt={class:"edit-actions"},pt=["disabled"],gt={key:2,class:"updates-empty-state"},ht={class:"empty-state-text"},ft=I(u({__name:"FosterCareUpdatesTimeline",props:{loading:{type:Boolean},sections:{},animalName:{},editingEntryId:{},editingText:{},editingPhotos:{},canManage:{type:Function}},emits:["edit","delete","photo-click","set-textarea","remove-photo","cancel-edit","save-edit","update:editingText","acknowledgement-change"],setup(e,{emit:a}){const t=a,l=e=>{t("update:editingText",e.target.value)};return(a,t)=>(U(),b("div",nt,[t[6]||(t[6]=g("h2",{class:"updates-card-title"},"Care Notes",-1)),e.loading?(U(),b("div",it,[...t[4]||(t[4]=[g("p",{class:"empty-state-title"},"Loading updates...",-1)])])):e.sections.length>0?(U(!0),b(w,{key:1},k(e.sections,n=>(U(),b("div",{key:n.key,class:"timeline-section"},[g("h4",ot,h(n.label),1),(U(!0),b(w,null,k(n.items,(i,o)=>(U(),b("div",{key:"".concat(n.key,"-").concat(i.id,"-").concat(o),class:_(["care-update-row",{"is-editing":e.editingEntryId===i.id}])},[f(ve,{item:{id:i.id,noteId:i.noteId,authorName:i.authorName,authorAvatar:i.authorAvatar,authorRole:i.authorRole,timestamp:i.timestamp,noteType:i.noteType,noteText:e.editingEntryId===i.id?"":i.noteText,weightGrams:i.weightGrams,weightUnit:i.weightUnit,weightEstimated:i.weightEstimated,photos:e.editingEntryId===i.id?[]:i.photos,reactions:i.reactions,acknowledgements:i.acknowledgements,acknowledgedBy:i.acknowledgedBy,currentUserAcknowledgement:i.currentUserAcknowledgement,isAcknowledgedByCurrentUser:i.isAcknowledgedByCurrentUser},"show-options":e.editingEntryId!==i.id&&e.canManage(i),"show-acknowledgements":"","current-user-role":"foster","hide-type-label":"",onEdit:e=>a.$emit("edit",i),onDelete:e=>a.$emit("delete",i),onPhotoClick:t[0]||(t[0]=e=>a.$emit("photo-click",e)),onAcknowledgementChange:e=>a.$emit("acknowledgement-change",{noteId:i.noteId,response:e})},null,8,["item","show-options","onEdit","onDelete","onAcknowledgementChange"]),e.editingEntryId===i.id?(U(),b("div",st,[g("textarea",{ref_for:!0,ref:e=>a.$emit("set-textarea",e,i.id),value:e.editingText,class:"note-textarea",rows:"3",onInput:l,onKeydown:t[1]||(t[1]=T(e=>a.$emit("cancel-edit"),["esc"]))},null,40,rt),e.editingPhotos.length>0?(U(),b("div",dt,[(U(!0),b(w,null,k(e.editingPhotos,(e,t)=>{var l,n;return U(),b("div",{key:"edit-care-photo-".concat(null!=(n=null!=(l=e.id)?l:e.url)?n:t),class:"edit-photo-item"},[v(ne)(e)?(U(),b("video",{key:0,src:e.url,class:"edit-photo-preview edit-photo-video",controls:"",playsinline:""},null,8,ut)):(U(),b("img",{key:1,src:e.url,alt:"Care update media",class:"edit-photo-preview"},null,8,ct)),g("button",{type:"button",class:"remove-edit-photo-button","aria-label":"Remove photo",onClick:E(t=>a.$emit("remove-photo",e),["stop"])},"×",8,vt)])}),128))])):S("",!0),g("div",mt,[g("button",{type:"button",class:"care-edit-btn care-edit-cancel",onClick:t[2]||(t[2]=E(e=>a.$emit("cancel-edit"),["stop"]))},"Cancel"),g("button",{type:"button",class:"care-edit-btn care-edit-save",disabled:!e.editingText.trim(),onClick:t[3]||(t[3]=E(e=>a.$emit("save-edit"),["stop"]))},"Save",8,pt)])])):S("",!0)],2))),128))]))),128)):(U(),b("div",gt,[t[5]||(t[5]=g("p",{class:"empty-state-title"},"No updates yet",-1)),g("p",ht,"Share "+h(e.animalName)+"'s first update! Log feeding times, weight changes, or fun moments.",1)]))]))}}),[["__scopeId","data-v-0fae3ffa"]]),yt={class:"about-card"},bt={key:0,class:"about-block"},wt={class:"about-block-list"},kt={class:"about-block"},_t={class:"about-block-body"},St={key:1,class:"about-block"},Ct={class:"about-block-title"},At={class:"about-block-body about-block-body--explainer"},Pt=I(u({__name:"AnimalProfileAboutCard",props:{animal:{},stageExplainer:{}},setup(e){const a=e,l=t(()=>{var e,t;return Boolean((null==(e=a.animal.care_requirements)?void 0:e.length)||(null==(t=a.animal.health_conditions)?void 0:t.length))});return(a,t)=>(U(),b("div",yt,[l.value?(U(),b("section",bt,[t[0]||(t[0]=g("h3",{class:"about-block-title"},"Care Requirements",-1)),g("ul",wt,[(U(!0),b(w,null,k(e.animal.care_requirements,e=>(U(),b("li",{key:e},h(e),1))),128)),(U(!0),b(w,null,k(e.animal.health_conditions,e=>(U(),b("li",{key:e},h(e),1))),128))])])):S("",!0),g("section",kt,[t[1]||(t[1]=g("h3",{class:"about-block-title"},"Notes",-1)),g("p",_t,h(e.animal.notes||"No additional notes yet."),1)]),e.stageExplainer?(U(),b("section",St,[g("h3",Ct,h(e.stageExplainer.title),
11),g("p",At,h(e.stageExplainer.body),1)])):S("",!0)]))}}),[["__scopeId","data-v-72bac7d9"]]),xt={class:"care-updates-form"},Ut={key:0,class:"form-blurb"},It={class:"notes-field"},Tt=["placeholder"],Et={class:"weight-row"},Dt={class:"weight-input-wrap"},Nt={class:"action-controls"},Ft=["accept"],jt=["disabled"],Mt=["disabled"],zt={class:"btn-label"},Bt={key:0,class:"sparkle-burst","aria-hidden":"true"},Rt={key:1,class:"photo-previews"},Wt=["src"],Lt=["src"],Gt=["onClick"],qt={key:2,class:"status-text"},Ot={key:3,class:"error-text"},$t=I(u({__name:"CareUpdatesForm",props:{placeholder:{default:"How are they doing today?"},showBlurb:{type:Boolean,default:!0},maxPhotos:{default:5}},emits:["submit"],setup(e,{expose:a,emit:i}){var o,s;const r=e,d=i,u=M(),c=l(""),m=l(""),p=l(ua(null==(s=null==(o=u.user)?void 0:o.value)?void 0:s.id));n(p,e=>{var a,t;return ca(e,null==(t=null==(a=u.user)?void 0:a.value)?void 0:t.id)});const C=l([]),A=l(!1),P=l(null),x=l(!1),I=l(""),T=l(!1);let E=null;const z=Xe({isSaving:A,snapshot:()=>({notes:c.value,weight:m.value,weightUnit:p.value,photos:C.value.map(e=>({name:e.name,size:e.size,type:e.type,lastModified:e.lastModified}))})}),B=t(()=>{const e=c.value.trim().length>0,a=m.value&&parseFloat(m.value)>0,t=C.value.length>0;return e||a||t});function R(){var e;x.value||null==(e=P.value)||e.click()}function W(e){return e.type.startsWith("video/")}async function L(e){const a=e.target;if(!a.files)return;I.value="";const t=Array.from(a.files),l=C.value.length,n=r.maxPhotos-l,i=t.slice(0,n),o=C.value.filter(e=>W(e)).length;let s=0;const d=[];x.value=!0;try{for(const e of i){if("video"===Ze(e)){if(o+s>=1)throw new Error("Only one MP4 video can be uploaded per animal.");s+=1}const a=await ea(e);d.push(a.file)}}catch(u){I.value=u instanceof Error?u.message:"Failed to process selected media."}finally{x.value=!1}d.length>0&&(C.value=[...C.value,...d]),a.value=""}function G(e){return URL.createObjectURL(e)}async function q(){B.value&&!A.value&&(A.value=!0,d("submit",{notes:c.value.trim(),weight:m.value,weightUnit:p.value,photos:C.value}))}return D(()=>{E&&clearTimeout(E)}),a({reset:function(){c.value="",m.value="",C.value=[],A.value=!1,z.resetDirty()},setSubmitting:function(e){A.value=e},playSuccess:function(){E&&clearTimeout(E),T.value=!1,requestAnimationFrame(()=>{T.value=!0,E=setTimeout(()=>{T.value=!1},1100)})}}),(a,t)=>(U(),b("div",xt,[e.showBlurb?(U(),b("p",Ut,"Track weight, add notes, or share photos with the team.")):S("",!0),g("div",It,[N(g("textarea",{"onUpdate:modelValue":t[0]||(t[0]=e=>c.value=e),placeholder:e.placeholder,class:"notes-input",rows:"2"},null,8,Tt),[[F,c.value]])]),g("div",Et,[g("div",Dt,[f(ra,{modelValue:m.value,"onUpdate:modelValue":t[1]||(t[1]=e=>m.value=e),unit:p.value,"onUpdate:unit":t[2]||(t[2]=e=>p.value=e),placeholder:"0.0"},null,8,["modelValue","unit"])]),g("div",Nt,[g("input",{ref_key:"photoInput",ref:P,type:"file",accept:v(Qe),multiple:"",class:"hidden-file-input",onChange:L},null,40,Ft),g("button",{class:"photo-btn",disabled:x.value,onClick:R},[...t[3]||(t[3]=[g("img",{src:da,alt:"",class:"camera-icon"},null,-1),g("span",{class:"btn-label"},"Add Photo",-1)])],8,jt),g("button",{type:"button",class:_(["submit-btn",{"is-active":B.value&&!A.value,"is-sparkling":T.value}]),"aria-label":"Post update",disabled:!B.value||A.value,onClick:q},[g("span",zt,h(A.value?"Adding…":"Add Update"),1),T.value?(U(),b("span",Bt,[(U(),b(w,null,k(6,e=>g("span",{key:e,class:"sparkle",style:j({"--i":e})},null,4)),64))])):S("",!0)],10,Mt)])]),C.value.length>0?(U(),b("div",Rt,[(U(!0),b(w,null,k(C.value,(e,a)=>(U(),b("div",{key:a,class:"photo-preview"},[W(e)?(U(),b("video",{key:1,src:G(e),muted:"",controls:"",playsinline:""},null,8,Lt)):(U(),b("img",{key:0,src:G(e),alt:"Preview"},null,8,Wt)),g("button",{class:"remove-photo",onClick:e=>function(e){C.value=C.value.filter((a,t)=>t!==e)}(a)},[f(y,{name:"close",size:12})],8,Gt)]))),128))])):S("",!0),x.value?(U(),b("p",qt,"Optimizing media...")):S("",!0),I.value?(U(),b("p",Ot,h(I.value),1)):S("",!0)]))}}),[["__scopeId","data-v-ba102aac"]]);const Ht={cat:{Neonatal:{title:"Neonatal stage (0–2 weeks)",body:"Eyes and ears closed, can't regulate body temperature, can't eliminate without help. Needs bottle feeding every 2–3 hours around the clock, with gentle stimulation after each feed to help them pee and poop. Warmth is just as critical: keep the room warm and draft-free, around 85–90°F, and give them a gentle heat source (a heat disc like a SnuggleSafe works best, never direct contact). Place it under one side of their space only, leaving a cooler area they can crawl to, since a kitten that can't move away from heat can overheat. Weigh them daily; they should gain about 10g a day. The most fragile stage."},Transitional:{title:"Transitional stage (2–3 weeks)",body:"These kittens are transitioning from helpless neonates into little wobbly explorers: eyes are opening, ears unfolding, first wobbly steps, and baby teeth starting to come in. They still can't regulate their own body temperature, so keep the room warm and draft-free, around 80°F, with a gentle heat source (a heat disc) on one side of their space so they can crawl to a cooler spot if they need to. Still bottle-feeding every 3–4 hours, including overnight. Still needs help being stimulated to pee and poop. Aroun
1d 2 weeks it's safe to start dewormer."},Socialization:{title:"Early kitten stage",body:"Every kitten moves at their own pace, so these are rough signposts, not deadlines. Follow the kitten, not the calendar. Earlier on (around 3–5 weeks, roughly 350–650g): usually still bottle-feeding milk every 4–5 hours including overnight, with teeth coming in. Don't rush solid food, since weaning a kitten too early can make them sick. Eyes and ears are open and they're wobbling around. They still need a heat source (a heat disc) on one side of their space, so they can move toward it to sleep and away when active. Keep the room warm and draft-free, around 75°F. Introduce a low-sided litter pan (non-clumping litter, since clumping clay can be deadly if eaten); they're transitioning from being stimulated toward using the box on their own.\n\nAs they grow (around 5–7 weeks, roughly 550–850g): weaning usually begins, so offer gruel (wet food mixed with formula), moving toward wet food when they're ready. Weigh regularly through weaning to be sure they're holding a healthy weight, since this is a sensitive transition. Now playing, pouncing, climbing and burning calories fast, so frequent small meals. This is also the window where gentle handling shapes them into confident adult cats, so give them lots of supervised time with people, hands, and household sounds. The more positive human contact they get now, the better their adoption outcomes."},Juvenile:{title:"Growing kitten stage",body:"Roughly 7 weeks to 6 months, give or take, since every kitten grows at their own pace. Starting around 750g and climbing steadily from there. Fully weaned, eating solid food, using the box reliably. Around 8 weeks and 2 lbs they're ready for spay/neuter and adoption; first FVRCP vaccine comes around 6 weeks. This is the prime adoption window: they're playful, social, and almost everyone wants a kitten this age. Foster's job here is mostly keeping them healthy and growing, plus adding cute photos and personality notes to their profile in the app. The more we know about who this kitten is, the easier the match later (and the faster the adoption)."},Adolescent:{title:"Adolescent stage (6–18 months)",body:'Sexually mature (please be neutered by now), nearly full size, but their brain is still developing. Energy peaks. Personality may shift; formerly cuddly kittens can get aloof, then come back around. Harder to adopt than younger kittens because they\'re past the "tiny cute" phase. Patience and continued positive handling matter.'},Adult:{title:"Adult stage (18 months – 8 years)",body:'Settled personality. Standard maintenance: good food, fresh water, clean litter, regular vet visits, enrichment. Adult cats often get overlooked at the shelter, so your profile updates are the biggest difference-maker. Add their quirks, likes, love language ("solicits chin scratches at 7am sharp," "headbutts whoever\'s reading on the couch"), and photos that catch their best angle ;) That\'s what makes someone fall for them.'},Senior:{title:"Senior stage (8 years+)",body:"Slower, often quieter, sometimes more affectionate. May develop dental disease, kidney issues, arthritis. Watch for changes in eating, drinking, weight, or litter habits, since these are often the first signs something needs vet attention. Adoptable to homes that want a calm companion (kittens are not the right fit for everyone)."}},dog:{Neonatal:{title:"Neonatal stage (0–2 weeks)",body:"Eyes and ears closed, can't regulate body temperature, can't eliminate without help. Needs bottle feeding every 2–3 hours around the clock, with gentle stimulation after each feed to help them pee and poop. Keep the whelping space warm and draft-free, around 85–90°F, with a gentle heat source under only part of the space so they can crawl away from it if they get too warm. Weigh them daily to confirm steady weight gain. The most fragile stage, regardless of what breed they'll grow into."},Transitional:{title:"Transitional stage (2–3 weeks)",body:"Eyes opening, ears unfolding, first wobbly steps, baby teeth starting to come in. Still can't regulate body temperature well, so keep the space warm (around 80°F) with a heat source they can move away from if needed. Still bottle-feeding every 3–4 hours, including overnight. Around this age it's s
1afe to start dewormer."},Socialization:{title:"Socialization stage (3–12 weeks)",body:"This window shapes lifelong temperament more than almost anything else. Early on (weeks 3–5), puppies are learning from their mother and littermates: bite inhibition, canine body language, how to play. Weaning usually starts around 3–4 weeks and wraps by 6–8 weeks. From about 7–12 weeks is the critical period for human socialization; gentle, positive exposure to new people, sounds, textures, and handling now shapes how confident and adaptable they'll be as adults. A short fear period often falls around 8–11 weeks, so avoid scary or overwhelming experiences during that stretch. First vaccines usually start around 6–8 weeks."},Juvenile:{title:"Juvenile stage (12 weeks – 6 months)",body:"Fully weaned and eating solid food, vaccine series continuing, house-training and basic manners underway. This is prime adoption territory: playful, curious, and easy to fall for. Growth rate and adoption-readiness vary by expected adult size, small breeds fill out faster, large and giant breeds are still clearly puppies at 6 months. Foster's job here is mostly keeping them healthy, safe, and well-socialized, plus keeping their profile updated with personality notes and photos."},Adolescent:{title:"Adolescent stage (6–18 months)",body:"Sexually mature and testing boundaries, though how 'grown' they look depends a lot on expected adult size. Small breeds (roughly under 25 lbs) are often near full size and settling into their adult personality by 9–12 months. Large and giant breeds are still visibly growing and can stay gawky, clumsy, and easily overstimulated all the way to 18 months. A second fear period sometimes shows up here too, so patience matters. This is often the hardest stage to get adopted, since they're past the puppy phase but not yet the polished adult, so continued positive handling and an honest, personality-forward profile go a long way."},Adult:{title:"Adult stage (18 months – 7 years)",body:"Settled personality, and most dogs are done growing by now, though giant breeds can keep filling out until age 2–3. Standard maintenance: good food, exercise suited to their energy level, regular vet visits, enrichment. Adult dogs are often overlooked at the shelter in favor of puppies, so a profile that captures their real personality, quirks, and how they are with kids or other pets makes the biggest difference."},Senior:{title:"Senior stage (7 years+)",body:"When 'senior' actually starts varies a lot by size: small breeds often aren't considered senior until 10–12 years, while gi
1ant breeds can reach it as early as 5–6. Watch for slowing down, joint stiffness, or changes in eating, drinking, or house-training habits, since these are often the first signs something needs vet attention. Great adoption candidates for people who want a calmer, already-settled companion."}},rabbit:ba.reduce((e,a)=>(e[a.label]={title:"".concat(a.label," stage (").concat(a.ageRange,")"),body:a.careSignal},e),{})};const Vt={class:"responsive-container"},Jt={key:0,class:"error-container"},Kt={class:"error-message"},Yt={class:"error-details"},Xt={key:1,class:"animal-profile-skeleton","aria-hidden":"true"},Qt={class:"animal-profile-skeleton__hero"},Zt={class:"animal-profile-skeleton__attributes"},el={class:"animal-profile-skeleton__right"},al={class:"animal-profile-skeleton__tabs"},tl={class:"animal-profile-skeleton__card"},ll={key:0,class:"profile-container"},nl={class:"hero-card"},il={class:"hero-card-content"},ol={class:"hero-info"},sl={class:"hero-info-header"},rl={class:"hero-name"},dl={class:"hero-id"},ul={key:0,class:"hero-stage"},cl={key:1,class:"hero-foster-since"},vl={key:2,class:"hero-expected-return"},ml={key:3,class:"urgent-text"},pl={class:"hero-attributes-desktop"},gl={class:"attributes-grid"},hl={class:"attr-item"},fl={class:"attr-value"},yl={class:"attr-item"},bl=["src"],wl={class:"attr-value"},kl={class:"attr-item"},_l={class:"attr-value"},Sl={class:"attr-item"},Cl={class:"attr-value"},Al={class:"attr-item"},Pl={class:"attr-value"},xl={class:"attr-item"},Ul={class:"attr-value"},Il={class:"hero-mobile-section"},Tl={class:"attributes-grid mobile-only"},El={class:"attr-item"},Dl={class:"attr-value"},Nl={class:"attr-item"},Fl=["src"],jl={class:"attr-value"},Ml={class:"attr-item"},zl={class:"attr-value"},Bl={class:"attr-item"},Rl={class:"attr-value"},Wl={class:"attr-item"},Ll={class:"attr-value"},Gl={class:"attr-item"},ql={class:"attr-value"},Ol={key:0,class:"hero-cta"},$l={key:0,class:"pickup-reminder-notification"},Hl={class:"reminder-detail-item"},Vl={class:"detail-value"},Jl={class:"reminder-detail-item"},Kl=["href"],Yl={key:1,class:"detail-value"},Xl={key:1,class:"approval-notification"},Ql={key:2,class:"interest-unavailable",role:"status"},Zl={key:3,class:"interest-unavailable"},en={key:4,class:"interest-cta"},an={class:"interest-question"},tn={key:5,class:"interest-unavailable"},ln={class:"interest-question"},nn={class:"foster-layout-right"},on={key:0,class:"profile-tabs"},sn={class:"tab-navigation"},rn={class:"content-section"},dn={key:2,class:"about-card"},un={class:"about-block"},cn={class:"about-block"},vn={class:"add-update-modal"},mn={class:"update-header"},pn={class:"thumb"},gn=["src","alt"],hn={class:"info"},fn={class:"animal-name"},yn={class:"animal-id-display"},bn={class:"update-field"},wn={class:"update-field"},kn={class:"weight-input-row"},_n={class:"weight-unit-selector",role:"group","aria-label":"Select weight unit"},Sn=["aria-pressed","onClick"],Cn={class:"update-field"},An={class:"photo-upload-area"},Pn=["accept","disabled"],xn=["disabled"],Un={key:0,class:"upload-error-text"},In={key:1,class:"photo-preview-row"},Tn=["src"],En=["src"],Dn=["onClick"],Nn={class:"update-actions"},Fn={class:"plea-message-popup"},jn={class:"plea-popup-header"},Mn={class:"plea-popup-content"},zn={class:"plea-message-text"},Bn={key:0,class:"helper-text plea-sender"},Rn={key:1,class:"lightbox-counter"},Wn=["disabled"],Ln=["disabled"],Gn=["initial-slide"],qn=["src","alt"],On=I(u({__name:"FosterAnimalProfile",setup(u){const A=le(),P=G(),x=t(()=>A.params.id),{getAnimal:I,getAllAnimals:T}=Ae(),{enqueueWrite:D}=te(),{currentPlea:j,fetchPleaForAnimal:ve}=ke(),{user:Ee}=M(),{messagesNotificationCount:De,updateMessagesNotificationCount:je}=z(),Me=l(null),ze=l(ka()),Be=l(!1),{phone:Re,contactName:We,instructions:ra,loadEmergencyContact:da}=ga(),ua=l([]),{groupDisplayInfo:ca,groupAnimals:ba,groupNavigationAnimals:Ua,baseNavigationContext:Ta,effectiveNavigationContext:Ea,profileNavigationAnimals:Da,profileNavigationTitle:Na}=_e({animal:Me,allAnimals:ua,navigationContext:ze,currentAnimalId:x}),Fa=l(!0),ja=l("updates"),Ma=t(()=>{var e,a;return null!=(a=null==(e=Me.value)?void 0:e.id)?a:null}),za=t(()=>{var e,a,t,l,n,i,o,s,r;return null!=(r=null!=(s=null!=(l=null==(e=Me.value)?void 0:e.organization_id)?l:null==(t=null==(a=Ee.value)?void 0:a.fosterProfile)?void 0:t.organization_id)?s:null==(o=null==(i=null==(n=Ee.value)?void 0:n.fosterProfile)?void 0:i.organization)?void 0:o.id)?r:null}),Ba=t(()=>{var e,a,t;return null!=(t=null==(a=null==(e=Ee.value)?void 0:e.fosterProfile)?void 0:a.id)?t:null}),Ra=l(!1),Wa=l(!1),La=l(0),Ga=l(""),qa=l(""),Oa=l([]),$a=l(!1),Ha=l(!1),Va=l(!1),Ja=l(!1),Ka=l(!1),Ya=l(null),Xa=l(null),Qa=l(null),Za=l(null),et=l(!0),at=l(!1),tt=l(""),nt=l(null),it=()=>{Ra.value=!1,Wa.value=!1,La.value=0,Ga.value="",qa.value="",Oa.value=[],$a.value=!1,Ha.value=!1,Va.value=!1,Ja.value=!1,Xa.value=null,Qa.value=null,Za.value=null,tt.value="",nt.value=null},ot=l(!1),st=t(()=>{if(!Me.value)return"";const e=zi();return e&&e.count>1?"Can you foster them?":"Can you foster ".concat(Me.value.name,"?")}),rt=t(()=>!(!Me.value||Me.value.on_hold)&&!Aa(Me.value.status,"interest")),dt=async()=>{const e=await I(x.value);e&&(Me.value=e),await Ut()}
1,ut=async()=>{await dt(),await Vn(x.value)},{uploadingPhotos:ct,heroImageFailed:vt,galleryPhotoFiles:mt,galleryPhotos:pt,primaryPhoto:gt,isLightboxOpen:ht,lightboxIndex:yt,lightboxSwiperEl:bt,openLightbox:wt,closeLightbox:kt,onLightboxSlideChange:_t,lightboxNext:St,lightboxPrev:Ct,onImgError:At,resetMediaView:xt,refreshPhotoUrls:Ut,handlePhotoUpdate:It,handleDeletePhotoByIndex:Tt,deletePhotoById:Et}=me({animal:Me,currentUser:Ee,relatedAnimals:ba,allAnimals:ua,refresh:dt,refreshAfterDelete:!0,uploadMode:"prepared-sequential",showToast:async(a,t="success",l=2e3)=>{const n=await e.create({message:a,color:t,duration:l,position:"top"});await n.present()},messages:{uploadSingle:"Photo added",uploadMultiple:"Photo added",uploadError:"Failed to upload photo",deleteSuccess:"Photo deleted"}}),Dt=async()=>{const e=mt.value[yt.value];if(!e)return;const a=await r.create({header:"Delete Photo",message:"Are you sure you want to delete this photo?",buttons:[{text:"Cancel",role:"cancel"},{text:"Delete",role:"destructive",handler:()=>{Et(e.id)}}]});await a.present()},{careUpdatesLoading:Nt,weightLogPoints:Ft,careUpdatesFormRef:jt,careUpdateTimelineSections:Mt,displayedPlaceholder:zt,editingCareEntryId:Bt,editingCareText:Rt,editingCarePhotos:Wt,setEditingCareTextareaRef:Lt,canManageCareUpdate:Gt,startInlineCareEdit:qt,cancelInlineCareEdit:Ot,removeEditingCarePhoto:On,saveInlineCareEdit:$n,confirmDeleteCareUpdate:Hn,loadCareUpdates:Vn,resetCareUpdates:Jn,handleCareUpdateAcknowledgementChange:Kn,handleCareUpdateSubmit:Yn,saveCareUpdateWithMedia:Xn,isUpdatePhotoOpen:Qn,updatePhotoUrl:Zn,handleUpdatePhotoClick:ei,closeUpdatePhoto:ai,showAddUpdateModal:ti,updateNotes:li,updateWeight:ni,updateWeightUnit:ii,weightUnitOptions:oi,updatePhotos:si,isSubmittingUpdate:ri,isProcessingUpdateMedia:di,updatePhotoError:ui,photoInput:ci,animalMediaAccept:vi,addUpdateGuard:mi,closeAddUpdateModal:pi,handleAddUpdateDismissed:gi,triggerPhotoInput:hi,isVideoFile:fi,handlePhotoSelect:yi,removePhoto:bi,getPhotoPreview:wi,submitUpdate:ki}=function({animal:u,currentUser:c,refreshAnimal:v}){const m=l(!1),p=l([]),g=l([]);let h=0;const f=t(()=>g.value.filter(e=>"number"==typeof e.grams&&e.grams>0).map(e=>({date:e.recorded_at||e.createdAt||new Date,weightGrams:e.grams,author:e.recorded_by_name||""}))),y=l(null),b=l(null),w=l(""),k=l(null),_=l(""),S=l([]),C=l([]),A=l(null),P=l(!1),x=l(""),U=l(0),I=l("");let T=null,E=null;const D=t(()=>{var e;const a=(null==(e=u.value)?void 0:e.name)||"this little one",t=["How's ".concat(a," doing today?"),"What's new with ".concat(a,"?"),"Eating well? Playful? Sleepy? Share what you noticed...","How did feeding go? Any changes in behavior?","What's ".concat(a," been up to?")];return t[U.value%t.length]}),N=(e,a=0)=>{T&&clearTimeout(T),a>e.length||(I.value=e.slice(0,a),T=setTimeout(()=>N(e,a+1),35))};n(D,e=>{T&&clearTimeout(T),I.value="",T=setTimeout(()=>N(e),200)},{immediate:!0}),i(()=>{E=setInterval(()=>{U.value=(U.value+1)%5},12e3)}),o(()=>{E&&clearInterval(E),T&&clearTimeout(T)});const F=t(()=>{var e;return ce(p.value,(null==(e=u.value)?void 0:e.photos)||[])}),j=t(()=>de(F.value)),M=t(()=>{var e;const a=null==(e=c.value)?void 0:e.fosterProfile;return ue((null==a?void 0:a.id)||(null==a?void 0:a.foster_id)||(null==a?void 0:a.uuid)||"")}),z=async e=>{var t;const l=++h,n=e||((null==(t=u.value)?void 0:t.id)?String(u.value.id):"");if(!n)return p.value=[],g.value=[],void(m.value=!1);m.value=!0;const[i,o]=await Promise.allSettled([Je.getHealthNotes(n),Je.getAnimalWeights(n)]);l===h&&("fulfilled"===i.status?p.value=Array.isArray(i.value)?i.value:[]:(a.error("Error loading care updates:",i.reason),p.value=[]),"fulfilled"===o.status?g.value=Array.isArray(o.value)?o.value:[]:(a.error("Error loading animal weights:",o.reason),g.value=[]),m.value=!1)};function B(){b.value=null,k.value=null,w.value="",_.value="",S.value=[],C.value=[]}const R=async e=>{var a,t;const l=e.notesText.trim()||ie(e.weightGrams,e.weightUnit,e.photos.length);if(!l&&null===e.weightGrams&&0===e.photos.length)throw new Error("Please add at least one update (notes, weight, or photos).");const n=await Je.createHealthNote(e.animalId,{note_text:l||void 0,note_type:e.noteType,weight_update_grams:null!=(a=e.weightGrams)?a:void 0,weight_update_unit:null!==e.weightGrams?e.weightUnit:void 0,weight_estimated:null===e.weightGrams&&void 0}),i=void 0!==(null==n?void 0:n.id)&&null!==(null==n?void 0:n.id)?String(n.id):"";if(0===e.photos.length)return;if(!i)throw new Error("Unable to link uploaded photos to this note. Please try again.");const o=[];let s=0;for(const r of e.photos){const a=await ea(r);if("video"===a.mediaKind&&++s>1)throw new Error("Only one MP4 video can be uploaded per animal.");const l="".concat(e.animalId,"_").concat(Date.now(),"_").concat(a.file.name),n="animals/".concat(l),d=await Ye(a.file,l,"animals",void 0,{contentType:a.mimeType}),u=await Ke.createFile({type:a.mimeType,name:r.name,firebaseStorageName:l,filePath:n,size:a.optimizedSize,url:d,createdBy:"number"==typeof(null==(t=c.value)?void 0:t.id)?c.value.id:void 0,tags:aa(a,[oe,"care-update-animal:".concat(e.animalId),"".concat(se).concat(i)])});o.push(u.id)}o.length>0&&await Ke.attachFilesToAnimal(e.animalId,o)},W=l(!1),L=l(""),G=l(""),q=l("lbs"),O=l([]),$=l(!1),H=l(!1),V=l(""),J=l(null),K=()=>{L.value="",G.value="",q.value="lbs",O.value=[],V.value="",H.value=!1,Y.resetDirty()},Y=Xe({enabled:t(()=>W.value),isSaving:$,snapshot:()=>({updateNotes:L.value,updateWeight:G.value,updateWeightUnit:q.value,updatePhotos:O.value.map(({name:e,size:a,type:t,lastModified:l})=>({name:e,size:a,type:t,lastModified:l}))}),onDiscard:K}),X=()=>{W.value=!1,setTimeout(K,300)},Q=e=>e.type.startsWith("video/")||"video"===Ze(e);return n(W,async e=>{e&&(await d(),Y.resetDirty())}),{careUpdatesLoading:m,weightLogPoints:f,careUpdatesFormRef:y,careUpdateTimelineSections:j,displayedPlaceholder:I,editingCareEntryId:b,editingCareText:w,editingCarePhotos:S,setEditingCareTextareaRef:(e,a)=>{e instanceof HTMLTextAreaElement&&b.value===a&&(A.value=e)},canManageCareUpdate:e=>re(e,M.value),startInlineCareEdit:async a=>{var t;if(!a.noteId){const a=await e.create({message:"This update cannot be edited.",duration:1800,position:"top",color:"warning"});return void(await a.present())}b.value=a.id,k.value=String(a.noteId),w.value=String(a.noteText||""),_.value=String(a.noteText||""),S.value=Array.isArray(a.photos)?[...a.photos]:[],C.value=[],await d(),null==(t=A.value)||t.focu
1s()},cancelInlineCareEdit:B,removeEditingCarePhoto:a=>{const t="number"==typeof a.id?a.id:Number(a.id);Number.isFinite(t)?(C.value.push(t),S.value=S.value.filter(e=>String(e.id||e.url)!==String(a.id||a.url))):e.create({message:"This photo cannot be removed.",duration:1800,position:"top",color:"warning"}).then(e=>e.present())},saveInlineCareEdit:async()=>{var t,l;const n=k.value,i=w.value.trim();if(n){if(!i){const a=await e.create({message:"Note cannot be empty.",duration:1800,position:"top",color:"warning"});return void(await a.present())}try{const o=String((null==(t=u.value)?void 0:t.id)||"");if(!o)return;const s=Array.from(new Set(C.value));i!==_.value.trim()&&await Je.updateHealthNote(o,n,{note_text:i}),s.length>0&&(await Ke.detachFilesFromAnimal(o,s),(await Promise.allSettled(s.map(e=>Ke.deleteFile(e)))).forEach((e,t)=>{"rejected"===e.status&&a.warn("Failed to delete detached care update file record",{fileId:s[t],error:e.reason})}),(null==(l=u.value)?void 0:l.photos)&&(u.value.photos=u.value.photos.filter(e=>!s.includes(Number(e.id))))),await z(o),B();const r=await e.create({message:s.length>0?"Update saved and photo removed":"Note updated",duration:1800,position:"top",color:"success"});await r.present()}catch(o){a.error("Error updating care update note:",o);const t=await e.create({message:"Failed to update note",duration:2e3,position:"top",color:"danger"});await t.present()}}},confirmDeleteCareUpdate:async t=>{if(!t.noteId)return;const l=await r.create({header:"Delete Update",message:"Are you sure you want to delete this update? This action cannot be undone.",cssClass:"delete-confirm-alert",buttons:[{text:"Cancel",role:"cancel"},{text:"Delete",role:"destructive",handler:async()=>{var l;try{const a=String((null==(l=u.value)?void 0:l.id)||"");if(!a)return;await Je.deleteHealthNote(a,String(t.noteId)),await z(a),b.value!==t.id&&String(t.noteId)!==k.value||B();const n=await e.create({message:"Update deleted",duration:1800,position:"top",color:"success"});await n.present()}catch(n){a.error("Error deleting care update note:",n);const t=await e.create({message:"Failed to delete update",duration:2e3,position:"top",color:"danger"});await t.present()}}}]});await l.present()},loadCareUpdates:z,resetCareUpdates:()=>{h++,p.value=[],g.value=[],m.value=!1,B()},handleCareUpdateAcknowledgementChange:e=>{const a=p.value.find(a=>String(a.id)===String(e.noteId));a&&Object.assign(a,{reactions:e.response.reactions,acknowledgements:e.response.acknowledgements,acknowledged_by:e.response.acknowledged_by,current_user_acknowledgement:e.response.current_user_acknowledgement,is_acknowledged_by_current_user:e.response.is_acknowledged_by_current_user})},handleCareUpdateSubmit:async a=>{var t,l,n,i;if(u.value)try{const i=String(u.value.id),o=parseFloat(a.weight),r=a.weight&&o>0?Fe(o,a.weightUnit):null;await R({animalId:i,notesText:a.notes||"",noteType:"general",weightGrams:r,weightUnit:a.weightUnit,photos:a.photos}),s({animalId:i,source:"profile_form",hasNote:Boolean(null==(t=a.notes)?void 0:t.trim()),hasWeight:null!==r,mediaCount:a.photos.length});const d=await e.create({message:"Update saved!",duration:2e3,position:"top",color:"success"});await d.present(),null==(l=y.value)||l.reset(),null==(n=y.value)||n.playSuccess(),await v(),await z(i)}catch(o){const a=await e.create({message:o instanceof Error?o.message:"Failed to save update. Please try again.",duration:2e3,position:"top",color:"danger"});await a.present()}finally{null==(i=y.value)||i.setSubmitting(!1)}},saveCareUpdateWithMedia:R,isVideoMediaFile:ne,isUpdatePhotoOpen:P,updatePhotoUrl:x,handleUpdatePhotoClick:e=>{(null==e?void 0:e.url)&&(x.value=e.url,P.value=!0)},closeUpdatePhoto:()=>{P.value=!1,x.value=""},showAddUpdateModal:W,updateNotes:L,updateWeight:G,updateWeightUnit:q,weightUnitOptions:Ne,updatePhotos:O,isSubmittingUpdate:$,isProcessingUpdateMedia:H,updatePhotoError:V,photoInput:J,animalMediaAccept:Qe,addUpdateGuard:Y,closeAddUpdateModal:()=>{Y.requestClose(X)},handleAddUpdateDismissed:()=>X(),triggerPhotoInput:()=>{var e;H.value||null==(e=J.value)||e.click()},isVideoFile:Q,handlePhotoSelect:async e=>{const a=e.target;if(!a.files)return;V.value="";const t=O.value.filter(Q).length;let l=0;const n=[];H.value=!0;try{for(const e of Array.from(a.files)){if("video"===Ze(e)&&t+ ++l>1)throw new Error("Only one MP4 video can be uploaded per animal.");n.push((await ea(e)).file)}O.value=[...O.value,...n]}catch(i){V.value=i instanceof Error?i.message:"Failed to process selected media."}finally{H.value=!1,a.value=""}},removePhoto:e=>O.value.splice(e,1),getPhotoPreview:e=>URL.createObjectURL(e),submitUpdate:async()=>
1{if(!u.value)return;const t=parseFloat(G.value),l=L.value.trim().length>0,n=Boolean(G.value&&t>0);if(!l&&!n&&0===O.value.length){const a=await e.create({message:"Please add at least one update (notes, weight, or photos).",duration:2e3,position:"top",color:"warning"});return void(await a.present())}$.value=!0;try{const a=String(u.value.id);await R({animalId:a,notesText:L.value,noteType:l?"behavioral":"general",weightGrams:n?Fe(t,q.value):null,weightUnit:q.value,photos:O.value}),s({animalId:a,source:"profile_modal",hasNote:l,hasWeight:n,mediaCount:O.value.length});const i=await e.create({message:"Update submitted! Thanks for sharing.",duration:2e3,position:"top",color:"success"});await i.present(),Y.markSaved(),X(),await v(),await z(a)}catch(i){a.error("Error submitting update:",i);const t=await e.create({message:i instanceof Error?i.message:"Failed to submit update. Please try again.",duration:2e3,position:"top",color:"danger"});await t.present()}finally{$.value=!1}}}}({animal:Me,currentUser:Ee,refreshAnimal:dt}),{getGroupForAnimal:_i}=Pe(),{getGroupForAnimal:Si}=xe(),Ci=t(()=>De.value||0),Ai=(e=[])=>{var a;if(!Array.isArray(e)||0===e.length)return;const t=new Map(ua.value.map(e=>[String(e.id||e.animal_id||""),e]));for(const l of e){const e=String((null==l?void 0:l.id)||(null==l?void 0:l.animal_id)||"");if(!e)continue;const n=t.get(e);t.set(e,{...n||{},...l||{},id:null!=(a=null==l?void 0:l.id)?a:null==n?void 0:n.id,animal_id:(null==l?void 0:l.animal_id)||(null==n?void 0:n.animal_id)||e})}ua.value=Array.from(t.values())},Pi=async()=>{try{const e=await W.getUserChats();je(L(e))}catch(e){a.error("Error loading unread count:",e)}},xi=t(()=>{var e,a;return(null==(e=Me.value)?void 0:e.plea_message)||(null==(a=j.value)?void 0:a.message)||""});n(()=>{var e,a,t;return{animalId:null==(e=Me.value)?void 0:e.id,pleaId:null==(a=Me.value)?void 0:a.plea_id,existingMessage:null==(t=Me.value)?void 0:t.plea_message}},async({animalId:e,pleaId:a,existingMessage:t})=>{e&&!t&&a?(j.value=null,await ve(e)):j.value=null},{immediate:!0});const Ui=t(()=>!!xi.value&&!Va.value),Ii=t(()=>{if(!Me.value)return"";const e=fa(Me.value);return e&&"Unknown age"!==e?e:""}),Ti=t(()=>{var e;if(!Me.value)return null;const a=Me.value;let t=ya(Me.value);return!t&&null!=a.age_value&&a.age_unit&&(t=null==(e=wa(a.age_value,a.age_unit,a.species))?void 0:e.label),function(e,a){return e&&Ht["dog"===a||"rabbit"===a?a:"cat"][e]||null}(null!=t?t:null,a.species)}),Ei=async()=>{var e;if(!Me.value||Ka.value)return;null==(e=Ya.value)||e.close(),await pa("foster-animal-rename");const a=Me.value.name||"",t=await r.create({header:"Edit name",inputs:[{name:"name",type:"text",value:a,placeholder:"Animal name",attributes:{maxlength:255}}],buttons:[{text:"Cancel",role:"cancel"},{text:"Save",handler:e=>{var a;const t=String(null!=(a=null==e?void 0:e.name)?a:"").trim();return!!t&&(Di(t),!0)}}]});await t.present()},Di=async t=>{if(!Me.value)return;const l=(Me.value.name||"").trim();if(t===l)return;const n=Me.value.id.toString();Ka.value=!0;try{await D(n,()=>Ie.updateAnimalName(n,t)),ae({animalId:n,hadPreviousName:Boolean(l)});const a=l?"Renamed ".concat(l," to ").concat(t,"."):"Set name to ".concat(t,".");await Xn({animalId:n,notesText:a,noteType:"general",weightGrams:null,weightUnit:ii.value,photos:[]}),Me.value={...Me.value,name:t},await Vn(n);const i=await e.create({position:"top",message:"Name updated",duration:2e3,color:"success"});await i.present()}catch(i){a.error("Failed to update animal name:",i);const t=i instanceof Error&&i.message?i.message:"Failed to update name",l=await e.create({position:"top",message:t,duration:3e3,color:"danger"});await l.present()}finally{Ka.value=!1}};const Ni=t(()=>Ve({fosterExpectedEndDate:Qa.value,isApproved:$a.value,isPickupPending:Ha.value,isCurrentlyFostering:Va.value}));function Fi(){window.history.length>1?window.history.back():P.push({name:"FosterHomePage"})}function ji(e){switch(e){case"home":P.push("/foster/home");break;case"animals":P.push("/foster/animals");break;case"resources":P.push("/foster/resources");break;case"messages":P.push("/foster/messages")}}const Mi=e=>e?{animalNavigationContext:e}:void 0;function zi(){if(!Me.value)return null;const e=Me.value.animal_id||Me.value.id;if(!e)return null;const a=Me.value.group_name,t=Me.value.litter_name;if(a||t){const e=a||t,l=ua.value.filter(e=>e.group_name===a&&a||e.litter_name===t&&t);if(l.length>1)return{type:a?"group":"litter",data:null,displayName:e,count:l.length,animalIds:l.map(e=>e.animal_id||e.id),animalDetails:l.map(e=>e.name)}
1}const l=_i(e);if(l&&l.animal_ids.length>1)return{type:"litter",data:l,displayName:l.name||"Litter of ".concat(l.animal_ids.length),count:l.animal_ids.length,animalIds:l.animal_ids,animalDetails:l.animal_names||[]};const n=Si(e);return n&&n.animal_ids.length>1?{type:"plea",data:n,displayName:n.name||"Group of ".concat(n.animal_ids.length),count:n.animal_ids.length,animalIds:n.animal_ids,animalDetails:n.animal_names||[]}:null}async function Bi(){if(!Me.value||at.value)return;if(!Ja.value)return;if(!Sa(Me.value.status,{hasShowedInterest:Ra.value,isApproved:$a.value,isPickupPending:Ha.value,isCurrentlyFostering:Va.value}))return;at.value=!0;const{header:e,message:a}=Ca(Me.value.name);try{const t=await r.create({header:e,message:a,backdropDismiss:!1,buttons:[{text:"Refresh",handler:()=>{Qi()}},{text:"See other animals",role:"cancel",handler:()=>{P.replace("/foster/animals")}}]});await t.present(),t.onDidDismiss().then(()=>{at.value=!1})}catch(t){throw at.value=!1,t}}async function Ri(){if(!Me.value)return;const t=await r.create({header:"Remove Interest?",message:Wa.value?"This will remove your interest in fostering the entire group (".concat(La.value," animals). The coordinator will no longer see you as a potential foster for any of them."):"This will remove your interest in fostering ".concat(Me.value.name,". The coordinator will no longer see you as a potential foster for this animal."),inputs:[{name:"reason",type:"textarea",placeholder:"Reason (optional) - helps the coordinator understand your situation"}],buttons:[{text:"Cancel",role:"cancel"},{text:"Remove Interest",role:"destructive",handler:t=>{!async function(t){var l,n,i,o;if(!Me.value)return;const s=null==(n=null==(l=Ee.value)?void 0:l.fosterProfile)?void 0:n.id;if(!s)return void a.error("No foster ID found");try{const a=Wa.value,l=qa.value,n=Ga.value;if(l?await Ue.withdrawInterest(String(s),void 0,l,t):await Ue.withdrawInterest(String(s),n||String(Me.value.id),void 0,t),Ra.value=!1,Wa.value=!1,La.value=0,Ga.value="",qa.value="",a){const e=null==(i=Me.value)?void 0:i.litter_name,a=null==(o=Me.value)?void 0:o.group_name;Oa.value=Oa.value.filter(t=>{const l=ua.value.find(e=>String(e.id)===t);return!l||(!a||l.group_name!==a)&&(!e||l.litter_name!==e)})}else{const e=String(Me.value.id);Oa.value=Oa.value.filter(a=>a!==e)}const r=await e.create({message:a?"Your group interest has been removed.":"Your interest has been removed.",duration:2e3,color:"medium",position:"top"});await r.present()}catch(r){a.error("Error withdrawing interest:",r);const t=await e.create({message:"Failed to remove interest. Please try again.",duration:2e3,color:"danger",position:"top"});await t.present()}}(t.reason||"")}}]});await t.present()}const Wi=async(e,a)=>{var t;const l=_a(Ta.value,Ua.value,String(e),(null==(t=ca.value)?void 0:t.fullText)||"Animal group")||Ta.value;P.push({name:"FosterAnimalProfile",params:{id:e.toString()},state:Mi(l)})},Li=async e=>{try{return await I(e)}catch(t){try{const t=await Ie.getAnimalByPublicId(e);return t&&a.warn("Foster animal profile resolved route param via animal_id fallback: requested=".concat(e," resolved=").concat(t.id)),t}catch(l){const n=t instanceof Error?t.message:String(t),i=l instanceof Error?l.message:String(l);return a.warn("Foster animal profile failed to resolve route param: requested=".concat(e," primary=").concat(n," fallback=").concat(i)),null}}};async function Gi(){var e;(null==(e=Me.value)?void 0:e.id)&&await P.push({path:"/foster/book",query:{type:"animal_pickup",animalId:String(Me.value.id),...Me.value.name?{animalName:Me.value.name}:{}}})}async function qi(){if(await async function(){var e,t,l;try{const a=Ee.value||await q.get("currentUser"),n=(null==(e=null==a?void 0:a.fosterProfile)?void 0:e.organization_id)||(null==(l=null==(t=null==a?void 0:a.fosterProfile)?void 0:t.organization)?void 0:l.id);if(!n)return!1;const i=await Te.getLocations(Number(n));if(!i.length)return!1;const o=new Date,s=new Date;return s.setDate(s.getDate()+14),(await Promise.allSettled(i.map(e=>Te.getAvailableSlots({org_id:Number(n),location_id:String(e.id),appointment_type:"supply_pickup",from:o.toISOString(),to:s.toISOString()})))).some(e=>{var a;return"fulfilled"===e.status&&Array.isArray(null==(a=e.value)?void 0:a.slots)&&e.value.slots.length>0})}
1catch(n){return a.error("Failed checking supply pickup slots:",n),!1}}())return void(await P.push({path:"/foster/book",query:{type:"supply_pickup"}}));const e=await r.create({header:"Supply Pickup",message:"Supply requests aren't available online yet. In the meantime, send your coordinator a message and they'll get it sorted.",buttons:[{text:"Message Coordinator",handler:()=>{Ce(P)}}]});await e.present()}const Oi=l(!1);async function $i(){if(xi.value){const e=await r.create({header:"Message from Coordinator",message:xi.value,cssClass:"plea-message-alert",buttons:[{text:"Close",role:"cancel"}]});await e.present()}else P.push("/foster/messages")}async function Hi(){await Ce(P)}async function Vi(){await P.push("/foster/book")}async function Ji(){Be.value=!0}const Ki=async()=>{var e,t,l,n,i,o,s,r,d,u,c,v,m;try{if(null==(t=null==(e=Ee.value)?void 0:e.fosterProfile)?void 0:t.id){const e=(await Ue.getInterestedAnimals(Ee.value.fosterProfile.id.toString())).filter(e=>e.animal_id&&"interested"===(e.response_type||e.responseType||e.response)),a=new Set;for(const s of e){if(a.add(String(s.animal_id)),s.litter_name&&(null==(l=s.litter_animals)?void 0:l.length)){Ai(s.litter_animals);for(const e of s.litter_animals)a.add(String(e.id||e.animal_id))}if(s.group_name&&(null==(n=s.group_animals)?void 0:n.length)){Ai(s.group_animals);for(const e of s.group_animals)a.add(String(e.id||e.animal_id))}if(s.litter_name&&(null==(i=ua.value)?void 0:i.length))for(const e of ua.value)e.litter_name===s.litter_name&&a.add(String(e.id));if(s.group_name&&(null==(o=ua.value)?void 0:o.length))for(const e of ua.value)e.group_name===s.group_name&&a.add(String(e.id))}Oa.value=[...a];const t=(null==(s=Me.value)?void 0:s.id)?String(Me.value.id):"";if(Ra.value=!!t&&a.has(t),Ra.value){const a=null==(r=Me.value)?void 0:r.litter_name,l=null==(d=Me.value)?void 0:d.group_name,n=e.find(e=>String(e.animal_id)===t||e.litter_name&&e.litter_name===a||e.group_name&&e.group_name===l),i=(null==n?void 0:n.litter_name)||(null==n?void 0:n.group_name)||(null==(u=null==n?void 0:n.litter_animals)?void 0:u.length)>1||(null==(c=null==n?void 0:n.group_animals)?void 0:c.length)>1;if(Wa.value=!!i,Ga.value=n?String(n.animal_id):"",qa.value=(null==n?void 0:n.litter_name)||"",i){const e=zi();La.value=(null==(v=null==n?void 0:n.group_animals)?void 0:v.length)||(null==(m=null==n?void 0:n.litter_animals)?void 0:m.length)||(null==e?void 0:e.count)||0}}}}catch(p){a.error("Error checking interest status:",p)}},Yi=()=>{var e,a;const t=null==(a=null==(e=Ee.value)?void 0:e.fosterProfile)?void 0:a.id;return!(!Me.value||!t)&&oa(Me.value,String(t))},Xi=async()=>{var e,t,l,n,i;const o=Me.value?ia(Me.value,String((null==(t=null==(e=Ee.value)?void 0:e.fosterProfile)?void 0:t.id)||"")):null;Ha.value="Pickup_Pending"===o,$a.value="Pending_Confirmation"===o,Va.value=Yi(),Ja.value=Ha.value||$a.value||Va.value;try{if((null==(n=null==(l=Ee.value)?void 0:l.fosterProfile)?void 0:n.id)&&(null==(i=Me.value)?void 0:i.id)){const e=await Ue.getCurrentAnimals(Ee.value.fosterProfile.id.toString()),t=Me.value.id.toString(),l=e.find(e=>{var a,l;return((null==(a=e.id)?void 0:a.toString())===t||(null==(l=e.animal_id)?void 0:l.toString())===t)&&"Pending_Confirmation"===e.status}),n=e.find(e=>{var a,l;return((null==(a=e.id)?void 0:a.toString())===t||(null==(l=e.animal_id)?void 0:l.toString())===t)&&"Pickup_Pending"===e.status}),i=e.find(e=>{var a,l;return!((null==(a=e.id)?void 0:a.toString())!==t&&(null==(l=e.animal_id)?void 0:l.toString())!==t||"With_Foster"!==e.status&&"With_Gap_Foster"!==e.status)});if(Ha.value=!!n||"Pickup_Pending"===o,$a.value=!(Ha.value||!l&&"Pending_Confirmation"!==o),Va.value=!!i||Yi(),Ja.value=!0,Za.value=null,Qa.value=null,Va.value||(Xa.value=null),Ha.value&&(async()=>{var e,t,l,n,i,o,s,r;try{tt.value="",nt.value=null;const a=await q.get("currentUser"),d=(null==(e=null==a?void 0:a.fosterProfile)?void 0:e.id)||(null==(t=null==a?void 0:a.fosterProfile)?void 0:t.foster_id)||(null==(l=null==a?void 0:a.fosterProfile)?void 0:l.uuid),u=(null==(n=null==a?void 0:a.fosterProfile)?void 0:n.organization_id)||(null==(o=null==(i=null==a?void 0:a.fosterProfile)?void 0:i.organization)?void 0:o.id);if(!d||!u||!Me.value)return;const c=await Te.listBookings({org_id:Number(u),foster_id:Number(d)}),v=String(Me.value.id),m=(Array.isArray(c)?c:[]).filter(e=>{var a,t;const l=null!=(t=null==e?void 0:e.animal_id)?t:null==(a=null==e?void 0:e.animal)?void 0:a.id,n=String((null==e?void 0:e.status)||"");return l&&String(l)===v&&"animal_pickup"===e.appointment_type&&!["canceled","declined","overridden"].includes(n)}).sort((e,a)=>new Date((null==e?void 0:e.start)||0).getTime()-new Date((null==a?void 0:a.start)||0).getTime())[0];(null==(s=null==m?void 0:m.location)?void 0:s.name)&&(tt.value=m.location.name,m.location.address&&(tt.value+=" - ".concat(m.location.address))),nt.value=(null==(r=null==m?void 0:m.location)?void 0:r.timezone)||null}catch(d){a.error("Failed to fetch pickup booking location:",d)}}
1)(),$a.value||Ha.value||Va.value)try{const e=(await Ue.getAnimalAssignmentHistory(t)).find(e=>{var a,t,l,n;return"active"===e.status&&(null==(a=e.foster_id)?void 0:a.toString())===(null==(n=null==(l=null==(t=Ee.value)?void 0:t.fosterProfile)?void 0:l.id)?void 0:n.toString())});if(void 0!==(null==e?void 0:e.id)&&null!==(null==e?void 0:e.id)&&(Za.value=String(e.id)),Qa.value=(null==e?void 0:e.expected_end_date)||null,Va.value){const a=(null==e?void 0:e.start_date)||null;a&&(Xa.value=a)}}catch(s){}}}catch(r){Va.value=Yi(),Ja.value=Va.value||Ha.value||$a.value,a.error("Error checking approval status:",r)}},Qi=async()=>{var e,a;const t=x.value;if(!t)return;const[l,n]=await Promise.all([Li(t),T()]);Me.value=l,ua.value=n,await d(),await Ut(),(null==(a=null==(e=Ee.value)?void 0:e.fosterProfile)?void 0:a.id)&&(await Ki(),await Xi()),await da(),await Pi()},{showDeclineAssignmentModal:Zi,declineModalStep:eo,declineCandidates:ao,isDecliningAssignment:to,declineReasonCode:lo,declineComment:no,selectedDeclineCount:io,hasDeclineSelectionStep:oo,hasSelectableDeclineCandidates:so,isDeclineAllSelected:ro,declineSelectionTitle:uo,declineSelectionHelperText:co,declineDetailsHelperText:vo,declineSelectionSummaryText:mo,openDeclineAssignmentModal:po,closeDeclineAssignmentModal:go,toggleDeclineCandidate:ho,toggleDeclineAll:fo,continueDeclineSelection:yo,submitDeclineAssignment:bo}=Ia({animal:Me,allAnimals:ua,currentAssignmentId:Za,getCurrentFosterId:async()=>{var e,a,t;const l=Ee.value||await q.get("currentUser"),n=(null==(e=null==l?void 0:l.fosterProfile)?void 0:e.id)||(null==(a=null==l?void 0:l.fosterProfile)?void 0:a.foster_id)||(null==(t=null==l?void 0:l.fosterProfile)?void 0:t.uuid);return n?String(n):null},refreshApprovalStatus:Xi,reloadAnimalProfile:Qi,onCurrentAnimalDeclined:()=>{$a.value=!1,Za.value=null},goBack:Fi}),wo=async t=>{try{await Qi()}catch(l){a.error("Error refreshing animal profile data:",l);const t=await e.create({message:"Failed to refresh animal data. Please try again.",duration:2500,position:"top",color:"danger"});await t.present()}finally{t.detail.complete()}},ko=()=>{ze.value=ka()};return i(async()=>{var e,t,l,n,i;try{ko(),ot.value=!0,et.value=!0,it();const[a,o]=await Promise.all([Li(x.value),T()]);Me.value=a,ua.value=o,await d(),await Ut(),await Vn((null==(e=Me.value)?void 0:e.id)?String(Me.value.id):x.value),await Promise.all([(null==(l=null==(t=Ee.value)?void 0:t.fosterProfile)?void 0:l.id)?Ki():Promise.resolve(),(null==(i=null==(n=Ee.value)?void 0:n.fosterProfile)?void 0:i.id)?Xi():Promise.resolve(),da(),Pi()]),await Bi(),et.value=!1}catch(o){a.error("Error loading animal:",o),Me.value=null,it(),et.value=!1,Jn()}}),B(async()=>{var e;if(Fa.value)Fa.value=!1;else try{await Pi(),await Ki(),await Xi(),await da(),await Vn((null==(e=Me.value)?void 0:e.id)?String(Me.value.id):x.value),await Bi()}catch(t){a.error("Error refreshing animal profile state on view enter:",t)}}),n(()=>A.params.id,async(e,t)=>{var l;ko();const n=Array.isArray(e)?e[0]:e,i=Array.isArray(t)?t[0]:t;if(n&&(i||!ot.value)&&n&&n!==i){xt(),Jn(),et.value=!0,Me.value=null,it();try{const e=await Li(n);Me.value=e,e&&Ai([e]),await Ut(),await Vn((null==(l=Me.value)?void 0:l.id)?String(Me.value.id):String(n)),await Promise.all([Xi(),Ki(),da(),Pi()]),await Bi(),et.value=!1}catch(o){a.error("Error loading animal:",o),Me.value=null,it(),et.value=!1,Jn()}}}),(e,a)=>(U(),c(v(R),null,{default:p(()=>[f(v(J),{class:"ion-no-border"},{default:p(()=>[f(v(O),{class:"ion-no-border toolbar-custom-padding"},{default:p(()=>[f(v($),{slot:"start"},{default:p(()=>[f(v(H),{fill:"clear","aria-label":"Back",onClick:Fi},{default:p(()=>[f(y,{name:"arrow-back-outline"})]),_:1})]),_:1}),f(v(V),{class:"title-centered"},{default:p(()=>[...a[25]||(a[25]=[C("Animal Profile",-1)])]),_:1}),f(v($),{slot:"end"},{default:p(()=>[f(v(H),{fill:"clear",style:{visibility:"hidden"},"aria-hidden":"true"},{default:p(()=>[f(y,{name:"arrow-back-outline"})]),_:1})]),_:1})]),_:1})]),_:1}),f(v(Q),null,{default:p(()=>[f(v(K),{slot:"fixed",onIonRefresh:wo},{default:p(()=>[f(v(Y),{"pulling-text":"Pull to refresh","refreshing-spinner":"crescent","refreshing-text":"Refreshing animal data..."})]),_:1}),g("div",Vt,[Me.value||et.value?et.value?(U(),b("div",Xt,[g("div",Qt,[a[30]||(a[30]=g("div",{class:"animal-profile-skeleton__hero-top"},[g("div",{class:"animal-profile-skeleton__photo skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__copy"},[g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--title skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--id skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--meta skeleton-shimmer"})])],-1)),a[31]||(a[31]=g("div",{class:"animal-profile-skeleton__divider"},null,-1)),g("div",Zt,[(U(),b(w,null,k(6,e=>g("div",{key:"animal-profile-skeleton-attr-".concat(e),class:"animal-profile-skeleton__attribute"},[...a[29]||(a[29]=[g("div",{class:"animal-profile-skeleton__attribute-icon skeleton-shimmer"},null,-1),g("div",{class:"animal-profile-skeleton__attribute-line skeleton-shimmer"},null,-1)])])),64))]),a[32]||(a[32]=g("div",{class:"animal-profile-skeleton__divider"},null,-1)),a[33]||(a[33]=g("div",{class:"animal-profile-skeleton__cta skeleton-shimmer"},null,-1))]),g("div",el,[g("div",al,[(U(),b(w,null,k(3,e=>g("div",{key:"animal-profile-skeleton-tab-".concat(e),class:"animal-profile-skeleton__tab skeleton-shimmer"})),64))]),a[36]||(a[36]=g("div",{class:"animal-profile-skeleton__card"},[g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--card-heading skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--card-body skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--card-body-short skeleton-shimmer"})],-1)),g("div",tl,[a[35]||(a[35]=g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--card-heading skeleton-shimmer"},null,-1)),(U(),b(w,null,k(2,e=>g("div",{key:"animal-profile-skeleton-tl-".concat(e),class:"animal-profile-skeleton__timeline-row"},[...a[34]||(a[34]=[g("div",{class:"animal-profile-skeleton__timeline-dot skeleton-shimmer"},null,-1),g("div",{class:"animal-profile-skeleton__timeline-lines"},[g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--tl-a skeleton-shimmer"}),g("div",{class:"animal-profile-skeleton__line animal-profile-skeleton__line--tl-b skeleton-shimmer"})],-1)])])),64))])])])):S("",!0):(U(),b("div",Jt,[g("div",Kt,[f(y,{name:"alert-circle-outline",class:"error-icon"}),a[27]||(a[27]=g("h3",null,"Animal not found",-1)),a[28]||(a[28]=g("p",null,"The animal you're looking for could not be found.",-1)),g("p",Yt,"ID: "+h(x.value),1),f(v(H),{onClick:Fi,fill:"outline"},{default:p(()=>[...a[26]||(a[26]=[C("Go Back",-1)])]),_:1})])])),f(X,{name:"page-enter",appear:""},{default:p(()=>{var e,t,l,n,i,o,s,r,d,u,m,k,A,x,I,T;return[Me.value&&!et.value?(U(),b("div",ll,[g("div",nl,[g("div",il,[f(pe,{photos:v(pt),"alt-text":"Photo of ".concat(Me.value.name),"can-edit":Va.value,"max-photos":5,"is-uploading":v(ct),"image-failed":v(vt),"onUpdate:photos":v(It),onDeletePhoto:v(Tt),onOpenLightbox:v(wt),onImageError:v(At),class:"hero-photo"},null,8,["photos","alt-text","can-edit","is-uploading","image-failed","onUpdate:photos","onDeletePhoto","onOpenLightbox","onImageError"]),g("div",ol,[g("div",sl,[g("h2",rl,h(Me.value.name),1),Va.value?(U(),c(ge,{key:0,class:"foster-name-edit",label:"Edit name",disabled:Ka.value,onClick:Ei},null,8,["disabled"])):S("",!0),Ui.value?(U(),b("button",{key:1,class:"message-icon-btn",onClick:$i},[...a[37]||(a[37]=[g("img",{src:"/assets/icons/message-2.svg",alt:"Message",class:"message-icon-img"},null,-1),g("span",{class:"notification-dot pulsating"},null,-1)])])):S("",!0)]),g("p",dl,h(Me.value.animal_id),1),Ii.value?(U(),b("p",ul,h(Ii.value),1)):S("",!0),Va.value&&Xa.value?(U(),b("p",cl," In your care since "+h(v(Le)(Xa.value)),1)):S("",!0),Ni.value?(U(),b("p",vl," Expected back at shelter "+h(v(Ge)(Qa.value)),1)):S("",!0),Me.value.urgent&&!Va.value?(U(),b("p",ml,"Needs pickup today")):S("",!0)]),g("div",pl,[g("div",gl,[g("div",hl,[a[38]||(a[38]=g("img",{src:Pa,class:"attr-icon-img"},null,-1)),g("span",fl,h(v(qe)(Me.value)),1)]),g("div",yl,[g("img",{src:"/assets/icons/gender-".concat((Me.value.sex||"Unknown").toLowerCase(),".svg"),class:"attr-icon-img"},null,8,bl),g("span",wl,h(Me.value.sex||"Unknown"),1)]),g("div",kl,[f(y,{name:"circle-arrow-down-right",size:16,color:"grey-300",class:"attr-icon"}),g("span",_l,h(v(Oe)(Me.value.intake_date)),1)]),g("div",Sl,[a[39]||(a[39]=g("img",{src:he,class:"attr-icon-img"},null,-1)),g("span",Cl,h(v($e)(Me.value.weight)),1)]),g("div",Al,[a[40]||(a[40]=g("img",{src:xa,class:"attr-icon-img"},null,-1)),g("span",Pl,h(Me.value.breed||"Unknown"),1)]),g("div",xl,[f(y,{name:"circle-arrow-down-right",size:16,color:"grey-300",class:"attr-icon"}),g("span",Ul,h((null==(e=Me.value.intake_reason)?void 0:e.replace(/_/g," "))||"Intake"),1)])]),v(ca)&&v(ba).length>0?(U(),c(fe,{key:0,class:"hero-group-badge","group-info":v(ca),"group-animals":v(ba),"current-animal-id":null==(t=Me.value)?void 0:t.id,onAnimalClick:a[0]||(a[0]=e=>Wi(e))},null,8,["group-info","group-animals","current-animal-id"])):S("",!0)])]),g("div",Il,[a[44]||(a[44]=g("div",{class:"hero-divider"},null,-1)),g("div",Tl,[g("div",El,[a[41]||(a[41]=g("img",{src:Pa,class:"attr-icon-img"},null,-1)),g("span",Dl,h(v(qe)(Me.value)),1)]),g("div",Nl,[g("img",{src:"/assets/icons/gender-".concat((Me.value.sex||"Unknown").toLowerCase(),".svg"),class:"attr-icon-img"},null,8,Fl),g("span",jl,h(Me.value.sex||"Unknown"),1)]),g("div",Ml,[f(y,{name:"circle-arrow-down-right",size:16,color:"grey-300",class:"attr-icon"}),g("span",zl,h(v(Oe)(Me.value.intake_date)),1)]),g("div",Bl,[a[42]||(a[42]=g("img",{src:he,class:"attr-icon-img"},null,-1)),g("span",Rl,h(v($e)(Me.value.weight)),1)]),g("div",Wl,[a[43]||(a[43]=g("img",{src:xa,class:"attr-icon-img"},null,-1)),g("span",Ll,h(Me.value.breed||"Unknown"),1)]),g("div",Gl,[f(y,{name:"circle-arrow-down-right",size:16,color:"grey-300",class:"attr-icon"}),g("span",ql,h((null==(l=Me.value.intake_reason)?void 0:l.replace(/_/g," "))||"Intake"),1)])]),v(ca)&&v(ba).length>0?(U(),c(fe,{key:0,class:"mobile-only hero-group-badge","group-info":v(ca),"group-animals":v(ba),"current-animal-id":null==(n=Me.value)?void 0:n.id,onAnimalClick:a[1]||(a[1]=e=>Wi(e))},null,8,["group-info","group-animals","current-animal-id"])):S("",!0)]),Va.value?S("",!0):(U(),b("div",Ol,[Ha.value?(U(),b("div",$l,[a[48]||(a[48]=g("h3",{class:"reminder-title"},"Pickup Scheduled",-1)),g("div",Hl,[f(y,{name:"calendar-outline",size:"sm",class:"detail-icon",color:"grey-300"}),g("span",Vl,h((T=null==(i=Me.value)?void 0:i.pickup_by,He(T,nt.value))),1)]),g("div",Jl,[f(y,{name:"location-outline",size:"sm",class:"detail-icon",color:"grey-300"}),tt.value||(null==(o=Me.value)?void 0:o.location)?(U(),b("a",{key:0,href:"https://maps.google.com/?q=".concat(encodeURIComponent(tt.value||(null==(s=Me.value)?void 0:s.location)||"")),target:"_blank",rel:"noopener noreferrer",class:"detail-value location-link"},[C(h(tt.value||(null==(r=Me.value)?void 0:r.location)),1),a[45]||(a[45]=g("img",{src:Se,class:"external-link-icon"},null,-1))],8,Kl)):(U(),b("span",Yl,"See coordinator for details"))]),g("p",{class:"pickup-cancel-message"},[a[46]||(a[46]=C(" Need to cancel? ",-1)),g("button",{class:"text-link-button",onClick:Hi},"Message your coordinator"),a[47]||(a[47]=C(" directly to let them know. ",-1))])])):$a.value?(U(),b("div",Xl,[a[50]||(a[50]=g("div",{class:"approval-header"},[g("h3",null,"You've been approved!")],-1)),g("p",null,"Congratulations! You've been selected to foster "+h(null==(d=Me.value)?void 0:d.name)+". Please book a pickup time to complete the assignment.",1),f(v(H),{class:"approval-book-btn",onClick:Gi},{default:p(()=>[...a[49]||(a[49]=[C(" Book Pickup Time ",-1)])]),_:1}),g("button",{class:"cant-foster-button",onClick:a[2]||(a[2]=(...e)=>v(po)&&v(po)(...e))},"Can't Foster?")])):Ja.value?(null==(u=Me.value)?void 0:u.on_hold)&&!Ra.value?(U(),b("div",Zl,[...a[52]||(a[52]=[g("h3",{class:"interest-question"},"Matching is paused",-1),g("p",{class:"interest-unavailable-note"},"This animal is on hold. Their placement status is unchanged.",-1)])])):rt.value||Ra.value?(U(),b("div",en,[g("h3",an,h(st.value),1),f(sa,{size:"large",selected:Ra.value,"selected-text":Wa.value?"Group interest submitted (".concat(La.value,")"):"",onClick:a[3]||(a[3]=e=>Ra.value?Ri():void(Me.value&&P.push("/foster/submit-interest/".concat(Me.value.id))))},null,8,["selected","selected-text"])])):(U(),b("div",tn,[g("h3",ln,h(null==(m=Me.value)?void 0:m.name)+" already found their person 🐾",1),a[53]||(a[53]=g("p",{class:"interest-unavailable-note"}," This little one is no longer available for fostering. Plenty of other sweet faces are still hoping for a foster hero. ",-1))])):(U(),b("div",Ql,[...a[51]||(a[51]=[g("p",{class:"interest-unavailable-note"},"Placement status unavailable. Pull down to refresh.",-1)])]))]))]),g("div",nn,[Va.value?(U(),b("div",on,[g("div",sn,[g("button",{class:_(["tab-button",{active:"updates"===ja.value}]),onClick:a[4]||(a[4]=e=>ja.value="updates")},"Care Updates",2),g("button",{class:_(["tab-button",{active:"about"===ja.value}]),onClick:a[5]||(a[5]=e=>ja.value="about")},"About",2),g("button",{class:_(["tab-button",{active:"appointments"===ja.value}]),onClick:a[6]||(a[6]=e=>ja.value="appointments")}," Appointments ",2)])])):S("",!0),g("div",rn,[Va.value&&"updates"===ja.value?(U(),b(w,{key:0},[(U(),c(ye,{key:null==(k=Me.value)?void 0:k.id,"animal-id":null==(A=Me.value)?void 0:A.id,"current-grams":null==(x=Me.value)?void 0:x.weight_grams,"weight-points":v(Ft),"can-edit":"",onUpdated:ut},null,8,["animal-id","current-grams","weight-points"])),f($t,{ref_key:"careUpdatesFormRef",ref:jt,placeholder:v(zt),onSubmit:v(Yn)},null,8,["placeholder","onSubmit"]),f(ft,{loading:v(Nt),sections:v(Mt),"animal-name":(null==(I=Me.value)?void 0:I.name)||"this animal","editing-entry-id":v(Bt),"editing-text":v(Rt),"editing-photos":v(Wt),"can-manage":v(Gt),"onUpdate:editingText":a[7]||(a[7]=e=>Rt.value=e),onSetTextarea:v(Lt),onEdit:v(qt),onDelete:v(Hn),onPhotoClick:v(ei),onRemovePhoto:v(On),onCancelEdit:v(Ot),onSaveEdit:v($n),onAcknowledgementChange:v(Kn)},null,8,["loading","sections","animal-name","editing-entry-id","editing-text","editing-photos","can-manage","onSetTextarea","onEdit","onDelete","onPhotoClick","onRemovePhoto","onCancelEdit","onSaveEdit","onAcknowledgementChange"]),Me.value?(U(),c(be,{key:0})):S("",!0)],64)):Va.value&&"about"===ja.value?(U(),c(Pt,{key:1,animal:Me.value,"stage-explainer":Ti.value},null,8,["animal","stage-explainer"])):Va.value&&"appointments"===ja.value?(U(),b("div",dn,[g("section",un,[f(we,{"animal-id":Ma.value,"organization-id":za.value,"foster-id":Ba.value},null,8,["animal-id","organization-id","foster-id"])])])):(U(),b(w,{key:3},[f(Pt,{animal:Me.value,"stage-explainer":Ti.value},null,8,["animal","stage-explainer"]),g("section",cn,[f(we,{"animal-id":Ma.value,"organization-id":za.value,"foster-id":Ba.value,"hide-when-empty":""},null,8,["animal-id","organization-id","foster-id"])]),Me.value?(U(),c(be,{key:0})):S("",!0)],64)),f(na,{"show-book-appointment":"","medical-emergency-phone":v(Re),onRequestSupplies:qi,onContactCoordinator:Hi,onBookAppointment:Vi,onMedicalEmergency:Ji},null,8,["medical-emergency-phone"])])])])):S("",!0)]}),_:1})]),S("",!0),f(ta,{"active-tab":"animals","unread-messages-count":Ci.value,onNavChange:ji},null,8,["unread-messages-count"])]),_:1}),f(v(m),{"is-open":v(ti),"can-dismiss":v(mi).canDismiss,onDidDismiss:v(gi),"initial-breakpoint":.85,breakpoints:[0,.85,1]},{default:p(()=>[f(v(J),null,{default:p(()=>[f(v(O),{class:"modal-toolbar"},{default:p(()=>[f(v(V),null,{default:p(()=>[...a[54]||(a[54]=[C("Add Update",-1)])]),_:1}),f(v($),{slot:"end"},{default:p(()=>[f(v(H),{fill:"clear",onClick:v(pi)},{default:p(()=>[f(y,{name:"close-outline"})]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1}),f(v(Q),{class:"add-update-modal-content"},{default:p(()=>{var e,t,l;return[g("div",vn,[g("div",mn,[g("div",pn,[v(gt)?(U(),b("img",{key:0,src:v(gt),alt:(null==(e=Me.value)?void 0:e.name)||"Animal"},null,8,gn)):S("",!0)]),g("div",hn,[g("div",fn,h(null==(t=Me.value)?void 0:t.
1name),1),g("div",yn,h(null==(l=Me.value)?void 0:l.animal_id),1)])]),g("div",bn,[a[55]||(a[55]=g("label",{class:"field-label"},"Personality & Behavior Notes",-1)),N(g("textarea",{"onUpdate:modelValue":a[8]||(a[8]=e=>Z(li)?li.value=e:null),class:"update-textarea",placeholder:"Share what you've noticed — quirks, preferences, how they're doing...",rows:"4"},null,512),[[F,v(li)]])]),g("div",wn,[a[56]||(a[56]=g("label",{class:"field-label"},"Weight Update",-1)),g("div",kn,[N(g("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>Z(ni)?ni.value=e:null),type:"text",inputmode:"decimal",pattern:"[0-9]*\\.?[0-9]*",class:"weight-input",placeholder:"0.0"},null,512),[[F,v(ni)]]),g("div",_n,[(U(!0),b(w,null,k(v(oi),e=>(U(),b("button",{key:e.value,type:"button",class:_(["unit-btn",{active:v(ii)===e.value}]),"aria-pressed":v(ii)===e.value,onClick:a=>ii.value=e.value},h(e.shortLabel),11,Sn))),128))])])]),g("div",Cn,[a[57]||(a[57]=g("label",{class:"field-label"},"Add Photos",-1)),g("div",An,[g("input",{type:"file",ref_key:"photoInput",ref:ci,accept:v(vi),multiple:"",disabled:v(di),onChange:a[10]||(a[10]=(...e)=>v(yi)&&v(yi)(...e)),class:"photo-input-hidden"},null,40,Pn),g("button",{class:"photo-upload-button",disabled:v(di),onClick:a[11]||(a[11]=(...e)=>v(hi)&&v(hi)(...e))},[f(y,{name:"camera-outline",class:"upload-icon"}),g("span",null,h(v(di)?"Processing...":"Choose Photos"),1)],8,xn),v(ui)?(U(),b("p",Un,h(v(ui)),1)):S("",!0),v(si).length>0?(U(),b("div",In,[(U(!0),b(w,null,k(v(si),(e,a)=>(U(),b("div",{key:a,class:"photo-preview-item"},[v(fi)(e)?(U(),b("video",{key:1,src:v(wi)(e),muted:"",controls:"",playsinline:""},null,8,En)):(U(),b("img",{key:0,src:v(wi)(e),alt:"Preview"},null,8,Tn)),g("button",{class:"remove-photo-btn",onClick:e=>v(bi)(a)},[f(y,{name:"close-circle"})],8,Dn)]))),128))])):S("",!0)])]),g("div",Nn,[f(la,{loading:v(ri),onClick:v(ki)},{default:p(()=>[...a[58]||(a[58]=[C("Submit Update",-1)])]),_:1},8,["loading","onClick"]),g("button",{class:"cancel-btn",onClick:a[12]||(a[12]=(...e)=>v(pi)&&v(pi)(...e))},"Cancel")])])]}),_:1})]),_:1},8,["is-open","can-dismiss","onDidDismiss"]),f(v(m),{"is-open":Oi.value,onDidDismiss:a[14]||(a[14]=e=>Oi.value=!1),class:"plea-message-modal"},{default:p(()=>{var e,t;return[g("div",Fn,[g("div",jn,[a[59]||(a[59]=g("h3",null,"Message from Coordinator",-1)),g("button",{class:"close-popup-btn",onClick:a[13]||(a[13]=e=>Oi.value=!1)},[f(y,{name:"close"})])]),g("div",Mn,[g("p",zn,h(xi.value),1),(null==(t=null==(e=v(j))?void 0:e.sent_by)?void 0:t.name)?(U(),b("p",Bn,"— "+h(v(j).sent_by.name),1)):S("",!0)])])]}),_:1},8,["is-open"]),f(lt,{"is-open":v(Zi),step:v(eo),candidates:v(ao),"is-submitting":v(to),"reason-code":v(lo),comment:v(no),"selected-count":v(io),"has-selection-step":v(oo),"has-selectable-candidates":v(so),"is-all-selected":v(ro),"selection-title":v(uo),"selection-helper-text":v(co),"details-helper-text":v(vo),"selection-summary-text":v(mo),onClose:v(go),onToggleAll:v(fo),onToggleCandidate:v(ho),onContinue:v(yo),onSubmit:v(bo),"onUpdate:step":a[15]||(a[15]=e=>eo.value=e),"onUpdate:reasonCode":a[16]||(a[16]=e=>lo.value=e),"onUpdate:comment":a[17]||(a[17]=e=>no.value=e)},null,8,["is-open","step","candidates","is-submitting","reason-code","comment","selected-count","has-selection-step","has-selectable-candidates","is-all-selected","selection-title","selection-helper-text","details-helper-text","selection-summary-text","onClose","onToggleAll","onToggleCandidate","onContinue","onSubmit"]),f(ha,{"is-open":Be.value,phone:v(Re),"contact-name":v(We),instructions:v(ra),onClose:a[18]||(a[18]=e=>Be.value=!1)},null,8,["is-open","phone","contact-name","instructions"]),(U(),c(ee,{to:"ion-app"},[v(ht)?(U(),b("div",{key:0,class:"lightbox-overlay",onClick:a[24]||(a[24]=E((...e)=>v(kt)&&v(kt)(...e),["self"]))},[g("button",{class:"lightbox-close-btn",onClick:a[19]||(a[19]=(...e)=>v(kt)&&v(kt)(...e))},[f(y,{name:"close"})]),Va.value&&v(pt).length>0?(U(),b("button",{key:0,class:"lightbox-delete-btn",onClick:Dt},[f(y,{name:"trash-outline"})])):S("",!0),v(pt).length>1?(U(),b("div",Rn,h(v(yt)+1)+" / "+h(v(pt).length),1)):S("",!0),v(pt).length>1?(U(),b("button",{key:2,class:"lightbox-nav lightbox-prev",disabled:0===v(yt),onClick:a[20]||(a[20]=(...e)=>v(Ct)&&v(Ct)(...e))},[f(y,{name:"chevron-back"})],8,Wn)):S("",!0),v(pt).length>1?(U(),b("button",{key:3,class:"lightbox-nav lightbox-next",disabled:v(yt)===v(pt).length-1,onClick:a[21]||(a[21]=(...e)=>v(St)&&v(St)(...e))},[f(y,{name:"chevron-forward"})],8,Ln)):S("",!0),g("swiper-container",{ref_key:"lightboxSwiperEl",ref:bt,class:"lightbox-swiper","initial-slide":v(yt),"slides-per-view":1,"space-between":0,navigation:"false",pagination:"false",onSwiperslidechange:a[23]||(a[23]=(...e)=>v(_t)&&v(_t)(...e))},[(U(!0),b(w,null,k(v(pt),(e,t)=>(U(),b("swiper-slide",{key:t,class:"lightbox-slide"},[g("img",{src:e,alt:"Photo ".concat(t+1),class:"lightbox-image",onError:a[22]||(a[22]=(...e)=>v(At)&&v(At)(...e))},null,40,qn)]))),128))],40,Gn)])):S("",!0)])),f(va,{"is-open":v(Qn),"image-url":v(Zn),alt:"Update photo",onClose:v(ai)},null,8,["is-open","image-url","onClose"]),Va.value?(U(),c(ma,{key:0,ref_key:"namingCoachMark",ref:Ya,"feature-key":"foster-animal-rename","target-selector":".edit-name-btn",title:"Give them a real name",text:"Tap edit. Anything you want, as many times as you want.",placement:"bottom",variant:"plain","cta-label":"Name them",onDismiss:Ei},null,512)):S("",!0)]),_:1}))}}),[["__scopeId","data-v-50ab4e7e"]]);export{On 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.