1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B0wWhsKS.js","assets/index-DT3kekOa.css","assets/foster-Ce7nl-LN.js","assets/submitError-Crrxf9mD.js","assets/announcement-DRsHWvhW.js"])))=>i.map(i=>d[i]); 2import{aQ as e,w as a,aR as t,aS as s,u as n,ca as i,r as o,aV as r,aW as l,bs as c,bp as d,aX as u,bo as m,aZ as p,bn as h,c7 as v,c$ as f,bJ as g,bx as k,a_ as y,bC as b,a$ as _,e as w,b1 as A,bX as C,bm as S,B as F,bA as M,by as I,bz as P,l as T,c as D,dJ as N,e4 as R,eU as j,ck as U,bO as E,bI as O,q as x,a as z,b as q,_ as B,E as W,co as L,aU as V,D as H,d as K,eV as $,m as Y,cj as G,ci as J,cS as Q,ch as Z,cg as X,cn as ee,bL as ae,aT as te,t as se,eM as ne,b9 as ie,y as oe,s as re,cv as le,eW as ce,cu as de,e6 as ue,eX as me,eY as pe,cq as he,h as ve,eZ as fe,br as ge}from"./index-B0wWhsKS.js";import{F as ke,A as ye,g as be,u as _e}from"./AnnouncementCard-lOn3ItcC.js";import{i as we}from"./intakeSubmission-DKZKQZrE.js";import{_ as Ae,h as Ce,m as Se}from"./BaseCoachMark.vue_vue_type_style_index_0_lang-PURWAZbn.js";import{N as Fe}from"./OllieNavAction-DJZod8U5.js";import{u as Me}from"./useAnimals-kd6UKD2X.js";import{u as Ie}from"./useEnabledSpecies-CAviwisp.js";import{S as Pe,s as Te}from"./species-BbT1ueT5.js";import{a as De}from"./animal-DW7SFz_x.js";import{A as Ne}from"./AnimalIntakeModal-DRerxgW8.js";import{P as Re}from"./PButton-Cv_AbxSp.js";import{u as je}from"./useUnsavedChangesGuard-CDF4_DXy.js";import{C as Ue}from"./CoordinatorBottomNav-Dz9ifMDH.js";import{s as Ee}from"./invite-DUOY35AE.js";import{u as Oe,s as xe}from"./useInvitePhone-DXhLt9yU.js";import{I as ze}from"./InviteFostersModal-Bs4rOrrz.js";import{F as qe}from"./FallbackAvatar-BN3XXAeu.js";import{h as Be,s as We,j as Le,k as Ve,l as He}from"./date-CUw3Qvze.js";import{h as Ke}from"./healthNotes-BmCIpxDx.js";import{D as $e}from"./luxon-D8LvV7_N.js";import{b as Ye}from"./animalPhotoUtils-MhJKVcr8.js";import{f as Ge}from"./animalProfileFormat-hwAu-woM.js";import{getStaff as Je}from"./staff-BuC2DdFn.js";import{d as Qe}from"./ageDisplay-CU3MQM_i.js";import{_ as Ze}from"./logo-small-GPuerWgY.js";import"./foster-Ce7nl-LN.js";import"./submitError-Crrxf9mD.js";import"./useActiveOrganization-WSiCsbhd.js";import"./capabilities-BxxUeBCF.js";import"./staleWriteConflict-D-vL37kG.js";import"./vue3-lottie.es-DfIoDEn0.js";import"./_commonjsHelpers-CXUWDbkB.js";import"./PInput-B4D7YZGq.js";import"./phone-BfEgewkX.js";import"./PToggle-B2L4oc1A.js";import"./PToggleButton-DeP07bJV.js";import"./PPhotoUpload-DVjlqFNj.js";import"./animalMediaOptimization-D_8RNxhq.js";import"./sterilization-C-caUu-s.js";import"./billing-DyES8_lk.js";import"./orgOwnership-oah7gSJM.js";import"./AppSearchBar-DZ7aME-3.js";import"./ProSparkle-VzmKIZcT.js";import"./BasePill-rR8WIu-w.js";import"./VolunteerListItem-xvOJbhN2.js";import"./CoordinatorAvatar-Ctrsow4z.js";import"./fosterMatchUtils-CbkACqLJ.js";import"./capabilityMatching-BJpd6pIo.js";import"./fosterAvailability-DNq5ZMWb.js";import"./useSmsCreditWarning-I919dkrq.js";import"./useBillingPaywall-GatBdzL_.js";import"./pleaDraftService-BlVae5KO.js";import"./plea-Cgn7VUmQ.js";import"./fosterService-CbZu7yES.js";import"./animalStages-CJHNc6Xk.js";import"./SidePanel-BmpyyusI.js";import"./firebaseStorage-OIQM2UVN.js";import"./file-D-n4VKH6.js";import"./weightUnitPreference-DbV7dLTa.js";import"./intakeSubmission-Ez826F7k.js";import"./index-Cj1WYYju.js";import"./TransferPartnerPicker-BJo9PxCg.js";import"./bookingTime-BOL0iaBb.js";const Xe={class:"announcement-modal-content"},ea={class:"form-field"},aa={class:"form-field"},ta={class:"recipients-options"},sa={class:"radio-circle"},na={key:0,class:"radio-dot"},ia={class:"radio-circle"},oa={key:0,class:"radio-dot"},ra={class:"modal-actions"},la={key:1},ca=["disabled"],da=S(e({__name:"SendAnnouncementModal",props:{isOpen:{type:Boolean}},emits:["update:isOpen","send"],setup(e,{expose:S,emit:F}){const M=e,I=F,P=o(""),T=o("all"),D=o(!1),N=()=>{P.value="",T.value="all",D.value=!1,R.resetDirty()},R=je({enabled:w(()=>M.isOpen),isSaving:D,snapshot:()=>({message:P.value,recipientType:T.value}),onDiscard:N}),j=()=>{D.value||(N(),I("update:isOpen",!1))},U=()=>{D.value||R.requestClose(j)},E=()=>{j()}
2,O=()=>{P.value.trim()&&!D.value&&(D.value=!0,I("send",{message:P.value.trim(),recipientType:T.value}))};return a(()=>M.isOpen,async e=>{e&&(await C(),R.resetDirty())}),S({resetForm:N,setSending:e=>{D.value=e}}),(a,o)=>(A(),t(n(i),{"is-open":e.isOpen,"can-dismiss":n(R).canDismiss,onDidDismiss:E,"initial-breakpoint":1,breakpoints:[0,1]},{default:s(()=>[r(n(p),{class:"ion-no-border"},{default:s(()=>[r(n(l),null,{default:s(()=>[r(n(c),null,{default:s(()=>[...o[3]||(o[3]=[d("Send Announcement",-1)])]),_:1}),r(n(u),{slot:"end"},{default:s(()=>[r(n(m),{fill:"clear",onClick:U},{default:s(()=>[...o[4]||(o[4]=[d(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),r(n(_),null,{default:s(()=>[h("div",Xe,[h("div",ea,[o[5]||(o[5]=h("label",{class:"field-label"},"Message",-1)),v(h("textarea",{"onUpdate:modelValue":o[0]||(o[0]=e=>P.value=e),placeholder:"Type your announcement message here...",class:"message-textarea",rows:"6"},null,512),[[f,P.value]])]),h("div",aa,[o[8]||(o[8]=h("label",{class:"field-label"},"Recipients",-1)),h("div",ta,[h("div",{class:g(["recipient-option",{selected:"all"===T.value}]),onClick:o[1]||(o[1]=e=>T.value="all")},[h("div",sa,["all"===T.value?(A(),k("div",na)):y("",!0)]),o[6]||(o[6]=h("div",{class:"option-content"},[h("div",{class:"option-title"},"All Foster Volunteers"),h("div",{class:"option-description"},"Send to everyone in your organization")],-1))],2),h("div",{class:g(["recipient-option",{selected:"available"===T.value}]),onClick:o[2]||(o[2]=e=>T.value="available")},[h("div",ia,["available"===T.value?(A(),k("div",oa)):y("",!0)]),o[7]||(o[7]=h("div",{class:"option-content"},[h("div",{class:"option-title"},"Available Foster Volunteers"),h("div",{class:"option-description"},"Send only to volunteers marked as available")],-1))],2)])]),h("div",ra,[r(Re,{onClick:O,disabled:!P.value.trim()||D.value},{default:s(()=>[D.value?(A(),t(n(b),{key:0,name:"crescent",class:"button-spinner"})):(A(),k("span",la,"Send Announcement"))]),_:1},8,["disabled"]),h("button",{class:"cancel-btn",onClick:U,disabled:D.value},"Cancel",8,ca)])])]),_:1})]),_:1},8,["is-open","can-dismiss"]))}}),[["__scopeId","data-v-8a3cace8"]]),ua={class:"invite-fosters-card"},ma={class:"card-body"},pa={class:"input-section"},ha=["placeholder"],va={class:"phone-help"},fa={key:0,class:"chips"},ga={class:"value"},ka=["onClick"],ya={key:1,class:"stats"},ba={key:0,class:"invalid"},_a=["disabled"],wa=S(e({__name:"InviteFostersCard",emits:["sent"],setup(e,{emit:a}){const s=a,i=o(""),r=o(!1),{showToast:l}=F(),c=/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/i,{phoneHelp:u,placeholder:m,normalizePhone:p}=Oe(),g=w(()=>{const e=xe(i.value),a=[],t=[];for(const s of e)if(c.test(s))a.push({kind:"email",value:s});else{const e=p(s);e?a.push({kind:"phone",value:e}):t.push(s)}return{recipients:a,invalid:t}});async function _(){var e,a,t,n,o,c,d,u,m;if(g.value.recipients.length&&!g.value.invalid.length&&!r.value)try{r.value=!0;const a=g.value.recipients.map(e=>e.value),t=await Ee(a),n=(null==(e=t.invites)?void 0:e.length)||0,o=t.sent||0;o===n&&o>0?await l("Sent ".concat(o," invite").concat(1===o?"":"s"),"success"):0===o&&n>0?await l("Created ".concat(n," invite").concat(1===n?"":"s"," but delivery failed. Please try again or send an email invite instead."),"warning"):o<n?await l("Sent ".concat(o," of ").concat(n," invite").concat(1===n?"":"s",". Some invites failed to deliver. Please try again or use email."),"warning"):await l("No invites were created","danger"),s("sent",{sent:t.sent,invites:t.invites}),i.value=""}catch(p){T.error("Failed to send invites:",p),D(p,{tags:{component:"InviteFostersCard",action:"send_invites"},extra:{httpStatus:null==(a=p.response)?void 0:a.status,httpMethod:null==(t=p.config)?void 0:t.method,endpoint:null==(n=p.config)?void 0:n.url,recipientCount:g.value.recipients.length,responseData:null==(o=p.response)?void 0:o.data,errorMessage:p.message}});const e=(null==(d=null==(c=p.response)?void 0:c.data)?void 0:d.error)||(null==(m=null==(u=p.response)?void 0:u.data)?void 0:m.message)||p.message||"Failed to send invites";await l(e,"danger")}finally{r.value=!1}}return(e,a)=>(A(),k("div",ua,[a[1]||(a[1]=h("div",{class:"card-header"},[h("h3",{class:"card-title"},"Invite Foster Volunteers"),h("p",{class:"card-description"},"Invite foster volunteers to your organization")],-1)),h("div",ma,[h("div",pa,[v(h("textarea",{"onUpdate:modelValue":a[0]||(a[0]=e=>i.value=e),rows:4,class:"bulk-textarea",placeholder:n(m)},null,8,ha),[[f,i.value]]),h("p",va,M(n(u)),1)]),g.value.recipients.length?(A(),k("div",fa,[(A(!0),k(I,null,P(g.value.recipients,(e,a)=>(A(),k("div",{class:"chip",key:a},[h("span",ga,M(e.value),1),h("button",{class:"remove",onClick:e=>function(e){const a=g.value.recipients[e],t=xe(i.value),s=a.value,n=t.filter((e,a)=>{const n=c.test(e)&&e===s,i=p(e),o=i&&i===s;return a!==t.findIndex(e=>{const a=c.test(e)&&e===s,t=p(e);return a||t&&t===s})||!(n||o)});i.value=n.join(", ")}(a),"aria-label":"Remove"},"Ã",8,ka)]))),128))])):y("",!0),i.value.trim()?(A(),k("div",ya,[h("span",null,M(g.value.recipients.length)+" ready",1),g.value.invali
2d.length?(A(),k("span",ba,M(g.value.invalid.length)+" invalid â please correct before sending",1)):y("",!0)])):y("",!0),h("button",{type:"button",class:"button-sm-primary button-block send-btn",onClick:_,disabled:!g.value.recipients.length||g.value.invalid.length>0||r.value},[r.value?(A(),t(n(b),{key:0,name:"crescent"})):y("",!0),d(" "+M(r.value?"Sending...":"Send Invites"),1)],8,_a)])]))}}),[["__scopeId","data-v-0bd6f9fb"]]),Aa={key:0,class:"lazy-intake"},Ca={class:"lazy-intake__bar"},Sa={class:"lazy-intake__reveal-inner"},Fa={class:"scan-feature-card"},Ma={class:"scan-feature-card__ctrl","aria-hidden":"true"},Ia={class:"scan-feature-card__inner"},Pa={class:"scan-feature-card__preview"},Ta={class:"scan-feature-card__steps"},Da={class:"scan-feature-card__step-num"},Na={class:"scan-feature-card__step-label"},Ra={class:"scan-feature-card__scan-preview"},ja=S(e({__name:"IntakeCardScanFeature",props:{userId:{}},emits:["scan"],setup(e,{emit:a}){const t=e,s=a,n=w(()=>{var e;return"snapToFillPromo:dismissed:".concat(null!=(e=t.userId)?e:"global")}),i=o(!1);N(()=>{try{i.value="1"===localStorage.getItem(n.value)||"1"===localStorage.getItem("snapToFillPromo:dismissed:global")}catch(e){i.value=!1}});const l=o(!1),c=o(null),u=()=>{l.value=!0,x("magic intake promo expanded"),C(()=>{var e;return null==(e=c.value)?void 0:e.play().catch(()=>{})})},m=()=>{var e;null==(e=c.value)||e.play().catch(()=>{})},p=()=>{i.value=!0,x("magic intake promo dismissed");try{localStorage.setItem(n.value,"1")}catch(e){}},f=()=>{x("magic intake promo CTA clicked"),s("scan")},b=["Add a photo of the kennel card or care card","We capture name, animal ID, breed, age, source, notes","Check it, add or edit anything, give it a fun name, save"];return(e,a)=>i.value?y("",!0):(A(),k("div",Aa,[v(h("div",Ca,[h("button",{type:"button",class:"lazy-intake__bar-expand","aria-label":"Open Magic Intake",onClick:u},[...a[3]||(a[3]=[j('<span class="scan-feature-card__kicker lazy-intake__bar-kicker" data-v-962b0c80>New Feature<span class="scan-feature-card__kicker-spark" data-v-962b0c80> â¨</span></span><span class="lazy-intake__bar-title" data-v-962b0c80><span class="scan-feature-card__title-icon lazy-intake__bar-icon" aria-hidden="true" data-v-962b0c80></span><span class="lazy-intake__bar-name" data-v-962b0c80>Magic Intake</span></span>',2)])])],512),[[R,!l.value]]),h("div",{class:g(["lazy-intake__reveal",{"lazy-intake__reveal--open":l.value}])},[h("div",Sa,[h("div",Fa,[a[12]||(a[12]=h("div",{class:"scan-feature-card__wash","aria-hidden":"true"},null,-1)),h("div",{class:"scan-feature-card__controls",role:"button","aria-label":"Minimize",tabindex:"0",onClick:a[0]||(a[0]=e=>l.value=!1),onKeydown:[a[1]||(a[1]=U(e=>l.value=!1,["enter"])),a[2]||(a[2]=U(E(e=>l.value=!1,["prevent"]),["space"]))]},[h("span",Ma,[r(O,{name:"remove-outline",size:20,color:"grey-200"})])],32),h("div",Ia,[a[8]||(a[8]=h("p",{class:"scan-feature-card__kicker"},[d("New Feature"),h("span",{class:"scan-feature-card__kicker-spark"}," â¨")],-1)),h("div",Pa,[l.value?(A(),k("video",{key:0,ref_key:"videoRef",ref:c,class:"scan-feature-card__video",muted:"",loop:"",playsinline:"","webkit-playsinline":"",preload:"auto",onCanplay:m},[...a[4]||(a[4]=[h("source",{src:"/assets/animations/cats-dancing-pink-sweater.webm",type:"video/webm"},null,-1),h("source",{src:"/assets/animations/cats-dancing-pink-sweater.mp4",type:"video/mp4"},null,-1)])],544)):y("",!0)]),a[9]||(a[9]=h("div",{class:"scan-feature-card__title-row"},[h("span",{class:"scan-feature-card__title-icon","aria-hidden":"true"}),h("h3",{class:"scan-feature-card__title"},"Magic Intake")],-1)),a[10]||(a[10]=h("p",{class:"scan-feature-card__desc"},"Take a pic of the printout or upload one. We'll do the rest.",-1)),h("ul",Ta,[(A(),k(I,null,P(b,(e,a)=>h("li",{key:e,class:"scan-feature-card__step"},[h("span",Da,M(a+1),1),h("span",Na,M(e),1)])),64))]),h("div",Ra,[a[5]||(a[5]=j('<div class="scan-feature-card__mock-card" data-v-962b0c80><div class="scan-feature-card__mock-row" data-v-962b0c80><div class="scan-feature-card__mock-avatar" data-v-962b0c80></div><div class="scan-feature-card__mock-lines" data-v-962b0c80><div class="scan-feature-card__mock-line scan-feature-card__mock-line--lg" data-v-962b0c80></div><div class="scan-feature-card__mock-line scan-feature-card__mock-line--md" data-v-962b0c80></div></div></div><div class="scan-feature-card__mock-tags" data-v-962b0c80><div class="scan-feature-card__mock-line scan-feature-card__mock-line--sm" data-v-962b0c80></div><div class="scan-feature-card__mock-line scan-feature-card__mock-line--md" data-v-962b0c80></div><div class="scan-feature-card__mock-line scan-feature-card__mock-line--xs" data-v-962b0c80></div></div><div class="scan-feature-card__scan-glow" aria-hidden="true" data-v-962b0c80></div><div class="scan-feature-card__scan-line" aria-hidden="true" data-v-962b0c80></div></div>',1)),r(O,{name:"camera-outline",size:16,color:"purple-light",class:"scan-feature-card__camera"})]),a[11]||(a[11]=h("p",{class:"scan-feature-card__footnote"},"Try it out next time you intake an animal.",-1)),h("button",{type:"button",class:"scan-feature-card__cta button-pastel-outline",onClick:f},[r(O,{name:"camera-ai",size:22,color:"white"}),a[6]||(a[6]=h("span",null,"Magic Intake",-1))]),h("button",{type:"button",class:"scan-feature-card__dismiss-footer","aria-label":"Dismiss",onClick:p},[r(O,{name:"close-outline",size:14,color:"grey-100"}),a[7]||(a[7]=h("span",null,"Dismiss",-1))])])])])],2)]))}}),[["__scopeId","data-v-962b0c80"]]),{apiBaseUrl:Ua}=q,Ea=async(e=14,a=5)=>{const t=await(async()=>{const{getResilientAuthToken:e}=await B(async()=>{const{getResilientAuthToken:e}=await import("./index-B0wWhsKS.js").then(e=>e.fi);return{getResilientAuthToken:e}},__vite__mapDeps([0,1])),a=await e();return a?{Authorization:"Bearer ".concat(a)}:{}})(),s="".concat(Ua,"/activity/recent-joins?days=").concat(e,"&limit=").concat(a);return(await z.get(s,{headers:t})).data},Oa={class:"latest-activity-card"},xa={key:0,class:"activity-loading"},za={key:1,class:"activity-empty"},qa={key:2,class:"activity-list"},Ba=["onClick"],Wa={class:"activity-avatar"},La=["src","alt","onError"],Va={class:"activity-info"},Ha={class:"activity-name"},Ka={class:"activity-meta"},$a=S(e({__name:"LatestActivityFeed",setup(e){const i=V(),l=o([]),c=o(!0),d=o(new Set);a(l,()=>{d.value=new Set});const u=()=>{i.push("/fosters")},m=[{id:"1",type:"foster",name:"Sarah Mitchell",photoUrl:null,joinedAt:new Date(Date.now()-72e5).toISOString(),role:"Foster"},{id:"2",type:"foster",name:"James Rivera",photoUrl:null,joinedAt:new Date(Date.now()-648e5).toISOString(),role:"Foster"},{id:"3",type:"staff",name:"Dr. Emily Chen",photoUrl:null,joinedAt:new Date(Date.now()-1728e5).toISOString(),role:"Vet Tech"},{id:"4",type:"foster",name:"Maria Lopez",photoUrl:null,joinedAt:new Date(Date.now()-432e6).toISOString(),role:"Foster"},{id:"5",type:"staff",name:"Kevin Park",photoUrl:null,joinedAt:new Date(Date.now()-864e6).toISOString(),role:"Coordinator"}];return W(()=>{(async()=>{try{c.value=!0;const e=await Ea(14,5);l.value=e.activity||[]}catch(e){l.value=m}finally{c.value=!1}})()}),(e,a)=>(A(),k("div",Oa,[a[1]||(a[1]=h("div",{class:"activity-header"},[h("span",{class:"activity-title"},"Recently joined")],-1)),c.value?(A(),k("div",xa,[r(n(b),{name:"crescent"})])):0===l.value.length?(A(),k("div",za,[...a[0]||(a[0]=[h("p",null,"No recent activity",-1)])])):(A(),k("div",qa,[(A(!0),k(I,null,P(l.value,e=>{return A(),k("div",{key:e.id,class:g(["activity-item",{clickable:"foster"===e.type}]),onClick:a=>(e=>{"foster"===e.type&&i.push("/foster/".concat(e.id))})(e)},[h("div",Wa,[e.photoUrl&&!d.value.has(e.id)?(A(),t(n(L),{key:0},{default:s(()=>[h("img",{src:e.photoUrl,alt:e.name,onError:a=>{return t=e.id,void(d.value=new Set([...d.value,t]));var t}},null,40,La)]),_:2},1024)):(A(),t(qe,{key:1,name:e.name},null,8,["name"]))]),h("div",Va,[h("span",Ha,M(e.name),1),h("span",Ka,M(e.role)+" joined "+M((a=e.joinedAt,Be(a))),1)])],10,Ba);var a}),128)),h("div",{class:"activity-footer"},[h("span",{class:"view-all-link",onClick:u},"View all fosters")])]))]))}}),[["__scopeId","data-v-84dabb94"]]),Ya={class:"care-notes-card","aria-labelledby":"
2care-notes-title"},Ga={class:"feed-header"},Ja={key:0,class:"new-count","aria-live":"polite"},Qa={key:0,class:"feed-list","aria-label":"Loading care notes"},Za={key:1,class:"feed-state"},Xa={key:2,class:"feed-state"},et={key:3,class:"feed-list"},at=["aria-label","onClick"],tt={class:"animal-column"},st={class:"animal-heading"},nt={key:0,class:"new-dot","aria-label":"New note"},it={class:"animal-name"},ot={key:0,class:"animal-id"},rt={class:"note-column"},lt={class:"note-text"},ct={class:"note-author"},dt=["datetime"],ut={key:4,class:"feed-footer"},mt=["disabled"],pt=["disabled"],ht=S(e({__name:"CareNotesFeed",props:{refreshKey:{default:0}},setup(e,{expose:t}){const s=e,n=V(),i=H(),r=o([]),l=o(0),c=o(15),d=o(0),u=o(1),m=o(!1),p=o(!1),v=o("");let f=0,g=null,b=null;const _=w(()=>r.value.length<d.value),C=w(()=>u.value>1),S=w(()=>l.value>99?"99+":String(l.value)),F=async(e=3)=>{const a=++f;m.value=!0,v.value="";try{const t=await Ke.getCareNotesFeedPage({page:1,limit:e});if(a!==f)return;r.value=t.data,d.value=t.pagination.total,l.value=t.unseenCount,c.value=t.historyDays}catch(t){if(a!==f)return;v.value="Care notes could not be loaded.",T.error("Failed to load Staff Home care notes:",t)}finally{a===f&&(m.value=!1)}},D=async()=>{const e=Math.min(3*Math.max(1,u.value),50);await F(e)},N=async()=>{if(!p.value&&_.value){p.value=!0,v.value="";try{const e=u.value+1,a=await Ke.getCareNotesFeedPage({page:e,limit:3}),t=new Map(r.value.map(e=>[String(e.id),e]));a.data.forEach(e=>t.set(String(e.id),e)),r.value=Array.from(t.values()).sort((e,a)=>{const t=new Date(e.createdAt||e.created_at||0).getTime();return new Date(a.createdAt||a.created_at||0).getTime()-t}),u.value=e,d.value=a.pagination.total,l.value=a.unseenCount,c.value=a.historyDays}catch(e){v.value="More care notes could not be loaded.",T.error("Failed to load more Staff Home care notes:",e)}finally{p.value=!1}}},R=()=>{r.value=r.value.slice(0,3),u.value=1},j=e=>{const a=String(e).trim();return a.startsWith("#")?a:"#".concat(a)};return a(()=>s.refreshKey,(e,a)=>{e!==a&&D()}),W(()=>{F(),b=i.onDataChanged(e=>{"care-notes"===e.resource&&(g&&clearTimeout(g),g=setTimeout(()=>{g=null,D()},300))})}),K(()=>{null==b||b(),b=null,g&&(clearTimeout(g),g=null)}),t({refresh:D}),(e,a)=>(A(),k("section",Ya,[h("header",Ga,[h("div",null,[a[0]||(a[0]=h("h2",{id:"care-notes-title"},"Care Notes",-1)),h("p",null,"From foster volunteers · last "+M(c.value)+" days",1)]),l.value>0?(A(),k("span",Ja,M(S.value)+" new",1)):y("",!0)]),m.value&&0===r.value.length?(A(),k("div",Qa,[(A(),k(I,null,P(3,e=>h("div",{key:e,class:"note-row skeleton-row","aria-hidden":"true"},[...a[1]||(a[1]=[h("div",{class:"skeleton-block skeleton-animal"},null,-1),h("div",{class:"skeleton-block skeleton-note"},null,-1),h("div",{class:"skeleton-block skeleton-time"},null,-1)])])),64))])):v.value&&0===r.value.length?(A(),k("div",Za,[h("p",null,M(v.value),1),h("button",{type:"button",onClick:D},"Try again")])):0===r.value.length?(A(),k("div",Xa,[h("p",null,"No care notes in the last "+M(c.value)+" days.",1)])):(A(),k("div",et,[(A(!0),k(I,null,P(r.value,e=>{return A(),k("button",{key:e.id,type:"button",class:"note-row","aria-label":"Open ".concat(e.animal.name||"animal"," profile: ").concat(e.note_text),onClick:a=>(e=>{var a;(null==(a=e.animal)?void 0:a.id)&&n.push("/animal/".concat(e.animal.id))})(e)},[h("span",tt,[h("span",st,[e.is_new?(A(),k("span",nt)):y("",!0),h("span",it,M(e.animal.name||"Unknown"),1)]),e.animal.animal_id?(A(),k("span",ot,M(j(e.animal.animal_id)),1)):y("",!0)]),h("span",rt,[h("span",lt,M(e.note_text),1),h("span",ct,M(e.author_name||"Unknown"),1)]),h("time",{class:"note-time",datetime:e.createdAt||e.created_at},M((a=e.createdAt||e.created_at,a?Be(a):"")),9,dt)],8,at);var a}),128))])),r.value.length>0&&(_.value||C.value)?(A(),k("footer",ut,[C.value?(A(),k("button",{key:0,type:"button",class:"feed-toggle",disabled:p.value,onClick:R},"See less",8,mt)):y("",!0),_.value?(A(),k("button",{key:1,type:"button",class:"feed-toggle",disabled:p.value,onClick:N},M(p.value?"Loadingâ¦":"See more +"),9,pt)):y("",!0)])):y("",!0)]))}}),[["__scopeId","data-v-51efee01"]]),vt={key:0,class:"returns-card","aria-labelledby":"returning-soon-title"},ft={class:"returns-header"},gt={key:0,class:"returns-count","aria-label":"Animals returning soon"},kt={key:0,class:"returns-empty",role:"status"},yt={key:1,class:"return-groups"},bt=["aria-labelledby"],_t=["id"],wt={class:"return-group-count"},At={class:"returns-list"},Ct=["src"],St={class:"return-info"},Ft={class:"return-name"},Mt={class:"return-meta"},It={class:"return-timing"},Pt={key:2,class:"returns-footer"},Tt={key:0,class:"returns-preview-count"},Dt=S(e({__name:"AnimalsReturningSoon",props:{animals:{},referenceTime:{},hasError:{type:Boolean}},emits:["retry"],setup(e){const a=e,t=w(()=>$e.fromMillis(a.referenceTime).startOf("day")),i=w(()=>a.animals.filter(e=>["With_Foster","With_Gap_Foster"].includes(e.status)&&e.expected_end_date).map(e=>{const a=$e.fromISO(e.expected_end_date.slice(0,10)).startOf("day");return{animal:e,date:a,days:a.diff(t.value,"days").days}}).filter(({date:e,days:a})=>e.isValid&&a<=7).sort((e,a)=>e.days-a.days||(e.animal.name||"").localeCompare(a.animal.name||""))),o=w(()=>{const e=i.value.filter(e=>e.days<0),a=i.value.filter(e=>e.days>=0),t=Math.min(e.length,5-Math.min(a.length,3)),s=5-t;return[{key:"overdue",label:"Overdue",total:e.length,entries:e.slice(0,t)},{key:"upcoming",label:"Next 7 days",total:a.length,entries:a.slice(0,s)}].filter(e=>e.total>0)}),l=e=>{const a=e.target;a.onerror=null,a.src.endsWith("/assets/icons/paw-filled.svg")||(a.src="/assets/icons/paw-filled.svg")};return(a,c)=>e.hasError||i.value.length?(A(),k("section",vt,[h("header",ft,[c[1]||(c[1]=h("div",null,[h("h2",{id:"returning-soon-title"},"Animals returning soon"),h("p",null,"Plan upcoming returns and follow up on overdue dates.")],-1)),e.hasError?y("",!0):(A(),k("span",gt,M(i.value.length),1))]),e.hasError?(A(),k("div",kt,[c[2]||(c[2]=h("p",null,"Couldnât load expected returns.",-1)),h("button",{type:"button",class:"returns-link",onClick:c[0]||(c[0]=e=>a.$emit("retry"))},"Try again")])):(A(),k("div",yt,[(A(!0),k(I,null,P(o.value,e=>(A(),k("section",{key:e.key,"aria-labelledby":"returns-".concat(e.key),class:"return-group"},[h("h3",{id:"returns-".concat(e.key),class:g(["return-group-title",{"return-group-title--overdue":"overdue"===e.key}])},[d(M(e.label)+" ",1),h("span",wt,M(e.total),1)],10,_t),h("ul",At,[(A(!0),k(I,null,P(e.entries,e=>(A(),k("li",{key:e.animal.id},[r(n($),{to:"/animal/".concat(e.animal.id),class:"return-row"},{default:s(()=>{return[h("img",{src:n(Ye)(e.animal),alt:"",class:"return-photo",onError:l},null,40,Ct),h("span",St,[h("span",Ft,M(e.animal.name||"Unnamed animal"),1),h("span",Mt,M((s=e.animal,[null==(i=s.assignedFoster)?void 0:i.first_name,null==(o=s.assignedFoster)?void 0:o.last_name].filter(
2Boolean).join(" ")||e.animal.animal_id)),1)]),h("span",{class:g(["return-date",{"return-date--overdue":e.days<0}])},[h("span",null,M(n(Ge)(e.animal.expected_end_date,t.value)),1),h("span",It,M((a=e.days,a<0?"".concat(Math.abs(a)," ").concat(-1===a?"day":"days"," overdue"):0===a?"Today":1===a?"Tomorrow":"In ".concat(a," days"))),1)],2),r(O,{name:"chevron-forward-outline",class:"return-arrow"})];var a,s,i,o}),_:2},1032,["to"])]))),128))])],8,bt))),128))])),e.hasError?y("",!0):(A(),k("footer",Pt,[i.value.length>5?(A(),k("span",Tt,"Showing 5 of "+M(i.value.length)+" animals",1)):y("",!0),r(n($),{to:{name:"AllAnimalsPage",query:{tab:"foster-care",sort:"return-soonest"}},class:"returns-link"},{default:s(()=>[...c[3]||(c[3]=[d(" View all in foster care ",-1)])]),_:1})]))])):y("",!0)}}),[["__scopeId","data-v-5d65f878"]]),{apiBaseUrl:Nt}=q;function Rt(){const e=o([]),a=o(!1),t=o(null);return{interests:e,loading:a,error:t,fetchPendingInterests:async()=>{a.value=!0,t.value=null;try{const a=await(async()=>{const e=Y(),a=null==e?void 0:e.currentUser,{getResilientAuthToken:t}=await B(async()=>{const{getResilientAuthToken:e}=await import("./index-B0wWhsKS.js").then(e=>e.fi);return{getResilientAuthToken:e}},__vite__mapDeps([0,1])),s=a?await t():null;return s?{Authorization:"Bearer ".concat(s)}:{}})(),t=await z.get("".concat(Nt,"/coordinator/pending-interests"),{headers:a});e.value=t.data}catch(s){t.value=s,T.error("Error fetching coordinator pending interests:",s),e.value=[]}finally{a.value=!1}},getAnimalsWithInterestsCount:()=>new Set(e.value.map(e=>e.animal_id).filter(Boolean)).size,getInterestsByAnimal:()=>{const a=new Map;return e.value.forEach(e=>{e.animal_id&&(a.has(e.animal_id)||a.set(e.animal_id,[]),a.get(e.animal_id).push(e))}),a}}}const jt=["With_Foster","With_Gap_Foster"],Ut=["Adopted","Transferred","Deceased"],Et=12,Ot=e=>String((null==e?void 0:e.intake_date)||"").slice(0,10)===(new Date).toISOString().slice(0,10),xt=e=>!(e.pathway&&"foster"!==e.pathway||jt.includes(String((null==e?void 0:e.status)||""))||Ut.includes(String((null==e?void 0:e.status)||""))),zt=e=>!0===(null==e?void 0:e.urgent)&&xt(e),qt=e=>{var a;const t=new Map;for(const s of e){const e=String(null!=(a=null==s?void 0:s.id)?a:"");e&&t.set(e,s)}return Array.from(t.values())},Bt=e=>Ot(e)&&xt(e),Wt=(e,a)=>(e=e.filter(xt),"urgent"===a?e.filter(e=>zt(e)):"pending-confirmation"===a?e.filter(e=>xt(e)&&"Pending_Confirmation"===e.status):"pickup-pending"===a?e.filter(e=>xt(e)&&"Pickup_Pending"===e.status):"no-responses"===a?e.filter(e=>xt(e)&&"Awaiting_Responses"===e.status):"new-intakes"===a?e.filter(e=>Bt(e)):"needs-approval"===a?e.filter(e=>xt(e)&&"Needs_Approval"===e.status):[]),Lt=e=>e.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}),Vt=e=>{var a,t,s;const n=String((null==(a=null==e?void 0:e.assignedFoster)?void 0:a.name)||"").trim();if(n)return n;return[String((null==(t=null==e?void 0:e.assignedFoster)?void 0:t.first_name)||"").trim(),String((null==(s=null==e?void 0:e.assignedFoster)?void 0:s.last_name)||"").trim()].filter(Boolean).join(" ")},Ht=e=>{var a,t,s,n;const i=(null==(a=null==e?void 0:e.assignedFoster)?void 0:a.foster_id)||(null==(t=null==e?void 0:e.assignedFoster)?void 0:t.id)||(null==e?void 0:e.assigned_foster_id);if(null!=i&&String(i).trim())return"foster:".concat(String(i).trim());const o=(null==(s=null==e?void 0:e.assignedFoster)?void 0:s.photo_url)||(null==(n=null==e?void 0:e.assignedFoster)?void 0:n.avatar);return null!=o&&String(o).trim()?"photo:".concat(String(o).trim()):"name:".concat(Vt(e))},Kt=e({name:"HomePage",components:{AnnouncementCard:ye,FeedbackSurveyCard:ke,IonPage:te,IonContent:_,IonGrid:ae,IonButton:m,IonText:ee,IonHeader:p,IonToolbar:l,IonButtons:u,IonTitle:c,IonModal:i,IonRefresher:X,IonRefresherContent:Z,IonMenuButton:Q,IonInfiniteScroll:J,IonInfiniteScrollContent:G,NotificationBadge:Fe,AnimalIntakeModal:Ne,SendAnnouncementModal:da,CoordinatorBottomNav:Ue,InviteFostersCard:wa,InviteFostersModal:ze,IntakeCardScanFeature:ja,LatestActivityFeed:$a,CareNotesFeed:ht,AnimalsReturningSoon:Dt,FallbackAvatar:qe,Icon:O,BaseCoachMark:Ae},setup(){const{animals:e,fetchAnimals:a,error:t}=Me(),{interests:s,fetchInterests:n}=_e({status:"pending"}),{interests:i,fetchPendingInterests:o,getAnimalsWithInterestsCount:r}=Rt(),l=H(),{enabledSpecies:c,isMultiSpecies:d}=Ie();return{animals:e,animalsError:t,fetchAnimals:a,fosterInterests:s,fetchInterests:n,coordinatorInterests:i,fetchPendingInterests:o,getAnimalsWithInterestsCount:r,socket:l,enabledSpecies:c,isMultiSpecies:d}},data(){const{unreadCount:e}=he();return{feedbackSurveyEnabled:!1,feedbackCardDismissed:!0,unreadCountRef:e,fosterNamingNoticePending:!1,isLoading:!0,showIntakeModal:!1,intakeS
2ource:"home_button",showAnnouncementModal:!1,showInviteFostersModal:!1,currentUser:null,pageEnteredAt:Date.now(),fetchedGreetings:null,staffRecord:null,pleas:{},showMetricModal:!1,modalAnimals:[],modalTitle:"",modalFilter:null,modalRequestToken:0,pendingNavigationPath:null,pendingApplicationsCount:0,publicIntakeEnabled:!1,communityRequestsCount:0,communityRequestsRequestId:0,metricPickupFosterAvatarErrors:{},isMetricModalLoading:!1,visibleMetricAnimalCount:Et,summaryCounts:null,sponsorOrientationDismissed:!1,careNotesRefreshKey:0,liveDataUnsubscribe:null,liveDataRefreshTimer:null}},computed:{dashboardOrganizationId(){var e,a,t,s,n,i,o;return(null==(e=this.currentUser)?void 0:e.activeOrganizationId)||(null==(t=null==(a=this.currentUser)?void 0:a.staffProfile)?void 0:t.organization_id)||(null==(n=null==(s=this.currentUser)?void 0:s.staff)?void 0:n.organization_id)||(null==(i=this.currentUser)?void 0:i.organization_id)||(null==(o=this.currentUser)?void 0:o.organizationId)||null},FEEDBACK_SURVEY_STAFF_URL:()=>me,FEEDBACK_SURVEY_COPY:()=>pe,showFeedbackCard(){return Boolean(me)&&this.feedbackSurveyEnabled&&!this.feedbackCardDismissed},notificationCount(){var e;return Number(null!=(e=this.unreadCountRef)?e:0)},dashboardAnimals(){return qt(this.animals||[])},visibleMetricAnimals(){return this.modalAnimals.slice(0,this.visibleMetricAnimalCount)},metricAnimalSpeciesGroups(){const e=this.visibleMetricAnimals;if(!this.isMultiSpecies)return[{key:"all",showHeader:!1,label:"",animals:e}];const a=e=>"string"==typeof(null==e?void 0:e.species)?e.species.trim().toLowerCase():"",t=[];for(const i of Pe){const s=e.filter(e=>a(e)===i);s.length>0&&t.push({key:i,showHeader:!0,label:Te(i),animals:s})}const s=new Set(Pe),n=e.filter(e=>!s.has(a(e)));return n.length>0&&t.push({key:"other",showHeader:!0,label:"Other",animals:n}),t},shouldEnableMetricInfiniteScroll(){return this.modalAnimals.length>Et},isFirstTimeExperience(){return 0===this.dashboardAnimals.length},metrics(){const e=this.dashboardAnimals,a=this.pleas,t=this.urgentPlacementsCount,s=e.filter(e=>xt(e)&&"Needs_Approval"===e.status).length,n=e.filter(e=>xt(e)&&"Pending_Confirmation"===e.status).length,i=Object.values(a).filter(e=>0===e.response_count).length,o=e.filter(e=>Bt(e)).length;return[{id:1,text:"Need same-day placement: ".concat(t),filter:t>0?"urgent":void 0},{id:2,text:"Plea responses needing approval: ".concat(s),filter:s>0?"needs-approval":void 0},{id:3,text:"Pickups needing confirmation: ".concat(n),filter:n>0?"pending-confirmation":void 0},{id:4,text:"Pleas with no responses: ".concat(i),filter:i>0?"no-responses":void 0},{id:5,text:"New intakes today: ".concat(o),filter:o>0?"new-intakes":void 0}]},userFirstName(){var e,a;const t=ue({...this.currentUser||{},staffProfile:this.staffRecord||(null==(e=this.currentUser)?void 0:e.staffProfile)||(null==(a=this.currentUser)?void 0:a.staff)})||"User";return String(t).trim().split(/\s+/)[0]},currentGreeting(){const e=this.userFirstName,a=["Hi ".concat(e,", you earned slow blinks while you were offline. Nice."),"Hi ".concat(e,", another day, another litter. You love it."),"Hi ".concat(e,", slow blinks happening across the city thanks to you."),"Hi ".concat(e,", finding homes for murder mittens since day one. Still at it."),"Hi ".concat(e,", we're not kitten around. The murder mittens missed you."),"Hi ".concat(e,", \"it's a beautiful day to save lives. Let's have some fun.\"")];if(null===this.fetchedGreetings)return"";const t=this.fetchedGreetings.length?this.fetchedGreetings.map(a=>a.replace("{name}",e)):a;return t[We(t.length,new Date(this.pageEnteredAt))]},isSponsorStaff(){var e,a,t,s,n;return Boolean(!0===(null==(e=this.staffRecord)?void 0:e.is_sponsor)||!0===(null==(t=null==(a=this.currentUser)?void 0:a.staffProfile)?void 0:t.is_sponsor)||!0===(null==(n=null==(s=this.currentUser)?void 0:s.staff)?void 0:n.is_sponsor))},sponsorOrientationStorageKey(){var e,a;const t=(null==(e=this.currentUser)?void 0:e.id)||(null==(a=this.currentUser)?void 0:a.uid)||"unknown";return"pawsitive:sponsor-orientation-dismissed:".concat(t)},showSponsorOrientationBanner(){return this.isSponsorStaff&&!this.sponsorOrientationDismissed}
2,newIntakesToday(){return this.dashboardAnimals.filter(e=>Bt(e)).length},newFosterResponses(){return this.dashboardAnimals.filter(e=>xt(e)&&"Needs_Approval"===e.status).length},animalsWithPickups(){return this.dashboardAnimals.filter(e=>xt(e)&&"Pickup_Pending"===e.status).length},newApplications(){return this.pendingApplicationsCount},urgentPlacementsCount(){var e,a;const t=null==(a=null==(e=this.summaryCounts)?void 0:e.filters)?void 0:a.urgent;if("number"==typeof t)return t;return this.dashboardAnimals.filter(e=>zt(e)).length},animalsWithInterestsList(){const e=this.dashboardAnimals,a=this.coordinatorInterests||[],t=new Map;return a.forEach(e=>{e.animal_id&&(t.has(e.animal_id)||t.set(e.animal_id,[]),t.get(e.animal_id).push(e))}),Array.from(t.entries()).map(([a,t])=>{const s=e.find(e=>e.id===a.toString());return s?{...s,interestCount:t.length}:null}).filter(Boolean).sort((e,a)=>((null==a?void 0:a.interestCount)||0)-((null==e?void 0:e.interestCount)||0))},todayItems(){const e=this.dashboardAnimals,a=this.pleas,t=[],s=e.filter(e=>Bt(e)).length;t.push({id:"new-intakes",text:"".concat(s," new intake").concat(1===s?"":"s"," today"),onClick:s>0?()=>this.openFilter("new-intakes"):void 0,isClickable:s>0});const n=this.urgentPlacementsCount;t.push({id:"urgent",text:"".concat(n," animal").concat(1===n?"":"s"," need").concat(1===n?"s":""," same-day placement"),onClick:n>0?()=>this.openFilter("urgent"):void 0,isClickable:n>0});const i=Object.values(e).filter(e=>"Pickup_Pending"===e.status).length;t.push({id:"pickup-pending",text:"".concat(i," animal pickup").concat(1===i?"":"s"),onClick:i>0?()=>this.openFilter("pickup-pending"):void 0,isClickable:i>0});const o=Object.values(a).filter(e=>0===e.response_count).length;return t.push({id:"no-responses",text:"".concat(o," plea").concat(1===o?"":"s"," ha").concat(1===o?"s":"ve"," no responses"),onClick:o>0?()=>this.openFilter("no-responses"):void 0,isClickable:o>0}),t}},watch:{dashboardOrganizationId(){this.publicIntakeEnabled=!1,this.communityRequestsCount=0,this.fetchCommunityRequestsCount()}},async mounted(){this.fosterNamingNoticePending=!(await Ce("coordinator-foster-naming"));const e=ve();this.$watch(()=>e.user.value,async e=>{var a,t;if(e){this.currentUser=e,this.loadSponsorOrientationDismissal();try{const s=(null==(a=null==e?void 0:e.staffProfile)?void 0:a.id)||(null==(t=null==e?void 0:e.staff)?void 0:t.id)||(null==e?void 0:e.staff_id);if(s){const e=await Je(Number(s));e&&(this.staffRecord=e)}}catch(s){}}},{immediate:!0}),this.currentUser||await this.loadCurrentUser(),this.resolveFeedbackSurvey();be("staff").then(e=>{this.fetchedGreetings=e.map(e=>e.text)}).catch(e=>{T.error("Failed to load staff greetings:",e),this.fetchedGreetings=[]}),await this.setupLiveDataRefresh()},beforeUnmount(){this.liveDataUnsubscribe&&(this.liveDataUnsubscribe(),this.liveDataUnsubscribe=null),this.liveDataRefreshTimer&&(clearTimeout(this.liveDataRefreshTimer),this.liveDataRefreshTimer=null)},async ionViewWillEnter(){this.pageEnteredAt=Date.now(),this.careNotesRefreshKey+=1,this.resolveFeedbackSurvey(),await this.refreshDashboardData()},methods:{getAnimalPhotoWithPlaceholderFallback:Ye,async dismissNamingNotice(){this.fosterNamingNoticePending=!1,await Se("coordinator-foster-naming")},handleImageError(e){const a=e.target;a&&!a.src.includes("paw-filled.svg")&&(a.src="/assets/icons/paw-filled.svg")},handleShareFeedback(){de(me)},async dismissFeedbackCard(){this.feedbackCardDismissed=!0,await Se(fe)},async resolveFeedbackSurvey(){var e,a,t,s,n,i;if(this.feedbackCardDismissed=await Ce(fe),this.feedbackCardDismissed)return;const o=(null==(a=null==(e=this.currentUser)?void 0:e.staffProfile)?void 0:a.organization_id)||(null==(s=null==(t=this.currentUser)?void 0:t.staff)?void 0:s.organization_id)||(null==(n=this.currentUser)?void 0:n.organization_id)||(null==(i=this.currentUser)?void 0:i.organizationId);if(o)try{const e=await oe(o);this.feedbackSurveyEnabled=ce(e)}catch(r){T.error("Failed to resolve staff feedback survey flag:",r),this.feedbackSurveyEnabled=!1}},async openFeedback(){try{const e=le();if(e){const a=await e.createForm();return a.appendToDom(),void a.open()}}catch(e){T.error("Failed to open Sentry feedback form:",e)}window.location.href="mailto:[email protected]"},dismissSponsorOrientation(){this.sponsorOrientationDismissed=!0;try{window.localStorage.setItem(this.sponsorOrientationStorageKey,"true")}catch(e){T.warn("Failed to persist sponsor orientation dismissal:",e)}},loadSponsorOrientationDismissal(){try{this.sponsorOrientationDismissed="true"===window.localStorage.getItem(this.sponsorOrientationStorageKey)}catch(e){this.sponsorOrientationDismissed=!1}},async loadCurrentUser(){var e,a,t,s,n;try{this.currentUser=await re.get("currentUser"),this.loadSponsorOrientationDismissal();try{const i=(null==(a=null==(e=this.currentUser)?void 0:e.staffProfile)?void 0:a.id)||(null==(s=null==(t=this.currentUser)?void 0:t.staff)?void 0:s.id)||(null==(n=this.currentUser)?void 0:n.staff_id
2);if(i){const e=await Je(Number(i));e&&(this.staffRecord=e)}}catch(i){}}catch(o){T.error("Error loading current user:",o)}},async fetchSummaryCounts(){try{this.summaryCounts=await De.getAnimalsSummaryCounts()}catch(e){T.error("Error fetching summary counts:",e),this.summaryCounts=null}},async fetchPendingApplicationsCount(){try{const e=await B(()=>import("./foster-Ce7nl-LN.js"),__vite__mapDeps([2,0,1,3])),a=await e.default.listFosters({status:"pending"}),t=(null==a?void 0:a.fosters)||a||[];this.pendingApplicationsCount=t.length}catch(e){T.error("Error fetching pending applications count:",e),this.pendingApplicationsCount=0}},async fetchCommunityRequestsCount(){const e=++this.communityRequestsRequestId,a=this.dashboardOrganizationId;if(a)try{const t=await oe(a);if(e!==this.communityRequestsRequestId||a!==this.dashboardOrganizationId)return;if(this.publicIntakeEnabled=!0===t.publicIntakeEnabled,!this.publicIntakeEnabled)return void(this.communityRequestsCount=0);const{data:s}=await we.list();if(e!==this.communityRequestsRequestId||a!==this.dashboardOrganizationId)return;this.communityRequestsCount=s.filter(e=>"new"===e.status||"reviewing"===e.status).length}catch(t){T.error("Error fetching community requests count:",t)}},openCommunityRequests(){this.$router.push("/public-intake")},async refreshDashboardData(){this.pageEnteredAt=Date.now();try{await Promise.allSettled([this.fetchAnimals(),this.fetchSummaryCounts(),this.fetchPendingApplicationsCount(),this.fetchCommunityRequestsCount()]);try{await this.fetchInterests()}catch(e){}}finally{this.isLoading=!1}},async setupLiveDataRefresh(){var e,a,t,s,n,i,o;if(this.liveDataUnsubscribe)return;try{await this.socket.connect();const r=(null==(e=this.currentUser)?void 0:e.activeOrganizationId)||(null==(t=null==(a=this.currentUser)?void 0:a.staffProfile)?void 0:t.organization_id)||(null==(n=null==(s=this.currentUser)?void 0:s.staff)?void 0:n.organization_id)||(null==(i=this.currentUser)?void 0:i.organization_id)||(null==(o=this.currentUser)?void 0:o.organizationId);r&&this.socket.joinOrganization(r)}catch(l){T.error("Failed to prepare home live data socket:",l)}const r=new Set(["animals","plea-responses","foster-applications","bookings","public_intake_submission"]);this.liveDataUnsubscribe=this.socket.onDataChanged(e=>{r.has(e.resource)&&(this.liveDataRefreshTimer&&clearTimeout(this.liveDataRefreshTimer),this.liveDataRefreshTimer=setTimeout(()=>{this.liveDataRefreshTimer=null,this.refreshDashboardData()},500))})},async handlePullToRefresh(e){var a,t;try{await this.refreshDashboardData()}finally{null==(t=null==(a=null==e?void 0:e.target)?void 0:a.complete)||t.call(a)}},goToSettings(){this.$router.push("/home").catch(e=>{T.error("Navigation error:",e)})},goToBackgroundTheme(){this.$router.push("/coordinator/profile").catch(e=>{T.error("Navigation error:",e)})},navigateToNotifications(){this.$router.push("/notification")},async openFilter(e){if(e)if(["urgent","pending-confirmation","pickup-pending","no-responses","new-intakes","needs-approval"].includes(e)){const t={urgent:"Need same-day placement","pending-confirmation":"Animal pickups","pickup-pending":"Animal pickups","no-responses":"Pleas with no responses","new-intakes":"New intakes today","needs-approval":"Foster responses"},s="urgent"===e?this.urgentPlacementsCount:this.getAnimalsForFilter(e).length,n=this.modalRequestToken+1;this.modalRequestToken=n,this.modalTitle="".concat(t[e]," (").concat(s,")"),this.modalFilter=e,this.modalAnimals=[],this.visibleMetricAnimalCount=Et,this.isMetricModalLoading=!0,this.showMetricModal=!0;try{const a=qt(await De.getAnimals());if(this.modalRequestToken!==n||this.modalFilter!==e||!this.showMetricModal)return;const s=Wt(a,e);this.modalAnimals=s,this.visibleMetricAnimalCount=Math.min(Et,s.length),this.modalTitle="".concat(t[e]," (").concat(s.length,")")}catch(a){if(T.error("Error loading metric modal animals:",a),this.modalRequestToken!==n||this.modalFilter!==e||!this.showMetricModal)return;this.modalAnimals=this.getAnimalsForFilter(e),this.visibleMetricAnimalCount=Math.min(Et,this.modalAnimals.length)}finally{this.modalRequestToken===n&&this.modalFilter===e&&this.showMetricModal&&(this.isMetricModalLoading=!1)}}
2else ie.push({path:"/all-animals",query:{tab:"placement",filter:e}})},closeMetricModal(){if(this.modalRequestToken+=1,this.showMetricModal=!1,this.metricPickupFosterAvatarErrors={},this.isMetricModalLoading=!1,this.visibleMetricAnimalCount=Et,this.modalFilter=null,this.pendingNavigationPath){const e=this.pendingNavigationPath;this.pendingNavigationPath=null,ie.push(e)}},async handleMetricModalInfiniteScroll(e){this.visibleMetricAnimalCount=Math.min(this.visibleMetricAnimalCount+Et,this.modalAnimals.length),e.target.complete()},goToAnimalsFromModal(){const e=this.modalFilter;this.pendingNavigationPath=e?"/all-animals?tab=placement&filter=".concat(e):"/all-animals",this.showMetricModal=!1},getAnimalsForFilter(e){return Wt(this.dashboardAnimals,e)},getMockAnimalsWithResponses:()=>[{id:101,animal_id:"A101",name:"Simba",age_value:10,age_unit:"weeks",sex:"Male",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:3},{id:102,animal_id:"A102",name:"Nala",age_value:12,age_unit:"weeks",sex:"Female",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:2},{id:103,animal_id:"A103",name:"Tiger",age_value:4,age_unit:"months",sex:"Male",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:1},{id:104,animal_id:"A104",name:"Shadow",age_value:3,age_unit:"months",sex:"Male",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:4},{id:105,animal_id:"A105",name:"Mittens",age_value:8,age_unit:"weeks",sex:"Female",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:2},{id:106,animal_id:"A106",name:"Whiskers",age_value:5,age_unit:"months",sex:"Male",species:"cat",age_stage:"Juvenile",status:"Needs_Approval",photos:[],responseCount:1},{id:107,animal_id:"A107",name:"Oreo",age_value:2,age_unit:"months",sex:"Male",species:"cat",age_stage:"Socialization",status:"Needs_Approval",photos:[],health_conditions:["Chronic condition"],responseCount:2},{id:108,animal_id:"A108",name:"Patches",age_value:6,age_unit:"months",sex:"Female",species:"cat",age_stage:"Adolescent",status:"Needs_Approval",photos:[],responseCount:3}],getAnimalDisplayMeta(e){const a=[],t=Qe({estimated_dob:null==e?void 0:e.estimated_dob,age_value:null==e?void 0:e.age_value,age_unit:null==e?void 0:e.age_unit});t&&"Unknown age"!==t?a.push(t):(null==e?void 0:e.age_stage)?a.push(e.age_stage):(null==e?void 0:e.animal_type)&&a.push(e.animal_type);const s=(null==e?void 0:e.status)||(null==e?void 0:e.stage)||"Unknown",n="string"==typeof s?s.replaceAll("_"," "):s;return a.push(n),a.join(" ⢠")},getMetricAnimalPickupSummary(e){var a;if(!this.modalTitle.startsWith("Animal pickups"))return"";const t=(null==(a=null==e?void 0:e.fosterActivity)?void 0:a.pickup_time)||(null==e?void 0:e.pickup_by);return t?((e,a=new Date)=>{const t=e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return"";if(t.getTime()<a.getTime())return"Pickup time overdue · ".concat(Le(t,a));if(Math.floor((t.getTime()-a.getTime())/6e4)<60)return"Pickup in ".concat(Le(t,a));if(Ve(t,a))return"Pickup scheduled for ".concat(Lt(t));if(He(t,a))return"Pickup scheduled for tomorrow at ".concat(Lt(t));const s=t.toLocaleDateString("en-US",{...t.getFullYear()!==a.getFullYear()?{year:"numeric"}:{},month:"short",day:"numeric"});return"Pickup scheduled for ".concat(s," at ").concat(Lt(t))})(t):""},getMetricAnimalPickupFosterName(e){return this.modalTitle.startsWith("Animal pickups")?Vt(e):""},getMetricAnimalPickupFosterPhoto(e){return this.modalTitle.startsWith("Animal pickups")?(e=>{var a,t;const s=(null==(a=null==e?void 0:e.assignedFoster)?void 0:a.photo_url)||(null==(t=null==e?void 0:e.assignedFoster)?void 0:t.avatar);return null==s?"":String(s).trim()})(e):""},showMetricAnimalPickupFosterPhoto(e){const a=Ht(e);return!!this.getMetricAnimalPickupFosterPhoto(e)&&!this.metricPickupFosterAvatarErrors[a]},handleMetricAnimalPickupFosterPhotoError(e){const a=Ht(e);this.metricPickupFosterAvatarErrors={...this.metricPickupFosterAvatarErrors,[a]:!0}},getMetricAnimalPickupTone(e){var a;if(!this.modalTitle.startsWith("Animal pickups"))return"scheduled";const t=(null==(a=null==e?void 0:e.fosterActivity)?void 0:a.pickup_time)||(null==e?void 0:e.pickup_by);return t?((e,a=new Date)=>{const t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?"scheduled":t.getTime()<a.getTime()?"overdue":Math.floor((t.getTime()-a.getTime())/6e4)<60?"soon":"scheduled"})(t):"scheduled"},getMetricAnimalPickupToneIconColor(e){const a=this.getMetricAnimalPickupTone(e);return"overdue"===a?"danger":"soon"===a?"warning-100":"success"},goToAnimal(e){e&&e.id&&(this.pendingNavigationPath="/animal/".concat(e.id),this.showMetricModal=!1)},recordHomeQuickAction(e){ne({category:"ui.home-action",level:"info",message:"Home quick action: ".concat(e),data:{action:e,route:this.$route.fullPath}})},openIntakeModal(e){this.recordHomeQuickAction("new-animal-intake"),this.intakeS
2ource=e,this.showIntakeModal=!0},closeIntakeModal(){this.showIntakeModal=!1},onIntakeSuccess(){this.showIntakeModal=!1,this.fetchAnimals()},openAnnouncementAction(){this.recordHomeQuickAction("send-announcement"),this.showAnnouncementModal=!0},openInviteFosters(){this.recordHomeQuickAction("invite-fosters"),this.showInviteFostersModal=!0},async handleSendAnnouncement(e){const a=(await B(async()=>{const{default:e}=await import("./announcement-DRsHWvhW.js");return{default:e}},__vite__mapDeps([4,0,1]))).default,t=this.$refs.announcementModalRef;try{const s=await a.sendAnnouncement({message:e.message,recipientType:e.recipientType});t&&t.resetForm(),this.showAnnouncementModal=!1;const n=await se.create({message:"Announcement sent successfully to ".concat(s.recipientCount," volunteer").concat(1!==s.recipientCount?"s":"","!"),duration:3e3,position:"top",color:"success",cssClass:"app-toast",translucent:!0});await n.present()}catch(s){T.error("Failed to send announcement:",s),t&&t.setSending(!1);const e=await se.create({message:"Failed to send announcement. Please try again.",duration:3e3,position:"top",color:"danger",cssClass:"app-toast",translucent:!0});await e.present()}},onInvitesSent(){},async handleSendPlea(){try{const e=await se.create({message:"Plea sent successfully to all volunteers!",duration:2e3,position:"top",color:"success",cssClass:"app-toast",translucent:!0});await e.present()}catch(e){T.error("Error sending plea:",e);const a=await se.create({message:"Failed to send plea",duration:2e3,position:"top",color:"danger",cssClass:"app-toast",translucent:!0});await a.present()}},openNewIntakesToday(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"new-intakes"}})},openNewFosterResponses(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"needs-approval"}})},openAnimalsWithInterests(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"has-interests"}})},openNeedsPickupAssignment(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"needs-pickup-assignment"}})},openAnimalsWithPickups(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"pickup-pending"}})},openUrgentPlacements(){this.$router.push({name:"AllAnimalsPage",query:{tab:"placement",filter:"urgent"}})},openNewApplications(){this.$router.push({path:"/fosters",query:{tab:"applications"}})}}}),$t={class:"staff-home-shell"},Yt={class:"care-notes-sidebar","aria-label":"Announcements and care notes"},Gt={class:"staff-home-primary"},Jt={class:"greeting-section"},Qt={class:"intake-scan-feature-section"},Zt={key:0,class:"sponsor-orientation-banner"},Xt={class:"action-buttons-grid"},es={key:1,class:"today-section"},as={class:"activity-cards-grid"},ts={key:2,class:"first-time-section"},ss={key:3,class:"today-section"},ns={class:"staff-home-grid"},is={class:"dashboard-summary-panel"},os={class:"activity-cards-grid"},rs={class:"card-header"},ls={class:"card-number"},cs={class:"card-header"},ds={class:"card-number"},us={class:"card-header"},ms={class:"card-number"},ps={class:"card-header"},hs={class:"card-number"},vs={class:"card-header"},fs={class:"card-subtitle"},gs={class:"card-number"},ks={class:"compact-card-content"},ys={class:"compact-card-info"},bs={class:"compact-card-subtitle"},_s={class:"count-highlight"},ws={class:"feedback-section"},As={class:"metric-modal-wrapper"},Cs={class:"metric-modal-header"},Ss={class:"modal-title"},Fs={key:0,class:"metric-modal-loading"},Ms={key:1,class:"metric-modal-body"},Is={key:0,class:"metric-species-header"},Ps=["onClick"],Ts={class:"ma-avatar"},Ds=["src"],Ns={class:"ma-col"},Rs={class:"ma-name"},js={class:"ma-meta"},Us={key:0,class:"ma-pickup-stack"},Es={key:0,class:"ma-pickup-pill ma-pickup-pill--person ma-pickup-foster-btn"},Os={class:"ma-pickup-foster-avatar-wrap"},xs=["src","alt","onError"],zs={key:3,class:"metric-modal-empty"},qs={class:"metric-modal-actions single"};const Bs=S(Kt,[["render",function(e,a,n,i,o,l){const c=ge("ion-menu-button"),u=ge("ion-buttons"),m=ge("ion-title"),p=ge("Icon"),v=ge("NotificationBadge"),f=ge("ion-button"),b=ge("ion-toolbar"),_=ge("ion-header"),w=ge("ion-refresher-content"),C=ge("ion-refresher"),S=ge("AnnouncementCard"),F=ge("CareNotesFeed"),T=ge("FeedbackSurveyCard"),D=ge("ion-text"),N=ge("IntakeCardScanFeature"),R=ge("InviteFostersCard"),j=ge("AnimalsReturningSoon"),E=ge("LatestActivityFeed"),O=ge("ion-grid"),x=ge("ion-content"),z=ge("AnimalIntakeModal"),q=ge("SendAnnouncementMod
2al"),B=ge("InviteFostersModal"),W=ge("CoordinatorBottomNav"),L=ge("BaseCoachMark"),V=ge("FallbackAvatar"),H=ge("ion-infinite-scroll-content"),K=ge("ion-infinite-scroll"),$=ge("ion-modal"),Y=ge("ion-page");return A(),t(Y,null,{default:s(()=>[r(_,{class:"ion-no-border"},{default:s(()=>[r(b,null,{default:s(()=>[r(u,{slot:"start"},{default:s(()=>[r(c)]),_:1}),r(m,null,{default:s(()=>[...a[22]||(a[22]=[h("img",{src:Ze,class:"logo-small",alt:"pawsitive foster"},null,-1)])]),_:1}),r(u,{slot:"end"},{default:s(()=>[r(f,{fill:"clear",onClick:e.navigateToNotifications,class:"notification-button"},{default:s(()=>[r(p,{name:"notifications-outline"}),r(v,{count:e.notificationCount,variant:"header"},null,8,["count"])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1}),r(x,null,{default:s(()=>[r(C,{slot:"fixed",onIonRefresh:e.handlePullToRefresh},{default:s(()=>[r(w)]),_:1},8,["onIonRefresh"]),r(O,{class:"home-content"},{default:s(()=>{var n,i;return[h("div",$t,[h("aside",Yt,[e.fosterNamingNoticePending?(A(),t(S,{key:0,class:"staff-announcement-card",image:"/assets/images/character1.png",title:"Fosters can name their animals",body:"The name they use shows up on the profile, so you're both looking at the same animal.",onDismiss:e.dismissNamingNotice},null,8,["onDismiss"])):y("",!0),r(F,{"refresh-key":e.careNotesRefreshKey},null,8,["refresh-key"]),e.showFeedbackCard?(A(),t(T,{key:1,class:"staff-feedback-card","survey-url":e.FEEDBACK_SURVEY_STAFF_URL,title:e.FEEDBACK_SURVEY_COPY.staff.title,body:e.FEEDBACK_SURVEY_COPY.staff.body,onDismiss:e.dismissFeedbackCard,onOpen:e.dismissFeedbackCard},null,8,["survey-url","title","body","onDismiss","onOpen"])):y("",!0)]),h("main",Gt,[h("div",Jt,[r(D,{class:"home-greeting"},{default:s(()=>[d(M(e.currentGreeting),1)]),_:1})]),h("div",Qt,[r(N,{"user-id":String((null==(n=e.currentUser)?void 0:n.id)||(null==(i=e.currentUser)?void 0:i.uid)||""),onScan:a[0]||(a[0]=a=>e.openIntakeModal("home_magic_intake_promo"))},null,8,["user-id"])]),e.showSponsorOrientationBanner?(A(),k("div",Zt,[a[23]||(a[23]=h("span",null,"You're set up as a Sponsor. You'll see only animals you intake.",-1)),h("button",{type:"button",class:"sponsor-orientation-dismiss","aria-label":"Dismiss",onClick:a[1]||(a[1]=(...a)=>e.dismissSponsorOrientation&&e.dismissSponsorOrientation(...a))},"Dismiss")])):y("",!0),h("div",Xt,[h("div",{"data-testid":"home-action-new-intake",class:"action-pill-button button-pastel-outline",onClick:a[2]||(a[2]=a=>e.openIntakeModal("home_button"))}," New animal intake "),h("div",{"data-testid":"home-action-invite-fosters",class:"action-pill-button button-pastel-outline",onClick:a[3]||(a[3]=(...a)=>e.openInviteFosters&&e.openInviteFosters(...a))}," Invite a vetted foster "),h("div",{"data-testid":"home-action-send-announcement",class:"action-pill-button button-pastel-outline",onClick:a[4]||(a[4]=(...a)=>e.openAnnouncementAction&&e.openAnnouncementAction(...a))}," Send announcement ")]),e.isLoading?(A(),k("div",es,[h("div",as,[(A(),k(I,null,P(4,e=>h("div",{key:e,class:"activity-card skeleton-card"})),64))])])):e.isFirstTimeExperience?(A(),k("div",ts,[r(R,{onSent:e.onInvitesSent},null,8,["onSent"])])):y("",!0),e.isLoading||e.isFirstTimeExperience&&!e.publicIntakeEnabled?y("",!0):(A(),k("div",ss,[r(D,{class:"today-heading"},{default:s(()=>[...a[24]||(a[24]=[d("Here's what's happening today:",-1)])]),_:1}),h("div",ns,[h("div",is,[h("div",os,[h("div",{class:"activity-card",role:"button",tabindex:"0",onClick:a[5]||(a[5]=(...a)=>e.openNewIntakesToday&&e.openNewIntakesToday(...a)),onKeydown:a[6]||(a[6]=U((...a)=>e.openNewIntakesToday&&e.openNewIntakesToday(...a),["enter"]))},[h("div",rs,[a[25]||(a[25]=h("span",{class:"card-title"},"New intakes",-1)),r(p,{name:"arrow-forward-outline",class:"card-arrow"})]),a[26]||(a[26]=h("div",{class:"card-subtitle"},"Send a plea",-1)),h("div",ls,M(e.newIntakesToday),1)],32),h("div",{class:"activity-card",role:"button",tabindex:"0",onClick:a[7]||(a[7]=(...a)=>e.openAnimalsWithPickups&&e.openAnimalsWithPickups(...a)),onKeydown:a[8]||(a[8]=U((...a)=>e.openAnimalsWithPickups&&e.openAnimalsWithPickups(...a),["enter"]))},[h("div",cs,[a[27]||(a[27]=h("span",{class:"card-title"},"Animal pickups",-1)),r(p,{name:"arrow-forward-outline",class:"card-arrow"})]),a[28]||(a[28]=h("div",{class:"card-subtitle"},"Time to prep",-1)),h("div",ds,M(e.animalsWithPickups),1)],32),h("div",{class:"activity-card",role:"button",tabindex:"0",onClick:a[9]||(a[9]=(...a)=>e.openNewFosterResponses&&e.openNewFosterResponses(...a)),onKeydown:a[10]||(a[10]=U((...a)=>e.openNewFosterResponses&&e.openNewFosterResponses(...a),["enter"]))},[h("div",us,[a[29]||(a[29]=h("span",{class:"card-title"},"Foster responses",-1)),r(p,{name:"arrow-forward-outline",class:"card-arrow"})]),a[30]||(a[30]=h("div",{class:"card-subtitle"},"Assign animals",-1)),h("div",ms,M(e.newFosterResponses),1)],32),h("div",{class:"activity-card",role:"button",tabindex:"0",onClick:a[11]||(a[11]=(...a)=>e.openUrgentPlacements&&e.openUrgentPlacements(...a)),onKeydown:a[12]||(a[12]=U((...a)=>e.openUrgentPlacements&&e.openUrgentPlacements(...a),["enter"]))},[h("div",ps,[a[31]||(a[31]=h("span",{class:"card-title"},"Urgent placements",-1)),r(p,{name:"arrow-forward-outline",class:"card-arrow"})]),a[32]||(a[32]=h("div",{class:"card-subtitle"},"Needs immediate placement",-1)),h("div",hs,M(e.urgentPlacementsCount),1)],32),e.publicIntakeEnabled?(A(),k("div",{key:0,class:"activity-card",role:"button",tabindex:"0",onClick:a[13]||(a[13]=(...a)=>e.openCommunityRequests&&e.openCommunityRequests(...a)),onKeydown:a[14]||(a[14]=U((...a)=>e.openCommunityRequests&&e.openCommunityRequests(...a),["enter"]))},[h("div",vs,[a[33]||(a[33]=h("span",{class:"card-title"},"Community requests",-1)),r(p,{name:"arrow-forward-outline",class:"card-arrow"})]),h("div",fs,M(e.communityRequestsCount>0?"Review submissions":"No submissions yet"),1),h("div",gs,M(e.communityRequestsCount),1)],32)):y("",!0)]),e.newApplications>0?(A(),k("div",{key:0,class:"compact-applications-card",onClick:a[15]||(a[15]=(...a)=>e.openNewApplications&&e.openNewApplications(...a))},[h("div",ks,[h("div",ys,[a[35]||(a[35]=h("span",{class:"compact-card-title"},"New Foster Applications",-1)),h("span",bs,[h("span",_s,M(e.newApplications),1),a[34]||(a[34]=d(" pending review",-1))])]),r(p,{name:"arrow-forward-outline",class:"compact-card-arrow"})])])):y("",!0)]),r(j,{class:"returning-soon-panel",animals:e.dashboardA
2nimals,"reference-time":e.pageEnteredAt,"has-error":Boolean(e.animalsError),onRetry:e.refreshDashboardData},null,8,["animals","reference-time","has-error","onRetry"]),r(E,{class:"latest-activity-panel"})]),h("div",ws,[e.FEEDBACK_SURVEY_STAFF_URL?(A(),k("button",{key:0,class:"feedback-link",onClick:a[16]||(a[16]=(...a)=>e.handleShareFeedback&&e.handleShareFeedback(...a))},[...a[36]||(a[36]=[h("span",null,"Share feedback",-1)])])):y("",!0),h("button",{class:"feedback-link",onClick:a[17]||(a[17]=(...a)=>e.openFeedback&&e.openFeedback(...a))},[...a[37]||(a[37]=[h("span",null,"Report a bug",-1)])])])]))])])]}),_:1})]),_:1}),e.showIntakeModal?(A(),t(z,{key:0,"is-open":!0,source:e.intakeSource,onClose:e.closeIntakeModal,onSuccess:e.onIntakeSuccess},null,8,["source","onClose","onSuccess"])):y("",!0),e.showAnnouncementModal?(A(),t(q,{key:1,"is-open":!0,"onUpdate:isOpen":a[18]||(a[18]=a=>e.showAnnouncementModal=a),onSend:e.handleSendAnnouncement,ref:"announcementModalRef"},null,8,["onSend"])):y("",!0),e.showInviteFostersModal?(A(),t(B,{key:2,"is-open":!0,"onUpdate:isOpen":a[19]||(a[19]=a=>e.showInviteFostersModal=a),onSent:e.onInvitesSent},null,8,["onSent"])):y("",!0),r(W),r(L,{"feature-key":"coordinator-background-theme-home","target-selector":"ion-menu-button",title:"Make it your own",text:"Give your app a splash of color.",placement:"bottom",variant:"spotlight","cta-label":"Do it","dismiss-label":"Dismiss",onDismiss:e.goToBackgroundTheme},null,8,["onDismiss"]),a[40]||(a[40]=h("div",{class:"home-indicator"},null,-1)),r($,{"is-open":e.showMetricModal,onDidDismiss:e.closeMetricModal,class:"metric-modal"},{default:s(()=>[h("div",As,[h("div",Cs,[h("h3",Ss,M(e.modalTitle),1),h("button",{class:"icon-close-btn",onClick:a[20]||(a[20]=(...a)=>e.closeMetricModal&&e.closeMetricModal(...a)),"aria-label":"Close modal"},[...a[38]||(a[38]=[h("span",{"aria-hidden":"true"},"Ã",-1)])])]),r(x,{class:"metric-modal-content"},{default:s(()=>[e.isMetricModalLoading?(A(),k("div",Fs,"Loading animals...")):y("",!0),e.visibleMetricAnimals.length?(A(),k("div",Ms,[(A(!0),k(I,null,P(e.metricAnimalSpeciesGroups,s=>(A(),k(I,{key:s.key},[s.showHeader?(A(),k("div",Is,M(s.label)+" ("+M(s.animals.length)+")",1)):y("",!0),(A(!0),k(I,null,P(s.animals,s=>(A(),k("div",{key:s.id,class:"metric-animal-row",onClick:a=>e.goToAnimal(s),role:"button",tabindex:"0"},[h("div",Ts,[h("img",{src:e.getAnimalPhotoWithPlaceholderFallback(s),alt:"animal photo",class:"animal-photo",onError:a[21]||(a[21]=(...a)=>e.handleImageError&&e.handleImageError(...a))},null,40,Ds)]),h("div",Ns,[h("div",Rs,M(s.name||"Unknown"),1),h("div",js,M(e.getAnimalDisplayMeta(s)),1),e.getMetricAnimalPickupSummary(s)?(A(),k("div",Us,[h("div",{class:g(["ma-pickup-pill","ma-pickup-pill--time","ma-pickup-pill--".concat(e.getMetricAnimalPickupTone(s))])},[r(p,{name:"time-outline",size:"sm",color:e.getMetricAnimalPickupToneIconColor(s),class:"ma-pickup-icon"},null,8,["color"]),h("span",null,M(e.getMetricAnimalPickupSummary(s)),1)],2),e.getMetricAnimalPickupFosterName(s)?(A(),k("div",Es,[h("span",Os,[e.showMetricAnimalPickupFosterPhoto(s)?(A(),k("img",{key:0,src:e.getMetricAnimalPickupFosterPhoto(s),alt:"".concat(e.getMetricAnimalPickupFosterName(s)," avatar"),class:"ma-pickup-foster-avatar",onError:a=>e.handleMetricAnimalPickupFosterPhotoError(s)},null,40,xs)):(A(),t(V,{key:1,class:"ma-pickup-foster-avatar ma-pickup-foster-fallback",name:e.getMetricAnimalPickupFosterName(s)},null,8,["name"]))]),h("span",null,M(e.getMetricAnimalPickupFosterName(s))+" picking up",1)])):y("",!0)])):y("",!0)]),r(p,{name:"arrow-forward-outline",class:"ma-arrow"})],8,Ps))),128))],64))),128))])):y("",!0),e.shouldEnableMetricInfiniteScroll?(A(),t(K,{key:2,threshold:"120px",disabled:e.visibleMetricAnimals.length>=e.modalAnimals.length,onIonInfinite:e.handleMetricModalInfiniteScroll},{default:s(()=>[r(H,{"loading-spinner":"bubbles","loading-text":"Loading more animals..."})]),_:1},8,["disabled","onIonInfinite"])):y("",!0),e.isMetricModalLoading||e.visibleMetricAnimals.length?y("",!0):(A(),k("div",zs,"No animals found."))]),_:1}),h("div",qs,[r(f,{size:"small",class:"button-sm-primary view-all-animals",onClick:e.goToAnimalsFromModal},{default:s(()=>[...a[39]||(a[39]=[d("View in All Animals",-1)])]),_:1},8,["onClick"])])])]),_:1}
2,8,["is-open","onDidDismiss"])]),_:1})}],["__scopeId","data-v-2fc6d7fe"]]);export{Bs 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.