PageSourceSearch

https://app.pawsitivefoster.com/assets/VerificationDashboard-Bcc1GSNM.js

js pawsitivefoster.com collected 2026-10-02 01:41:16 UTC 53,556 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B0wWhsKS.js","assets/index-DT3kekOa.css"])))=>i.map(i=>d[i]);
2var e=Object.defineProperty;import{aQ as a,bx as l,by as t,bz as n,aR as i,b1 as s,bm as o,b as r,_ as c,a as u,l as d,B as v,r as m,E as p,aS as g,u as f,aT as h,h as y,aV as w,aW as b,bs as k,bp as C,aX as x,bo as _,bI as z,aZ as V,bn as A,bJ as S,bA as U,a_ as D,bO as E,bC as N,dK as P,cW as j,bQ as I,ca as R,a$ as T,bw as q,ec as O,bu as F,bv as M,cX as L,ci as B,cj as H,d5 as W,e as Y,bN as X,bX as J,ct as G}from"./index-B0wWhsKS.js";import{l as Q,u as K,a as Z,b as $,c as ee,s as ae,d as le}from"./organizationVerificationCode-B-ljk9uy.js";import{t as te}from"./safeUrl-CJAzb0IZ.js";import{P as ne}from"./PInput-B4D7YZGq.js";import{A as ie}from"./AppSearchBar-DZ7aME-3.js";import{P as se}from"./PToggleButton-DeP07bJV.js";import"./phone-BfEgewkX.js";const oe={class:"toggle-group"},re=a({__name:"PToggleGroup",props:{options:{},modelValue:{},showClear:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{emit:a}){const o=a,r=e=>{o("update:modelValue",e)},c=()=>{o("update:modelValue","")};return(a,o)=>(s(),l("div",oe,[(s(!0),l(t,null,n(e.options,a=>(s(),i(se,{key:a.value,label:a.label,value:a.value,"model-value":e.modelValue,"show-clear":e.showClear,"onUpdate:modelValue":r,onClear:c},null,8,["label","value","model-value","show-clear"]))),128))]))}}),ce=o(re,[["__scopeId","data-v-a79ab2d5"]]);class ue{static async getAuthHeaders(){const{getResilientAuthToken:e}=await c(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)}:{}}static async searchDuplicates(e){try{const a=await this.getAuthHeaders();return(await u.post("".concat(this.baseUrl,"/search-duplicates"),e,{headers:a})).data.matches||[]}catch(a){return d.error("Error searching for duplicates:",a),[]}}}var de,ve,me;de=ue,ve="baseUrl",me="".concat(r.apiBaseUrl,"/organizations"),((a,l,t)=>{l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t})(de,"symbol"!=typeof ve?ve+"":ve,me);const pe={class:"dashboard-container"},ge={class:"stats-link-section"},fe={class:"main-tabs-section"},he={class:"main-tabs"},ye={key:0,class:"tab-count"},we={key:0,class:"tab-content"},be={class:"codes-filters"},ke={class:"codes-search"},Ce={key:0,class:"hidden-codes-bar"},xe={class:"codes-list"},_e={class:"code-header"},ze={class:"code-info"},Ve={key:0,class:"org-code-tag"},Ae={class:"code-value"},Se={class:"code-status"},Ue={key:0,class:"status-badge inactive"},De={key:1,class:"status-badge expired"},Ee={key:2,class:"status-badge used-up"},Ne={key:3,class:"status-badge active"},Pe={class:"code-details"},je={class:"detail-row"},Ie={key:0,class:"detail-row"},Re={key:0,class:"plan-tag"},Te={key:1,class:"detail-row"},qe={key:2,class:"detail-row"},Oe={class:"detail-row"},Fe={class:"detail-row"},Me={class:"detail-row"},Le={class:"detail-row"},Be={key:3,class:"detail-row"},He={key:4,class:"detail-row"},We={class:"code-actions"},Ye={key:1,class:"tab-content"},Xe={class:"requests-list",style:{"margin-bottom":"24px"}},Je={class:"request-header"},Ge={class:"request-info"},Qe={class:"org-type"},Ke={class:"request-status"},Ze={class:"request-timing"},$e={class:"request-date"},ea={class:"request-details"},aa={key:0,class:"detail-row"},la=["href"],ta={key:1},na={class:"detail-row"},ia={key:1,class:"detail-row"},sa={key:2,class:"detail-row"},oa={class:"description"},ra={key:0,class:"rejection-info"},ca={class:"rejection-header"},ua={class:"rejection-notes"},da={key:0,class:"rejection-date"},va={key:1,class:"request-actions"},ma={class:"actions-left"},pa={class:"actions-right"},ga={key:2,class:"request-actions"},fa={class:"actions-right"},ha={key:1,class:"empty-state"},ya={key:2,class:"tab-content"},wa={key:0,class:"success-card",ref:"successCard"},ba={class:"success-header"},ka={class:"code-display"},Ca={class:"code-info"},xa={class:"code-value-section"},_a={class:"code-copy-container"},za={class:"code-value"},Va={class:"success-next-steps"},Aa={class:"success-actions"},Sa={class:"form-group"},Ua={key:1},Da={key:0,class:"duplicates-section",style:{"margin-bottom":"20px"}},Ea={class:"duplicates-header"},Na={class:"duplicates-message"},Pa={class:"duplicates-list"},ja=["onClick"],Ia={class:"duplicate-header"},Ra={class:"duplicate-info"},Ta={class:"duplicate-claimed-status"},qa={key:0,class:"status-badge claimed"},Oa={key:1,class:"status-badge unclaimed"},Fa={class:"duplicate-details"},Ma={key:0,class:"detail-row"},La=["href"],Ba={key:1},Ha={key:1,class:"detail-row"},Wa={key:2,class:"detail-row"},Ya={class:"detail-row"},Xa={class:"matched-fields"},Ja={key:0,class:"selected-indicator"},Ga={class:"duplicates-actions"},Qa={key:1,class:"help-text",style:{color:"var(--color-text)","font-size":"14px"}},Ka={key:2,class:"help-text",style:{color:"var(--color-success)","font-weight":"500"}},Za={key:1,class:"no-duplicates-message"},$a={class:"form-group"},el={key:0,class:"error-text"},al={class:"form-group"},ll={class:"form-group"},tl={key:0,class:"error-text"},nl={key:1,class:"warning-text"},il={class:"form-group"},sl={class:"form-group"},ol={class:"toggle-field"},rl={class:"form-group"},cl={class:"form-group"},ul={class:"form-actions"},dl={key:1},vl={class:"email-modal-content"},ml={class:"email-preview-section"},pl={class:"email-preview"},gl={class:"email-header"},fl={class:"email-field"},hl={class:"email-field"},yl=["innerHTML"],wl={class:"email-edit-section"},bl={class:"form-group"},kl={class:"form-group"},Cl={class:"email-actions"},xl={class:"modal-content"},_l={key:0,class:"duplicate-checking"},zl={key:1,class:"duplicates-section"},Vl={class:"duplicates-header"},Al={class:"duplicates-message"},Sl={class:"duplicates-list"},Ul=["onClick"],Dl={class:"duplicate-header"},El={class:"duplicate-info"},Nl={class:"duplicate-claimed-status"},Pl={key:0,class:"status-badge claimed"},jl={key:1,class:"status-badge unclaimed"},Il={class:"duplicate-details"},Rl={key:0,class:"detail-row"},Tl=["href"],ql={key:1},Ol={key:1,class:"detail-row"},Fl={key:2,class:"detail-row"},Ml={class:"detail-row"},Ll={class:"matched-fields"},Bl={key:0,class:"selected-indicator"},Hl={class:"duplicates-actions"},Wl={key:1,class:"help-text"},Yl={class:"form-section"},Xl={class:"form-group"},Jl={key:0,class:"error-text"},Gl={class:"form-group"},Ql={key:0,class:"error-text"},Kl={key:1,class:"warning-text"},Zl={class:"form-section"},$l={class:"form-group"},et={class:"form-group"},at={class:"form-group"},lt={class:"toggle-field"},tt={class:"form-section"},nt={class:"form-group"},it={class:"modal-actions"},st={key:1},ot={key:0,class:"rejection-form"},rt={class:"org-details"},ct={key:0},ut={class:"rejection-reasons"},dt={class:"additional-notes"},vt={key:0,class:"email-preview"},mt={class:"preview-content"},pt={class:"email-body"},gt={key:0,class:"admin-notes"},ft={class:"modal-buttons"},ht={key:1},yt={class:"modal-content"},wt={class:"current-usage"},bt={class:"form-group"},kt={class:"help-text"},Ct={class:"modal-actions"},xt={key:1},_t={class:"stats-modal-content"},zt={class:"stats-grid"},Vt={class:"stat-card"},At={class:"stat-card"},St={class:"stat-card"},Ut={class:"stat-card"},Dt={class:"stat-card"},Et={class:"footer-actions"},Nt="admin-verification-hidden-codes",Pt=o(a({__name:"VerificationDashboard",setup(e){const{showToast:a}=v(),{signOut:o}=G(),r=m("pending-accounts"),u=m([]),se=m([]),oe=m(""),re=m("all"),de=m(!1),ve=m(!1),me=m(!0),Pt=m(0),jt=m(!1),It=m((()=>{try{const e=localStorage.getItem(Nt);if(!e)return new Set;const a=JSON.parse(e);return new Set(Array.isArray(a)?a.map(String):[])}catch(e){return new Set}})()),Rt=()=>{localStorage.setItem(Nt,JSON.stringify(Array.from(It.value)))},Tt=()=>{It.value=new Set,Rt()},qt=m([]),Ot=m(!1),Ft=Y(()=>[{label:"All (".concat(se.value.length,")"),value:"all"},{label:"Active (".concat(Cn.value.activeCodes,")"),value:"active"},{label:"Expired (".concat(se.value.filter(e=>e.expiresAt&&new Date(e.expiresAt)<=new Date).length,")"),value:"expired"}]),Mt=m(!1),Lt=m(null),Bt=m(!1),Ht=m({domain:"",contactEmail:"",maxUses:10,notes:"",unlimitedSeats:!1}),Wt=Y(()=>{const e=Ht.value.domain.trim();return e?e.includes("@")?'Domain should not include @ symbol (e.g. "example.com" not "@example.com")':e.includes("..")?"Domain format is invali
2d":e.includes(".")?"":'Domain should include extension (e.g. ".com", ".org")':"Domain is required"}),Yt=Y(()=>{const e=Ht.value.contactEmail.trim();return e?e.includes("@")?"":"Please enter a valid email address":"Contact email is required"}),Xt=Y(()=>{const e=Ht.value.contactEmail.trim(),a=Ht.value.domain.trim();if(a&&e.includes("@")){const l=e.split("@")[1];if(l!==a)return"Note: Contact email domain (@".concat(l,") differs from organization domain (@").concat(a,").")}return""}),Jt=Y(()=>{const e=kn.value.domain.trim();return e?e.includes("@")?'Domain should not include @ symbol (e.g. "example.com" not "@example.com")':e.includes("..")?"Domain format is invalid":e.includes(".")?"":'Domain should include extension (e.g. ".com", ".org")':""}),Gt=Y(()=>{const e=kn.value.contactEmail.trim();return e?e.includes("@")?"":"Please enter a valid email address":""}),Qt=Y(()=>{const e=kn.value.contactEmail.trim(),a=kn.value.domain.trim();if(a&&e.includes("@")){const l=e.split("@")[1];if(l!==a)return"Note: Contact email domain (@".concat(l,") differs from organization domain (@").concat(a,").")}return""}),Kt=Y(()=>{var e,a;const l=null!=(a=null==(e=ln.value)?void 0:e.usedCount)?a:0;return tn.value>0&&tn.value>=l}),Zt=m(!1),$t=m(null),en=m(!1),an=m(!1),ln=m(null),tn=m(0),nn=m(!1),sn=m(!1),on=m(null),rn=m(""),cn=m(""),un=m(!1),dn=m([]),vn=m(!1),mn=m(!1),pn=m(null),gn=[{category:"unclear_organization_type",title:"Organization Type Unclear",description:"The organization type selected does not match the provided information or needs clarification.",suggestions:["Please ensure your organization type selection accurately reflects your operations",'If you selected "Other", provide more specific details about your organization type',"Review the organization type options and select the most appropriate category"]},{category:"website_issues",title:"Website Verification Issues",description:"Unable to verify your organization through the provided website.",suggestions:["Ensure your website URL is correct and accessible","Add clear information about your animal rescue/foster operations on your website","Include contact information that matches your application"]},{category:"insufficient_information",title:"Insufficient Organization Information",description:"Additional information is needed to verify your organization's legitimacy.",suggestions:["Provide more details about your organization's mission and activities","Include information about your animal rescue/foster history","Add references or partnerships with other animal welfare organizations"]},{category:"nonprofit_verification",title:"501(c)(3) Verification Required",description:"For nonprofit organizations, we need to verify your 501(c)(3) status.",suggestions:["Provide your complete EIN/Tax ID number","Submit documentation proving your 501(c)(3) status","Ensure your nonprofit status is current and active"]},{category:"contact_verification",title:"Contact Information Verification",description:"Unable to verify the provided contact information.",suggestions:["Ensure your email domain matches your organization","Provide a phone number where we can reach your organization","Use a professional email address associated with your organization"]},{category:"inactive_organization",title:"Organization Appears Inactive",description:"Your organization appears to be inactive or we cannot find recent activity.",suggestions:["Provide evidence of recent animal rescue/foster activities","Update your website with current information","Submit references from recent foster families or partner organizations"]}],fn=Y(()=>gn.find(e=>e.category===rn.value)),hn=m({subject:"Your organization is verified. Let's get you set up.",message:"Glad you're here!\n\nSince you're just getting started, here are the three steps that show the whole loop end to end:\n\n1) Add an animal.\n2) Invite a vetted foster. This can be you on a second email (and separate device), so you can watch both sides of the experience.\n3) Add an animal pickup booking slot to your schedule.\n\nFrom there you can send a plea, approve the interest your foster shows, and walk through the self-serve booking flow yourself. Your fosters can also add care notes, photos, and weight updates on their animals, so coordinators always know how each one is doing without chasing anyone down.\n\nIf you're open to it, I'd love to jump on a quick call to hear how your program runs and what would make your life easier. Your feedback is exactly how I keep building this into the best foster softw
2are out there. Just reply with a few times that work in your timezone.\n\nAnything trips you up, just reply. It'll reach a real human.\n\nGlad to have you here.\n\nLissette\nFounder, Pawsitive Foster\n\nOpen your workspace: https://app.pawsitivefoster.com"}),yn=m(!1),wn=m(null),bn=m(!1),kn=m({orgName:"",domain:"",contactPerson:"",contactEmail:"",maxUses:"10",expiresAt:new Date(Date.now()+7776e6).toISOString().split("T")[0],notes:"",unlimitedSeats:!1}),Cn=Y(()=>{const e=new Date,a=new Date;a.setDate(1);const l=new Date(e.getTime()+2592e6);return{pendingOrgs:u.value.filter(e=>"pending"===e.status||"needs_more_info"===e.status).length,activeCodes:se.value.filter(a=>{var l;const t=!a.expiresAt||new Date(a.expiresAt)>e,n=!a.maxUses||(null!=(l=a.usedCount)?l:0)<a.maxUses;return!1!==a.active&&t&&n}).length,expiringSoon:se.value.filter(a=>{var t,n;return a.active&&a.expiresAt&&new Date(a.expiresAt)>e&&new Date(a.expiresAt)<=l&&(null!=(t=a.usedCount)?t:0)<(null!=(n=a.maxUses)?n:0)}).length,thisMonth:se.value.filter(e=>e.createdAt&&new Date(e.createdAt)>=a).length,pendingSeatRequests:qt.value.filter(e=>"pending"===e.status).length}}),xn=Y(()=>{let e=se.value.filter(e=>!It.value.has(String(e.id)));if(oe.value){const a=oe.value.toLowerCase();e=e.filter(e=>[e.orgNameLive,e.orgCodeLive,e.orgName,e.code,e.domain].some(e=>(e||"").toLowerCase().includes(a)))}if("all"!==re.value){const a=new Date;e=e.filter(e=>{var l;switch(re.value){case"active":{const t=!e.expiresAt||new Date(e.expiresAt)>a,n=!e.maxUses||(null!=(l=e.usedCount)?l:0)<e.maxUses;return!1!==e.active&&t&&n}case"expired":return!!e.expiresAt&&new Date(e.expiresAt)<=a;default:return!0}})}return e.sort((e,a)=>{const l=new Date(a.createdAt||0).getTime()-new Date(e.createdAt||0).getTime();return 0!==l?l:String(a.id||"").localeCompare(String(e.id||""))})}),_n=Y(()=>{var e;if(!$t.value)return"";let a=hn.value.message;return a=a.replace(/\{\{orgName\}\}/g,$t.value.orgName||""),a=a.replace(/\{\{contactPerson\}\}/g,$t.value.contactPerson||""),a=a.replace(/\{\{verificationCode\}\}/g,$t.value.code||""),a=a.replace(/\{\{maxUses\}\}/g,(null==(e=$t.value.maxUses)?void 0:e.toString())||""),a.replace(/\n/g,"<br>")}),zn=(e,a)=>{const l=new Map;for(const t of e)l.set(String(t.id),t);for(const t of a)l.set(String(t.id),t);return Array.from(l.values())},Vn=async({reset:e=!1}={})=>{if(!jt.value&&(e||me.value))try{jt.value=!0,e?(de.value=!0,Pt.value=0,me.value=!0,se.value=[],u.value=[]):ve.value=!0;const a=e?1:Pt.value+1,l=await Q({page:a,limit:25}),t=l.data||[],n=t.filter(e=>"approved"===e.status),i=t.filter(e=>{const a=e.status||"pending";return"pending"===a||"rejected"===a||"needs_more_info"===a});se.value=zn(se.value,n).sort((e,a)=>{const l=new Date(a.createdAt||0).getTime()-new Date(e.createdAt||0).getTime();return 0!==l?l:String(a.id||"").localeCompare(String(e.id||""))}),u.value=zn(u.value,i).sort((e,a)=>{const l=new Date(a.createdAt||0).getTime()-new Date(e.createdAt||0).getTime();return 0!==l?l:String(a.id||"").localeCompare(String(e.id||""))}),Pt.value=l.pagination.page,me.value=l.pagination.hasNext}finally{jt.value=!1,de.value=!1,ve.value=!1}},An=async()=>{try{await Vn({reset:!0}),await(async()=>{try{const{seatRequestController:e}=await c(async()=>{const{seatRequestController:e}=await import("./seatRequest-C7D0XxH4.js");return{seatRequestController:e}},[]),a=await e.getAllSeatRequests();qt.value=a}catch(e){d.error("Failed to load seat requests:",e),qt.value=[]}})(),await a("Data refreshed","success")}catch(e){await a("Failed to refresh data","danger")}},Sn=async e=>{try{await Vn()}finally{e.target.complete()}},Un=async()=>{await o()},Dn=e=>new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric"}).format(new Date(e)),En=e=>new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(new Date(e)),Nn=e=>"rejected"===e.status?"Rejected":"needs_more_info"===e.status?"Needs More Info":"Pending",Pn=e=>{const a=new Date(e),l=new Date(a.getTime()+864e5),t=new Date,n=l.getTime()-t.getTime();if(n<=0)return{text:"OVERDUE",color:"danger",isOverdue:!0,hours:0,minutes:0};const i=Math.floor(n/36e5),s=Math.floor(n%36e5/6e4);let o="success";return i<6?o="danger":i<12&&(o="warning"),{text:"".concat(i,"h ").concat(s,"m left"),color:o,isOverdue:!1,hours:i,minutes:s}},jn=async()=>{try{vn.value=!0,dn.value=[],pn.value=null,mn.value=!1;const e=await ue.searchDuplicates({name:kn.value.orgName,website:"",ein:"",phone:"",email:kn.value.contactEmail});dn.value=e,mn.value=!0,0===e.length&&await a("No duplicates found. Safe to create new organization.","success")}catch(e){d.error("Error checking for duplicates:",e),await a("Could not check for duplicates. Please verify manually.","warning")}finally{vn.value=!1}},In=()=>{pn.value=null,dn.value=[],mn.value=!1},Rn=async e=>{var l;Lt.value=e;const t=(e.domain||"").replace(/^@+/,"").trim();Ht.value={domain:t,contactEmail:e.contactEmail||e.email||"",maxUses:null!=(l=e.maxUses)?l:10,notes:e.notes||"",unlimitedSeats:!1},Fn.value=e.code||"",await(async e=>{try{vn.value=!0,dn.value=[],pn.value=null,mn.value=!1;const a=await ue.searchDuplicates({name:e.orgName,website:e.website||void 0,ein:e.ein||void 0,phone:e.phone||e.contactPhone||void 0,email:e.contactEmail||e.email||void 0});a.length>0&&(dn.value=a,mn.value=!0)}catch(l){d.error("Error checking for duplicates:",l),await a("Could not check for duplicates. Please verify manually.","warning")}finally{vn.value=!1}})(e),Mt.value=!0},Tn=()=>{Mt.value=!1,Lt.value=null,dn.value=[],mn.value=!1,pn.value=null},{user:qn}=y(),On=Y(()=>{var e;return(null==(e=qn.value)?void 0:e.name)||"Admin"}),Fn=m(""),Mn=async()=>
2{if(!Lt.value)return;const e=Lt.value;try{Bt.value=!0;let t=e.code||"";if(Fn.value&&Fn.value!==t)try{await K(t,{code:Fn.value}),t=Fn.value}catch(l){await a("Failed to update code value; keeping original","danger")}const n=On.value||"admin",i={maxUses:Ht.value.maxUses,notes:Ht.value.notes,unlimitedSeats:Ht.value.unlimitedSeats};pn.value&&(i.existingOrgId=pn.value.id,i.markAsClaimed=!pn.value.isClaimed,await a("Connecting to existing organization: ".concat(pn.value.name)+(i.markAsClaimed?" (marking as claimed)":""),"success"));const s=await Z(t,n,i);se.value=[s,...se.value.filter(e=>e.id!==s.id)],u.value=u.value.filter(a=>a.id!==e.id),await a(pn.value?"Request approved and connected to existing organization":"Request approved","success"),Tn()}catch(t){await a("Failed to approve request","danger")}finally{Bt.value=!1}},Ln=()=>{sn.value=!1,on.value=null,rn.value="",cn.value=""},Bn=async()=>{var e;if(rn.value&&on.value){un.value=!0;try{const l=gn.find(e=>e.category===rn.value);let t="".concat(null==l?void 0:l.title,": ").concat(null==l?void 0:l.description,"\n\n");t+="Next Steps:\n".concat(null==l?void 0:l.suggestions.map(e=>"• ".concat(e)).join("\n")),cn.value.trim()&&(t+="\n\nAdditional Notes:\n".concat(cn.value));const n=await $(on.value.code||"",String((null==(e=qn.value)?void 0:e.id)||On.value||"admin"),t,rn.value),i=u.value.findIndex(e=>{var a;return e.id===(null==(a=on.value)?void 0:a.id)});-1!==i&&(u.value[i]=n),(null==n?void 0:n.emailSent)?await a("Rejection email sent successfully","success"):await a("Request rejected, but email failed to send","warning"),Ln()}catch(l){d.error("Failed to reject request:",l),await a("Failed to send rejection","danger")}finally{un.value=!1}}},Hn=()=>{},Wn=async e=>{$t.value=e,Zt.value=!0},Yn=()=>{Zt.value=!1,$t.value=null},Xn=async()=>{var e,l,t;if($t.value)try{en.value=!0,await ae($t.value.code||"",{toEmail:(null==(e=$t.value)?void 0:e.contactEmail)||"",templateId:"verification_code_v1",subjectOverride:hn.value.subject,bodyOverride:hn.value.message,variables:{orgName:$t.value.orgName,contactPerson:(null==(l=$t.value)?void 0:l.contactPerson)||"",contactEmail:(null==(t=$t.value)?void 0:t.contactEmail)||"",verificationCode:$t.value.code,maxUses:$t.value.maxUses,expiresAt:$t.value.expiresAt,domain:$t.value.domain}}),await a("Verification email sent to ".concat($t.value.contactEmail),"success"),Yn()}catch(n){await a("Failed to send email","danger")}finally{en.value=!1}},Jn=()=>{an.value=!1,ln.value=null,tn.value=0},Gn=async()=>{if(ln.value&&Kt.value)try{nn.value=!0,await K(ln.value.code,{maxUses:tn.value});const e={...ln.value,maxUses:tn.value},l=se.value.findIndex(e=>{var a;return e.code===(null==(a=ln.value)?void 0:a.code)});-1!==l&&(se.value[l]=e),await a("Seats increased to ".concat(tn.value),"success"),Jn()}catch(e){await a("Failed to increase seats","danger"),d.error("Error increasing seats:",e)}finally{nn.value=!1}},Qn=async()=>{try{yn.value=!0;const{user:e}=y(),l=Y(()=>{var a;return(null==(a=e.value)?void 0:a.name)||"Admin"}).value||"Admin User",t=kn.value.domain.replace(/^@+/,"").trim(),n={orgName:kn.value.orgName,domain:t,contactPerson:kn.value.contactPerson,contactEmail:kn.value.contactEmail,maxUses:parseInt(kn.value.maxUses)||10,createdBy:l,expiresAt:new Date(kn.value.expiresAt),notes:kn.value.notes,unlimitedSeats:kn.value.unlimitedSeats};pn.value&&(n.organizationId=pn.value.id,n.markAsClaimed=!pn.value.isClaimed,await a("Creating code for existing organization: ".concat(pn.value.name)+(n.markAsClaimed?" (will mark as claimed)":""),"success"));const i=await le(n);se.value.unshift(i),wn.value=i,await J();const s=document.querySelector(".success-card");s&&s.scrollIntoView({behavior:"smooth",block:"start"}),kn.value={orgName:"",domain:"",contactPerson:"",contactEmail:"",maxUses:"10",expiresAt:new Date(Date.now()+7776e6).toISOString().split("T")[0],notes:"",unlimitedSeats:!1},In()}catch(e){await a("Failed to create code","danger")}finally{yn.value=!1}},Kn=async()=>{if(wn.value){(await X(wn.value.code||"")).success?(bn.value=!0,setTimeout(()=>{bn.value=!1},2e3),await a("Code copied to clipboard","success")):await a("Failed to copy code","danger")}},Zn=()=>{wn.value&&(Wn(wn.value),wn.value=null,bn.value=!1)};return p(async()=>{try{await An()}catch(e){}}),(e,o)=>(s(),i(f(h),null,{default:g(()=>[w(f(V),{class:"ion-no-border"},{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[28]||(o[28]=[C("Organization Verification Dashboard",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{fill:"clear",onClick:An},{default:g(()=>[w(z,{name:"refresh-outline"})]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),{class:"dashboard-content"},{default:g(()=>[A("div",pe,[A("div",ge,[w(f(_),{fill:"clear",size:"small",onClick:o[0]||(o[0]=e=>Ot.value=!0),class:"stats-link-btn"},{default:g(()=>[w(z,{name:"eye-outline",slot:"start"}),o[29]||(o[29]=C(" View Stats ",-1))]),_:1})]),A("div",fe,[A("div",he,[A("button",{class:S(["main-tab","pending-accounts"===r.value?"active":""]),onClick:o[1]||(o[1]=e=>r.value="pending-accounts")},[o[30]||(o[30]=C(" Pending Orgs ",-1)),Cn.value.pendingOrgs>0?(s(),l("span",ye,"("+U(Cn.value.pendingOrgs)+")",1)):D("",!0)],2),A("button",{class:S(["main-tab","codes"===r.value?"active":""]),onClick:o[2]||(o[2]=e=>r.value="codes")},"Verified Orgs",2),A("button",{class:S(["main-tab","create-action","create"===r.value?"active":""]),onClick:o[3]||(o[3]=e=>r.value="create")},"+ Create Code",2)])]),"codes"===r.value?(s(),l("div",we,[o[46]||(o[46]=A("div",{class:"section-header"}
2,[A("h2",null,"Verified Organizations"),A("p",null,"Manage verified organizations and their codes")],-1)),A("div",be,[w(ce,{options:Ft.value,modelValue:re.value,"onUpdate:modelValue":[o[4]||(o[4]=e=>re.value=e),Hn],"show-clear":!1},null,8,["options","modelValue"])]),A("div",ke,[w(ie,{modelValue:oe.value,"onUpdate:modelValue":o[5]||(o[5]=e=>oe.value=e),placeholder:"Search codes by organization or code...",onChange:Hn},null,8,["modelValue"])]),It.value.size>0?(s(),l("div",Ce,[A("span",null,U(It.value.size)+" hidden from your view",1),A("button",{type:"button",class:"unhide-link",onClick:Tt},"Show hidden")])):D("",!0),A("div",xe,[(s(!0),l(t,null,n(xn.value,e=>{var t,n,i,r,c,u,d,v,m;return s(),l("div",{key:e.id,class:S(["code-card",{expired:e.expiresAt&&new Date(e.expiresAt)<new Date,"used-up":(null!=(t=e.usedCount)?t:0)>=(null!=(n=e.maxUses)?n:0)}])},[A("div",_e,[A("div",ze,[A("h3",null,U(e.orgNameLive||e.orgName),1),e.orgCodeLive?(s(),l("span",Ve,U(e.orgCodeLive),1)):D("",!0),A("span",Ae,"Signup code: "+U(e.code),1)]),A("div",Se,[!1===e.active?(s(),l("span",Ue," Code Inactive ")):e.expiresAt&&new Date(e.expiresAt)<new Date?(s(),l("span",De," Code Expired ")):(null!=(i=e.usedCount)?i:0)>=(null!=(r=e.maxUses)?r:0)?(s(),l("span",Ee," Code Used Up ")):(s(),l("span",Ne," Code Active "))])]),A("div",Pe,[A("div",je,[o[31]||(o[31]=A("strong",null,"Domain:",-1)),C(" @"+U(e.domain||"—"),1)]),e.organizationId?(s(),l("div",Ie,[o[32]||(o[32]=A("strong",null,"Active staff:",-1)),C(" "+U(null!=(c=e.staffCount)?c:0)+" ",1),e.orgPlan?(s(),l("span",Re,U(e.orgPlan),1)):D("",!0)])):D("",!0),e.organizationId?(s(),l("div",Te,[o[33]||(o[33]=A("strong",null,"Active volunteers:",-1)),C(" "+U(null!=(u=e.activeVolunteerCount)?u:0),1)])):D("",!0),e.organizationId?(s(),l("div",qe,[o[34]||(o[34]=A("strong",null,"Animals added:",-1)),C(" "+U(null!=(d=e.animalCount)?d:0),1)])):D("",!0),A("div",Oe,[o[35]||(o[35]=A("strong",null,"Signup code redemptions:",-1)),C(" "+U(null!=(v=e.usedCount)?v:0)+"/"+U(null!=(m=e.maxUses)?m:0),1)]),A("div",Fe,[o[36]||(o[36]=A("strong",null,"Expires:",-1)),C(" "+U(e.expiresAt?Dn(new Date(e.expiresAt)):"—"),1)]),A("div",Me,[o[37]||(o[37]=A("strong",null,"Contact:",-1)),C(" "+U(e.contactPerson||"—")+" ("+U(e.contactEmail||"—")+")",1)]),A("div",Le,[o[38]||(o[38]=A("strong",null,"Created by:",-1)),C(" "+U(e.createdBy||"System"),1)]),e.reviewedAt?(s(),l("div",Be,[o[39]||(o[39]=A("strong",null,"Approved:",-1)),C(" "+U(Dn(new Date(e.reviewedAt))),1)])):D("",!0),e.notes?(s(),l("div",He,[o[40]||(o[40]=A("strong",null,"Notes:",-1)),C(" "+U(e.notes),1)])):D("",!0)]),A("div",We,[w(f(_),{fill:"outline",class:"button-secondary",onClick:l=>(async e=>{(await X(e)).success?await a("Code copied to clipboard","success"):await a("Failed to copy code","danger")})(e.code||"")},{default:g(()=>[w(z,{name:"copy-outline",slot:"start"}),o[41]||(o[41]=C(" Copy Code ",-1))]),_:1},8,["onClick"]),w(f(_),{fill:"outline",class:"button-secondary",onClick:a=>Wn(e)},{default:g(()=>[w(z,{name:"mail-outline",slot:"start"}),o[42]||(o[42]=C(" Send Email ",-1))]),_:1},8,["onClick"]),w(f(_),{fill:"outline",class:"button-secondary",onClick:a=>(e=>{ln.value=e,tn.value=e.maxUses||0,an.value=!0})(e)},{default:g(()=>[w(z,{name:"add-outline",slot:"start"}),o[43]||(o[43]=C(" Increase Seats ",-1))]),_:1},8,["onClick"]),w(f(_),{fill:"outline",class:"button-secondary",onClick:l=>(async()=>{await a("Code deactivated","success")})(String(e.id||"")),disabled:!e.active},{default:g(()=>[w(z,{name:"ban-outline",slot:"start"}),o[44]||(o[44]=C(" Deactivate ",-1))]),_:1},8,["onClick","disabled"]),w(f(_),{fill:"outline",class:"button-secondary",onClick:a=>{var l;(l=String(e.id||""))&&(It.value=new Set([...It.value,l]),Rt())}},{default:g(()=>[w(z,{name:"eye-off-outline",slot:"start"}),o[45]||(o[45]=C(" Hide ",-1))]),_:1},8,["onClick"])])],2)}),128))])])):D("",!0),"pending-accounts"===r.value?(s(),l("div",Ye,[o[61]||(o[61]=A("div",{class:"section-header"},[A("h2",null,"Pending Organizations"),A("p",null,"Review inbound verification requests awaiting approval")],-1)),u.value.length>0?(s(),l(t,{key:0},[o[58]||(o[58]=A("h3",{style:{margin:"0 0 8px 0"}},"Verification Requests",-1)),A("div",Xe,[(s(!0),l(t,null,n(u.value,e=>{var t,n,i;return s(),l("div",{key:e.id,class:"request-card"},[A("div",Je,[A("div",Ge,[A("h3",null,U(e.orgName),1),A("span",Qe,U(e.orgType?(i=e.orgType,i.replace("_"," ").replace(/\b\w/g,e=>e.toUpperCase())):"—"),1)]),A("div",Ke,[A("span",{class:S(["status-badge",(n=e,"rejected"===n.status?"rejected":"needs_more_info"===n.status?"warning":"active")])},U(Nn(e)),3),A("div",Ze,[A("span",$e,"Submitted "+U(En(e.createdAt||new Date)),1),"pending"===e.status?(s(),l("span",{key:0,class:S(["countdown-timer",Pn(e.createdAt||e.reviewedAt||new Date).color])},[w(z,{name:"time-outline"}),C(" "+U(Pn(e.createdAt||e.reviewedAt||new Date).text),1)],2)):D("",!0)])])]),A("div",ea,[e.website?(s(),l("div",aa,[o[47]||(o[47]=A("strong",null,"Website:",-1)),f(te)(e.website)?(s(),l("a",{key:0,href:null!=(t=f(te)(e.website))?t:void 0,target:"_blank",rel:"noopener noreferrer"},U(e.website),9,la)):(s(),l("span",ta,U(e.website),1))])):D("",!0),A("div",na,[o[48]||(o[48]=A("strong",null,"Contact:",-1)),C(" "+U(e.contactPerson||e.contactName)+" ("+U(e.contactEmail)+")",1)]),e.ein?(s(),l("div",ia,[o[49]||(o[49]=A("strong",null,"EIN:",-1)),C(" "+U(e.ein),1)])):D("",!0),e.description?(s(),l("div",sa,[o[50]||(o[50]=A("strong",null,"About:",-1)),A("span",oa,U(e.description),1)])):D("",!0)]),"rejected"===e.status?(s(),l("div",ra,[A("div",ca,[w(z,{name:"alert-circle-outline",color:"danger"}),o[51]||(o[51]=A("strong",null,"Rejection Details",-1))]),A("div",ua,[o[52]||(o[52]=A("strong",null,"Notes:",-1)),C(" "+U(e.reviewNotes||"No additional details provided."),1)]),e.reviewedAt?(s(),l("div",da,[o[53]||(o[53]=A("strong",null,"Rejected:",-1)),C(" "+U(En(e.reviewedAt)),1)])):D("",!0)])):D("",!0),"pending"===e.status||"needs_more_info"===e.status?(s(),l("div",va,[A("div",ma,[w(f(_),{fill:"outline",class:"button-secondary",onClick:a=>(e=>
2{['"'.concat(e.orgName,'" animal rescue'),"site:".concat(new URL(e.website||"https://google.com").hostname)].forEach((e,a)=>{setTimeout(()=>{window.open("https://google.com/search?q=".concat(encodeURIComponent(e)),"_blank")},1e3*a)})})(e)},{default:g(()=>[w(z,{name:"search-outline",slot:"start"}),o[54]||(o[54]=C(" Research ",-1))]),_:1},8,["onClick"])]),A("div",pa,[w(f(_),{class:"button-primary",onClick:a=>Rn(e)},{default:g(()=>[w(z,{name:"checkmark-outline",slot:"start"}),o[55]||(o[55]=C(" Approve & Create Code ",-1))]),_:1},8,["onClick"]),w(f(_),{fill:"outline",class:"button-secondary",onClick:a=>(e=>{const a=u.value.find(a=>String(a.id)===String(e));a&&(on.value=a,sn.value=!0)})(e.id)},{default:g(()=>[w(z,{name:"close-outline",slot:"start"}),o[56]||(o[56]=C(" Reject ",-1))]),_:1},8,["onClick"])])])):"rejected"===e.status?(s(),l("div",ga,[A("div",fa,[w(f(_),{fill:"outline",class:"button-secondary",onClick:l=>(async e=>{var l;if(e.code)try{const t=await ee(e.code,String((null==(l=qn.value)?void 0:l.id)||On.value||"admin")),n=u.value.findIndex(a=>a.code===e.code);-1!==n&&(u.value[n]=t),await a("Request re-opened and moved back to pending review","success")}catch(t){d.error("Failed to reopen request:",t),await a("Failed to re-open request","danger")}})(e)},{default:g(()=>[w(z,{name:"refresh-outline",slot:"start"}),o[57]||(o[57]=C(" Re-Open for Review ",-1))]),_:1},8,["onClick"])])])):D("",!0)])}),128))])],64)):D("",!0),0===u.value.length?(s(),l("div",ha,[w(z,{name:"people-outline"}),o[59]||(o[59]=A("h3",null,"No pending organizations",-1)),o[60]||(o[60]=A("p",null,"All caught up for now.",-1))])):D("",!0)])):D("",!0),"create"===r.value?(s(),l("div",ya,[wn.value?(s(),l("div",wa,[A("div",ba,[w(z,{name:"checkmark-circle-outline",class:"success-icon"}),o[62]||(o[62]=A("h3",null,"Verification Code Created!",-1))]),A("div",ka,[A("div",Ca,[o[63]||(o[63]=A("strong",null,"Organization:",-1)),C(" "+U(wn.value.orgName),1)]),A("div",xa,[o[64]||(o[64]=A("label",null,"Verification Code:",-1)),A("div",_a,[A("span",za,U(wn.value.code),1),w(f(_),{fill:"clear",onClick:Kn,class:S(["copy-btn",{copied:bn.value}])},{default:g(()=>[w(z,{name:bn.value?"checkmark-outline":"copy-outline"},null,8,["name"])]),_:1},8,["class"])])])]),A("div",Va,[A("p",null,[o[65]||(o[65]=A("strong",null,"Next steps:",-1)),C(" Send this code to "+U(wn.value.contactEmail||"the organization"),1)])]),A("div",Aa,[w(f(_),{fill:"solid",onClick:Zn},{default:g(()=>[w(z,{name:"mail-outline",slot:"start"}),o[66]||(o[66]=C(" Send Email ",-1))]),_:1})])],512)):D("",!0),o[83]||(o[83]=A("div",{class:"section-header"},[A("h2",null,"Create Verification Code"),A("p",null,"Manually create a verification code for an organization")],-1)),A("form",{onSubmit:E(Qn,["prevent"]),class:"create-code-form"},[A("div",Sa,[w(ne,{id:"orgName",label:"Organization Name",modelValue:kn.value.orgName,"onUpdate:modelValue":o[6]||(o[6]=e=>kn.value.orgName=e),required:!0,placeholder:"e.g., Happy Paws Animal Rescue",touched:!0},null,8,["modelValue"]),w(f(_),{fill:"outline",size:"small",onClick:jn,disabled:!kn.value.orgName||vn.value,style:{"margin-top":"8px"}},{default:g(()=>[w(z,{name:"search-outline",slot:"start"}),vn.value?(s(),i(f(N),{key:0,name:"crescent",slot:"start"}
2)):(s(),l("span",Ua,"Check for Existing Organizations"))]),_:1},8,["disabled"])]),mn.value&&dn.value.length>0?(s(),l("div",Da,[A("div",Ea,[w(z,{name:"warning-outline",style:{color:"var(--color-warning)","font-size":"24px"}}),o[67]||(o[67]=A("h4",null,"Potential Duplicates Found",-1))]),A("p",Na," Found "+U(dn.value.length)+" organization(s) that may already exist. You can connect to an existing organization or proceed to create a new one. ",1),A("div",Pa,[(s(!0),l(t,null,n(dn.value,e=>{var a,t,n;return s(),l("div",{key:e.organization.id,class:S(["duplicate-card",[{unclaimed:!e.organization.claimed,claimed:e.organization.claimed,selected:(null==(a=pn.value)?void 0:a.id)===e.organization.id}]]),onClick:a=>pn.value=e.organization},[A("div",Ia,[A("div",Ra,[A("h5",null,U(e.organization.name),1),A("span",{class:S("confidence-badge ".concat(e.confidence))},U(e.confidence.toUpperCase())+" confidence ",3)]),A("div",Ta,[e.organization.claimed?(s(),l("span",qa,"Claimed")):(s(),l("span",Oa,"Unclaimed"))])]),A("div",Fa,[e.organization.website?(s(),l("div",Ma,[o[68]||(o[68]=A("strong",null,"Website:",-1)),f(te)(e.organization.website)?(s(),l("a",{key:0,href:null!=(t=f(te)(e.organization.website))?t:void 0,target:"_blank",rel:"noopener noreferrer"},U(e.organization.website),9,La)):(s(),l("span",Ba,U(e.organization.website),1))])):D("",!0),e.organization.phone?(s(),l("div",Ha,[o[69]||(o[69]=A("strong",null,"Phone:",-1)),C(" "+U(e.organization.phone),1)])):D("",!0),e.organization.address?(s(),l("div",Wa,[o[70]||(o[70]=A("strong",null,"Address:",-1)),C(" "+U(e.organization.address.street)+", "+U(e.organization.address.city)+", "+U(e.organization.address.state),1)])):D("",!0),A("div",Ya,[o[71]||(o[71]=A("strong",null,"Matched fields:",-1)),o[72]||(o[72]=C()),A("span",Xa,U(e.matchedFields.join(", ")),1)])]),(null==(n=pn.value)?void 0:n.id)===e.organization.id?(s(),l("div",Ja,[w(z,{name:"checkmark-circle",color:"success"}),o[73]||(o[73]=A("span",null,"Selected - Will connect code to this organization",-1))])):D("",!0)],10,ja)}),128))]),A("div",Ga,[pn.value?(s(),i(f(_),{key:0,fill:"outline",size:"small",onClick:In},{default:g(()=>[w(z,{name:"close-outline",slot:"start"}),o[74]||(o[74]=C(" Clear Selection & Create New ",-1))]),_:1})):D("",!0),pn.value?(s(),l("p",Ka," ✓ Code will be created for: "+U(pn.value.name)+" "+U(pn.value.claimed?"":" (will mark as claimed)"),1)):(s(),l("p",Qa," No selection - will create for new organization. Click a card above to connect to existing. "))])])):mn.value&&0===dn.value.length?(s(),l("div",Za,[w(z,{name:"checkmark-circle-outline",color:"success"}),o[75]||(o[75]=A("p",null,"No duplicates found. Safe to create new organization.",-1))])):D("",!0),A("div",$a,[w(ne,{id:"domain",label:"Email Domain",modelValue:kn.value.domain,"onUpdate:modelValue":o[7]||(o[7]=e=>kn.value.domain=e),required:!0,placeholder:"example.com",touched:!0,class:S({error:Jt.value})},null,8,["modelValue","class"]),Jt.value?(s(),l("p",el,U(Jt.value),1)):D("",!0),o[76]||(o[76]=A("p",{class:"help-text"},"Organization's email domain (without @). Staff emails are recommended to use this domain.",-1))]),A("div",al,[w(ne,{id:"contactPerson",label:"Contact Person",modelValue:kn.value.contactPerson,"onUpdate:modelValue":o[8]||(o[8]=e=>kn.value.contactPerson=e),placeholder:"Primary contact name",touched:!0},null,8,["modelValue"])]),A("div",ll,[w(ne,{id:"contactEmail",label:"Contact Email",type:"email",modelValue:kn.value.contactEmail,"onUpdate:modelValue":o[9]||(o[9]=e=>kn.value.contactEmail=e),placeholder:"[email protected]",touched:!0,class:S({error:Gt.value})},null,8,["modelValue","class"]),Gt.value?(s(),l("p",tl,U(Gt.value),1)):D("",!0),Qt.value?(s(),l("p",nl,U(Qt.value),1)):D("",!0),o[77]||(o[77]=A("p",{class:"help-text"},"This person will receive verification notifications.",-1))]),A("div",il,[w(ne,{id:"maxUses",label:"Maximum Uses",type:"number",modelValue:kn.value.maxUses,"onUpdate:modelValue":o[10]||(o[10]=e=>kn.value.maxUses=e),required:!0,placeholder:"10",touched:!0},null,8,["modelValue"]),o[78]||(o[78]=A("p",{class:"help-text"},"How many staff members can use this verification code to join.",-1))]),A("div",sl,[A("div",ol,[o[79]||(o[79]=A("div",{class:"toggle-label"},[A("label",null,"Unlimited Code Uses"),A("p",{class:"help-text"},"Allows unlimited uses of this code. The organization's plan staff limit still applies.")],-1)),w(f(P),{modelValue:kn.value.unlimitedSeats,"onUpdate:modelValue":o[11]||(o[11]=e=>kn.value.unlimitedSeats=e)},null,8,["modelValue"])])]),A("div",rl,[o[80]||(o[80]=A("label",null,"Expiration Date",-1)),w(f(j),{modelValue:kn.value.expiresAt,"onUpdate:modelValue":o[12]||(o[12]=e=>kn.value.expiresAt=e),presentation:"date",min:(new Date).toISOString().split("T")[0]},null,8,["modelValue","min"])]),A("div",cl,[o[81]||(o[81]=A("label",null,"Notes (Internal Use Only)",-1)),w(f(I),{modelValue:kn.value.notes,"onUpdate:modelValue":o[13]||(o[13]=e=>kn.value.notes=e),placeholder:"Internal notes: verification details, research f
2indings, contact notes, etc.",rows:3},null,8,["modelValue"]),o[82]||(o[82]=A("p",{class:"help-text"},"These notes are for internal admin use only and will not be shared with the organization",-1))]),A("div",ul,[w(f(_),{type:"submit",disabled:yn.value||!!Jt.value||!!Gt.value},{default:g(()=>[yn.value?(s(),i(f(N),{key:0,name:"crescent",slot:"start"})):(s(),l("span",dl,"Create Verification Code"))]),_:1},8,["disabled"])])],32)])):D("",!0)]),w(f(R),{"is-open":Zt.value,onDidDismiss:Yn},{default:g(()=>[w(f(V),null,{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[84]||(o[84]=[C("Preview & Send Verification Email",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{type:"button",fill:"clear","aria-label":"Close modal",onClick:Yn},{default:g(()=>[...o[85]||(o[85]=[C(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),null,{default:g(()=>{var e;return[A("div",vl,[A("div",ml,[o[88]||(o[88]=A("h3",null,"Email Preview",-1)),A("div",pl,[A("div",gl,[A("div",fl,[o[86]||(o[86]=A("strong",null,"To:",-1)),C(" "+U(null==(e=$t.value)?void 0:e.contactEmail),1)]),A("div",hl,[o[87]||(o[87]=A("strong",null,"Subject:",-1)),C(" "+U(hn.value.subject),1)])]),A("div",{class:"email-body",innerHTML:_n.value},null,8,yl)])]),A("div",wl,[o[91]||(o[91]=A("h3",null,"Edit Email Content",-1)),A("div",bl,[w(ne,{id:"emailSubject",label:"Subject Line",modelValue:hn.value.subject,"onUpdate:modelValue":o[14]||(o[14]=e=>hn.value.subject=e),touched:!0},null,8,["modelValue"])]),A("div",kl,[o[89]||(o[89]=A("label",null,"Email Message",-1)),w(f(I),{modelValue:hn.value.message,"onUpdate:modelValue":o[15]||(o[15]=e=>hn.value.message=e),rows:8,placeholder:"Enter your email message..."},null,8,["modelValue"]),o[90]||(o[90]=A("p",{class:"help-text"},"You can use template variables: orgName, contactPerson, verificationCode, and maxUses",-1))])]),A("div",Cl,[w(f(_),{fill:"clear",class:"cancel-btn",onClick:Yn},{default:g(()=>[...o[92]||(o[92]=[C("Cancel",-1)])]),_:1}),w(f(_),{class:"save-btn",onClick:Xn,disabled:en.value},{default:g(()=>[en.value?(s(),i(f(N),{key:0,name:"crescent",slot:"start"})):(s(),i(z,{key:1,name:"mail-outline",slot:"start"})),o[93]||(o[93]=C(" Send Email ",-1))]),_:1},8,["disabled"])])])]}),_:1})]),_:1},8,["is-open"]),w(f(R),{"is-open":Mt.value,onDidDismiss:Tn},{default:g(()=>[w(f(V),null,{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[94]||(o[94]=[C("Approve Verification Request",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{type:"button",fill:"clear","aria-label":"Close modal",onClick:Tn},{default:g(()=>[...o[95]||(o[95]=[C(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),null,{default:g(()=>{var e;return[A("div",xl,[A("h3",null,U(null==(e=Lt.value)?void 0:e.orgName),1),o[119]||(o[119]=A("p",null,"Review and edit organization details before approval.",-1)),vn.value?(s(),l("div",_l,[w(f(N),{name:"crescent"}),o[96]||(o[96]=A("p",null,"Checking for duplicate organizations...",-1))])):D("",!0),mn.value&&dn.value.length>0?(s(),l("div",zl,[A("div",Vl,[w(z,{name:"warning-outline",style:{color:"var(--color-warning)","font-size":"24px"}}),o[97]||(o[97]=A("h4",null,"Potential Duplicates Found",-1))]),A("p",Al," Found "+U(dn.value.length)+" organization(s) that may already exist in the system. Review them below and either connect to an existing organization or proceed as new. ",1),A("div",Sl,[(s(!0),l(t,null,n(dn.value,e=>{var a,t,n;return s(),l("div",{key:e.organization.id,class:S(["duplicate-card",[{unclaimed:!e.organization.claimed,claimed:e.organization.claimed,selected:(null==(a=pn.value)?void 0:a.id)===e.organization.id}]]),onClick:a=>pn.value=e.organization},[A("div",Dl,[A("div",El,[A("h5",null,U(e.organization.name),1),A("span",{class:S("confidence-badge ".concat(e.confidence))},U(e.confidence.toUpperCase())+" confidence ",3)]),A("div",Nl,[e.organization.claimed?(s(),l("span",Pl,"Claimed")):(s(),l("span",jl,"Unclaimed"))])]),A("div",Il,[e.organization.website?(s(),l("div",Rl,[o[98]||(o[98]=A("strong",null,"Website:",-1)),f(te)(e.organization.website)?(s(),l("a",{key:0,href:null!=(t=f(te)(e.organization.website))?t:void 0,target:"_blank",rel:"noopener noreferrer"},U(e.organization.website),9,Tl)):(s(),l("span",ql,U(e.organization.website),1))])):D("",!0),e.organization.phone?(s(),l("div",Ol,[o[99]||(o[99]=A("strong",null,"Phone:",-1)),C(" "+U(e.organization.phone),1)])):D("",!0),e.organization.address?(s(),l("div",Fl,[o[100]||(o[100]=A("strong",null,"Address:",-1)),C(" "+U(e.organization.address.street)+", "+U(e.organization.address.city)+", "+U(e.organization.address.state),1)])):D("",!0),A("div",Ml,[o[101]||(o[101]=A("strong",null,"Matched fields:",-1)),o[102]||(o[102]=C()),A("span",Ll,U(e.matchedFields.join(", ")),1)])]),(null==(n=pn.value)?void 0:n.id)===e.organization.id?(s(),l("div",Bl,[w(z,{name:"checkmark-circle",color:"success"}),o[103]||(o[103]=A("span",null,"Selected - Will connect to this organization",-1))])):D("",!0)],10,Ul)}),128))]),A("div",Hl,[pn.value?(s(),i(f(_),{key:0,fill:"outline",onClick:o[16]||(o[16]=e=>pn.value=null)},{default:g(()=>[w(z,{name:"close-outline",slot:"start"}),o[104]||(o[104]=C(" Proceed as New Organization ",-1))]),_:1})):D("",!0),pn.value?D("",!0):(s(),l("p",Wl," No selection made - will create new organization. Click a card above to connect to existing. "))])])):D("",!0),A("div",Yl,[o[109]||(o[109]=A("h4",null,"Organization Details",-1)),A("div",Xl,[o[105]||(o[105]=A("label",null,[C("Email Domain "),A("span",{class:"required"},"*")],-1)),w(f(q),{modelValue:Ht.value.domain,"onUpdate:modelValue":o[17]||(o[17]=e=>Ht.value.domain=e),placeholder:"example.com",class:S({error:Wt.value})},null,8,["modelValue","class"]),Wt.value?(s(),l("p",Jl,U(Wt.value),1)):D("",!0),o[106]||(o[106]=A("p",{class:"help-text"},"Organization's email domain (without @). Staff emails are recommended to use this domain.",-1))]),A("div",Gl,[o[107]||(o[107]=A("label",null,[C("Contact Email "),A("span",{class:"required"},"*")],-1)),w(f(q),{modelValue:Ht.value.contactEmail,"onUpdate:modelValue":o[18]||(o[18]=e=>Ht.value.contactEmail=e),placeholder:"[email protected]",type:"email",class:S({error:Yt.value})},null,8,["modelValue","class"]),Yt.value?(s(),l("p",Ql,U(Yt.value),1)):D("",!0),Xt.value?(s(),l("p",Kl,U(Xt.value),1)):D("",!0),o[108]||(o[108]=A("p",{class:"help-text"},"This person will receive verification notifications.",-1))])]),A("div",Zl,[o[115]||(o[115]=A("h4",null,"Verification Code",-1)),A("div",$l,[o[110]||(o[110]=A("label",null,[C("Code "),A("span",{class:"required"},"*")],-1)),w(f(q),{modelValue:Fn.value,"onUpdate:modelValue":o[19]||(o[19]=e=>Fn.value=e),placeholder:"CODE-2025-XXXX"},null,8,["modelValue"]),o[111]||(o[111]=A("p",{class:"help-text"}
2,"You can adjust the auto-generated code before approving.",-1))]),A("div",et,[o[112]||(o[112]=A("label",null,"Maximum Uses",-1)),w(f(q),{modelValue:Ht.value.maxUses,"onUpdate:modelValue":o[20]||(o[20]=e=>Ht.value.maxUses=e),type:"number",min:"1",max:"20",value:"10"},null,8,["modelValue"]),o[113]||(o[113]=A("p",{class:"help-text"},"How many staff members can use this verification code to join.",-1))]),A("div",at,[A("div",lt,[o[114]||(o[114]=A("div",{class:"toggle-label"},[A("label",null,"Unlimited Code Uses"),A("p",{class:"help-text"},"Allows unlimited uses of this code. The organization's plan staff limit still applies.")],-1)),w(f(P),{modelValue:Ht.value.unlimitedSeats,"onUpdate:modelValue":o[21]||(o[21]=e=>Ht.value.unlimitedSeats=e)},null,8,["modelValue"])])])]),A("div",tt,[o[117]||(o[117]=A("h4",null,"Internal Notes",-1)),A("div",nt,[w(f(I),{modelValue:Ht.value.notes,"onUpdate:modelValue":o[22]||(o[22]=e=>Ht.value.notes=e),placeholder:"Internal verification notes, research details, contact info, etc.",rows:3},null,8,["modelValue"]),o[116]||(o[116]=A("p",{class:"help-text"},"Internal notes only - not shared with organization",-1))])]),A("div",it,[w(f(_),{fill:"clear",class:"cancel-btn",onClick:Tn},{default:g(()=>[...o[118]||(o[118]=[C("Cancel",-1)])]),_:1}),w(f(_),{class:"save-btn",onClick:Mn,disabled:Bt.value||!!Wt.value||!!Yt.value},{default:g(()=>[Bt.value?(s(),i(f(N),{key:0,name:"crescent",slot:"start"})):(s(),l("span",st,"Approve & Create Code"))]),_:1},8,["disabled"])])])]}),_:1})]),_:1},8,["is-open"]),w(f(R),{"is-open":sn.value,onDidDismiss:Ln},{default:g(()=>[w(f(V),null,{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[120]||(o[120]=[C("Reject Verification Request",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{type:"button",fill:"clear","aria-label":"Close modal",onClick:Ln},{default:g(()=>[...o[121]||(o[121]=[C(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),{class:"verification-modal-content"},{default:g(()=>{var e,a,r;return[on.value?(s(),l("div",ot,[A("div",rt,[A("h3",null,U(on.value.orgName),1),A("p",null,[o[122]||(o[122]=A("strong",null,"Type:",-1)),C(" "+U(on.value.orgType),1)]),A("p",null,[o[123]||(o[123]=A("strong",null,"Contact:",-1)),C(" "+U(on.value.contactPerson)+" ("+U(on.value.contactEmail)+")",1)]),on.value.website?(s(),l("p",ct,[o[124]||(o[124]=A("strong",null,"Website:",-1)),C(" "+U(on.value.website),1)])):D("",!0)]),A("div",ut,[o[125]||(o[125]=A("h4",null,"Select Reason for Rejection:",-1)),w(f(O),{modelValue:rn.value,"onUpdate:modelValue":o[23]||(o[23]=e=>rn.value=e)},{default:g(()=>[(s(),l(t,null,n(gn,e=>w(f(F),{key:e.category},{default:g(()=>[w(f(M),null,{default:g(()=>
2[A("h3",null,U(e.title),1),A("p",null,U(e.description),1)]),_:2},1024),w(f(L),{slot:"start",value:e.category},null,8,["value"])]),_:2},1024)),64))]),_:1},8,["modelValue"])]),A("div",dt,[o[126]||(o[126]=A("h4",null,"Additional Notes (Optional):",-1)),w(f(I),{modelValue:cn.value,"onUpdate:modelValue":o[24]||(o[24]=e=>cn.value=e),placeholder:"Add any specific details or instructions for the organization...",rows:3,fill:"outline"},null,8,["modelValue"])]),rn.value?(s(),l("div",vt,[o[135]||(o[135]=A("h4",null,"Email Preview:",-1)),A("div",mt,[o[134]||(o[134]=A("p",null,[A("strong",null,"Subject:"),C(" Pawsitive Foster Organization Verification - Additional Information Needed")],-1)),A("div",pt,[A("p",null,"Dear "+U(on.value.contactPerson)+",",1),A("p",null,[o[127]||(o[127]=C(" Thank you for your interest in joining Pawsitive Foster. After reviewing your verification request for ",-1)),A("strong",null,U(on.value.orgName),1),o[128]||(o[128]=C(", we need additional information to complete the verification process. ",-1))]),A("p",null,[o[129]||(o[129]=A("strong",null,"Reason:",-1)),C(" "+U(null==(e=fn.value)?void 0:e.title),1)]),A("p",null,U(null==(a=fn.value)?void 0:a.description),1),o[131]||(o[131]=A("p",null,[A("strong",null,"Next Steps:")],-1)),A("ul",null,[(s(!0),l(t,null,n(null==(r=fn.value)?void 0:r.suggestions,e=>(s(),l("li",{key:e},U(e),1))),128))]),cn.value.trim()?(s(),l("div",gt,[o[130]||(o[130]=A("p",null,[A("strong",null,"Additional Notes:")],-1)),A("p",null,U(cn.value),1)])):D("",!0),o[132]||(o[132]=A("p",null,[A("strong",null,"How to Resubmit:"),A("br"),C(" You can submit updated information by visiting the organization registration page or replying to this email. ")],-1)),o[133]||(o[133]=A("p",null,[C("Best regards,"),A("br"),C("The Pawsitive Team")],-1))])])])):D("",!0),A("div",ft,[w(f(_),{fill:"clear",class:"cancel-btn",onClick:Ln},{default:g(()=>[...o[136]||(o[136]=[C("Cancel",-1)])]),_:1}),w(f(_),{class:"save-btn",onClick:Bn,disabled:!rn.value||un.value},{default:g(()=>[un.value?(s(),i(f(N),{key:0,name:"crescent"})):(s(),l("span",ht,"Send Rejection Email"))]),_:1},8,["disabled"])])])):D("",!0)]}),_:1})]),_:1},8,["is-open"]),w(f(R),{"is-open":an.value,onDidDismiss:Jn},{default:g(()=>[w(f(V),null,{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[137]||(o[137]=[C("Increase Seats",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{type:"button",fill:"clear","aria-label":"Close modal",onClick:Jn},{default:g(()=>[...o[138]||(o[138]=[C(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),null,{default:g(()=>{var e,a,t,n,r,c,u,d,v,m;return[A("div",yt,[A("h3",null,U(null==(e=ln.value)?void 0:e.orgName),1),o[143]||(o[143]=A("p",null,"Increase the number of available seats for this organization.",-1)),A("div",wt,[A("p",null,[o[139]||(o[139]=A("strong",null,"Current Usage:",-1)),C(" "+U(null!=(t=null==(a=ln.value)?void 0:a.usedCount)?t:0)+"/"+U(null!=(r=null==(n=ln.value)?void 0:n.maxUses)?r:0)+" seats",1)]),A("p",null,[o[140]||(o[140]=A("strong",null,"Verification Code:",-1)),C(" "+U(null==(c=ln.value)?void 0:c.code),1)])]),A("div",bt,[o[141]||(o[141]=A("label",null,[C("New Maximum Seats "),A("span",{class:"required"},"*")],-1)),w(f(q),{modelValue:tn.value,"onUpdate:modelValue":o[25]||(o[25]=e=>tn.value=e),type:"number",min:null!=(d=null==(u=ln.value)?void 0:u.usedCount)?d:0,placeholder:"10"},null,8,["modelValue","min"]),A("p",kt,"Must be at least "+U(null!=(m=null==(v=ln.value)?void 0:v.usedCount)?m:0)+" (current usage)",1)]),A("div",Ct,[w(f(_),{fill:"clear",class:"cancel-btn",onClick:Jn},{default:g(()=>[...o[142]||(o[142]=[C("Cancel",-1)])]),_:1}),w(f(_),{class:"save-btn",onClick:Gn,disabled:nn.value||!Kt.value},{default:g(()=>[nn.value?(s(),i(f(N),{key:0,name:"crescent",slot:"start"})):(s(),l("span",xt,"Update Seats"))]),_:1},8,["disabled"])])])]}),_:1})]),_:1},8,["is-open"]),w(f(R),{"is-open":Ot.value,onDidDismiss:o[27]||(o[27]=e=>Ot.value=!1),class:"stats-modal"},{default:g(()=>[w(f(V),null,{default:g(()=>[w(f(b),null,{default:g(()=>[w(f(k),null,{default:g(()=>[...o[144]||(o[144]=[C("Dashboard Stats",-1)])]),_:1}),w(f(x),{slot:"end"},{default:g(()=>[w(f(_),{type:"button",fill:"clear","aria-label":"Close modal",onClick:o[26]||(o[26]=e=>Ot.value=!1)},{default:g(()=>[...o[145]||(o[145]=[C(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),w(f(T),null,{default:g(()=>[A("div",_t,[A("div",zt,[A("div",Vt,[A("h3",null,U(Cn.value.pendingOrgs),1),o[146]||(o[146]=A("p",null,"Need Verification",-1))]),A("div",At,[A("h3",null,U(Cn.value.activeCodes),1),o[147]||(o[147]=A("p",null,"Active Codes",-1))]),A("div",St,[A("h3",null,U(Cn.value.expiringSoon),1),o[148]||(o[148]=A("p",null,"Expiring Soon",-1))]),A("div",Ut,[A("h3",null,U(Cn.value.thisMonth),1),o[149]||(o[149]=A("p",null,"Verified This Month",-1))]),A("div",Dt,[A("h3",null,U(Cn.value.pendingSeatRequests),1),o[150]||(o[150]=A("p",null,"Pending Seat Requests",-1))])])])]),_:1})]),_:1},8,["is-open"]),w(f(B),{threshold:"120px",disabled:!me.value||de.value||ve.value||"codes"!==r.value&&"pending-accounts"!==r.value,onIonInfinite:Sn},{default:g(()=>[w(f(H),{"loading-spinner":"bubbles","loading-text":"Loading more records..."})]),_:1},8,["disabled"])]),_:1}),w(f(W),{class:"admin-footer"},{default:g(()=>[w(f(b),null,{default:g(()=>[A("div",Et,[w(f(_),{fill:"clear","router-link":"/dev/router",color:"medium"},{default:g(()=>[...o[151]||(o[151]=[C(" Router Page ",-1)])]),_:1}),w(f(_),{fill:"clear",onClick:Un,color:"danger"},{default:g(()=>
2[...o[152]||(o[152]=[C(" Sign Out ",-1)])]),_:1})])]),_:1})]),_:1})]),_:1}))}}),[["__scopeId","data-v-912f6248"]]);export{Pt 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.