PageSourceSearch

https://courtmatch.ai/_next/static/chunks/2031-38bf3bc33d853d24.js

js courtmatch.ai collected 2026-10-02 00:29:03 UTC 14,309 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2031],{52031:(e,t,s)=>{s.d(t,{A:()=>M});var r=s(37876),a=s(14232),i=s(98521),n=s(35274),l=s(73214),d=s(81155),o=s(2921),m=s(42268),c=s(23960),u=s(43431),f=s(30016),x=s(19189),h=s(85461),p=s(23920),g=s(15526),b=s(63853),w=s(39412),N=s(27349),v=s(44843),y=s(8039),j=s(40627),I=s(63709),C=s(4134),A=s(59764),S=s(94312),W=s(46475);let F=(e,t)=>[e?.firstName,e?.lastName].filter(Boolean).join(" ").trim()||e?.email||(t?`Member ${t}`:"Member"),E=(e,t)=>{let s=t.trim().toLowerCase();return!s||e?.firstName?.toLowerCase().startsWith(s)?0:e?.lastName?.toLowerCase().startsWith(s)?1:e?.email?.toLowerCase().startsWith(s)?2:3},M=function({eventId:e,isOpen:t,onClose:s,eventData:M,userInfos:$=[],onUpdated:k,fetchWaitlist:L=j.W8,acceptFn:_,removeFn:D,addFn:z,enrollFn:T,moduleType:B="league"}){let{facility:O,user:U}=(0,a.useContext)(w.c),Q=(0,h.jE)(),{waiverFlowElement:P,waiverGateOpen:q}=(0,v.d)(),[Y,H]=(0,a.useState)(""),[R,Z]=(0,a.useState)([]),[G,J]=(0,a.useState)([]),[K,V]=(0,a.useState)(!1),[X,ee]=(0,a.useState)({}),[et,es]=(0,a.useState)(new Set),[er,ea]=(0,a.useState)(null),[ei,en]=(0,a.useState)(null),[el,ed]=(0,a.useState)(null),eo=(0,p.I)(["event-waitlist",String(e)],()=>L(Number(e)),{enabled:t&&!!e,staleTime:0,cacheTime:0});(0,a.useEffect)(()=>{t&&e&&(es(new Set),J([]),eo.refetch())},[t,e]),(0,a.useEffect)(()=>{if(!t||!U?.userId||"program"!==B)return;let e=(0,N.zz)(U.userId),s=async e=>{if(e?.action!=="signed"||e?.userId==null)return;let t=Number(e.userId);if(!t||q||!(Array.isArray(eo.data?.data?.data)?(eo.data?.data).data:Array.isArray(eo.data?.data)?eo.data?.data:[]).some(e=>Number(e.userId)===t&&"waiver_pending"===e.waitlistStatus))return;try{await ej(t)}catch(t){let e=t?.response?.data?.message||t?.message||"Could not enroll member";if(!/already|enrolled|exists|duplicate|confirmed|capacity|full|spots/i.test(e))return void(0,x.$U)({description:e,color:"danger",variant:"flat"})}let s=eu.get(t);(0,x.$U)({description:`${F(s,t)} signed the waiver and has been enrolled.`,color:"success",variant:"flat"}),es(e=>new Set(e).add(t)),await eI()};return e.on("guest_waiver:signed",s),()=>{e.off("guest_waiver:signed",s)}},[t,U?.userId,e,B,q]);let em=eo.data?.data??{},ec=(Array.isArray(em?.data)?em.data:Array.isArray(em)?em:M?.userWaitlist??[]).filter(e=>!et.has(Number(e.userId))),eu=(0,a.useMemo)(()=>{let e=new Map,t=ec.map(e=>({id:e.user?.id??e.user?.userId??e.userId,firstName:e.user?.firstName??e.firstName,lastName:e.user?.lastName??e.lastName,profileImage:e.user?.profileImage??e.profileImage,email:e.user?.email??e.email,genderCode:e.user?.genderCode??e.user?.gender?.code??e.genderCode})).filter(e=>e.id);return[...$,...em?.config?.userInfo??[],...t,...G].forEach(t=>{let s=Number(t?.id??t?.userId);s&&e.set(s,{...e.get(s),...t})}),e},[G,$,em?.config?.userInfo,ec]);(0,a.useEffect)(()=>{if(!ec.length)return;let e=ec.map(e=>Number(e.userId)).filter(e=>e&&(!eu.get(e)?.firstName||!eu.get(e)?.email));e.length&&e.forEach(async e=>{try{let t=await (0,I.sC)(e);t&&J(s=>{let r=s.findIndex(t=>Number(t.id??t.userId)===e),a={id:e,userId:e,firstName:t.firstName,lastName:t.lastName,profileImage:t.profileImage,email:t.email,genderCode:t.gender?.code??t.genderCode};if(-1!==r){let e=[...s];return e[r]={...s[r],...a},e}return[...s,a]})}catch{}})},[ec.length]);let ef=(0,a.useMemo)(()=>{let e=Y.trim().toLowerCase();return e?ec.filter(t=>{let s=Number(t.userId),r=eu.get(s);return F(r,s).toLowerCase().includes(e)||r?.email?.toLowerCase().includes(e)}):ec},[eu,Y,ec]),ex=(0,a.useMemo)(()=>{let e=[],t=[],s=[];return ef.forEach(r=>{let a,i=(a=eu.get(Number(r.userId)),a?.gender?.code??a?.genderCode??"");"M"===i?e.push(r):"F"===i?t.push(r):s.push(r)}),{men:e,women:t,other:s}},[eu,ef]),eh=(0,a.useMemo)(()=>{let e=M?.genderCode;if("M"===e)return[{title:"Men's Waitlist",entries:ef}];if("F"===e)return[{title:"Women's Waitlist",entries:ef}];if("A"===e)return[{title:"Men's Waitlist",entries:ex.men},{title:"Women's Waitlist",entries:ex.women},...ex.other.length>0?[{title:"Other Waitlist",entries:ex.other}]:[]];let t=[...ex.men.length>0?[{title:"Men's Waitlist",entries:ex.men}]:[],...ex.women.length>0?[{title:"Women's Waitlist",entries:ex.women}]:[],...ex.other.length>0?[{title:"Other Waitlist",entries:ex.other}]:[]];return t.length>0?t:[{title:"Waitlist",entries:ef}]},[M?.genderCode,ef,ex,eu]),{mutateAsync:ep,isLoading:eg}=(0,g.n)(e=>(0,y.HT1)({s:1,sb:"usr_fclt.confirmed",so:"eq",s3:1,sb3:"usr_fclt.status",so3:"eq",s4:`*${e}*`,sb4:"usr.firstName , usr.email",so4:"l",s2:O?.id,sb2:"usr_fclt.facilityId",so2:"eq",ob:"usr_fclt.createdAt",o:"d"})),{mutateAsync:eb}=(0,g.n)(t=>z?z(t):(0,j.GZ)({eventId:Number(e),userIds:[t]})),{mutateAsync:ew,isLoading:eN}=(0,g.n)(t=>_?_(t):(0,j.aY)({eventId:Number(e),userId:t}
1)),{mutateAsync:ev,isLoading:ey}=(0,g.n)(t=>D?D(t):(0,j.ot)({eventId:Number(e),userId:t})),ej=async t=>{if(T)return T(t);let s={userIds:[t],eventId:Number(e)};return"program"===B?(0,j.q5)(s):"event"===B?(0,j.OZ)(s):(0,j.NJ)(s)},eI=async()=>{let t=String(e);await eo.refetch(),Q.invalidateQueries(["event-waitlist",t]),Q.invalidateQueries(["league",t]),Q.invalidateQueries(["league",t,"scoreboard"]),Q.invalidateQueries(["league",t,"teamscoreboard"]),Q.invalidateQueries(["ladder",t]),Q.invalidateQueries(["ladder-scoreboard",t]),await k?.()},eC=(0,b.YQ)(async e=>{let t=await ep(e);t.status.toString().startsWith("2")&&(Z(t?.data?.data??[]),J(e=>[...e,...t?.data?.config?.userInfo??[]]))},500),eA=async e=>{ed(e);try{(await eb(e)).status.toString().startsWith("2")&&((0,x.$U)({description:"Member added to waitlist.",color:"success",variant:"flat"}),await eI())}catch(e){(0,x.$U)({description:e?.response?.data?.message||"Could not add member to waitlist.",color:"danger",variant:"flat"})}finally{ed(null)}},eS=async e=>{ea(e);try{if(!(await ew(e)).status.toString().startsWith("2"))return;(0,x.$U)({description:"Member selected — a claim notification has been sent.",color:"success",variant:"flat"}),await eI(),s()}catch(e){(0,x.$U)({description:e?.response?.data?.message||"Could not select waitlist member.",color:"danger",variant:"flat"})}finally{ea(null)}},eW=async e=>{en(e);try{(await ev(e)).status.toString().startsWith("2")&&((0,x.$U)({description:"Member removed from waitlist.",color:"success",variant:"flat"}),await eI(),s())}catch(e){(0,x.$U)({description:e?.response?.data?.message||"Could not remove waitlist member.",color:"danger",variant:"flat"})}finally{en(null)}},eF=(e,t)=>{let s=Number(e.userId),a=eu.get(s),i=(e=>{let t=String(e?.waitlistStatus??"").toLowerCase();if("waiver_pending"===t)return"Waiver Pending";let s=String(e?.status??"").toLowerCase();return"selected"===s||"offered"===s||"pending_claim"===s||"accepted"===t?"Selected":"confirmed"===s?"Confirmed":"Waiting"})(e),n="Selected"===i?(e=>{let t=e?.claimExpiresAt??e?.claimDeadline??e?.expiresAt??e?.expireAt;if(!t)return"";let s="number"==typeof t?t>0x2540be3ff?t:1e3*t:new Date(t).getTime();if(!Number.isFinite(s))return"";let r=Math.max(0,Math.ceil((s-Date.now())/6e4));if(r<=0)return"";if(r<60)return`${r}m left`;let a=Math.floor(r/60),i=r%60;return i>0?`${a}h ${i}m left`:`${a}h left`})(e):"",l=n?`${i} \xb7 ${n}`:i,d="Confirmed"===i,o="Selected"===i,c=e.preferenceType;return(0,r.jsxs)("div",{className:"flex min-h-[92px] items-center justify-between gap-3 rounded-[6px] border border-neutral90 bg-white px-4 py-3 sm:min-h-[72px] sm:gap-3 sm:rounded sm:px-4",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-[#B7D771] bg-[#FAFFF0] text-lg font-medium text-[#7B9A2E] sm:h-8 sm:w-8 sm:text-sm",children:t+1}),(0,r.jsx)(W.A,{userId:s,profileImage:a?.profileImage,name:(0,C.Mn)(a),size:"sm",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),(0,r.jsxs)("div",{className:"min-w-0 flex flex-col gap-1",children:[(0,r.jsx)("p",{className:"truncate text-sm font-semibold leading-5 text-neutral40",children:F(a,s)}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[(0,r.jsx)("span",{className:(0,f.cn)("inline-flex rounded px-2 py-0.5 text-xs font-normal leading-tight","Confirmed"===i?"bg-[#D9F7EF] text-[#155846]":"Selected"===i?"bg-[#F6DEB7] text-[#8C5B13]":"Waiver Pending"===i?"bg-[#FEF3C7] text-[#92400E]":"bg-[#F5F6A5] text-[#6F7414]"),children:l}),c&&(0,r.jsx)("span",{className:(0,f.cn)("inline-flex rounded px-2 py-0.5 text-xs font-normal leading-tight","auto"===c?"bg-[#E0F2FE] text-[#0369A1]":"bg-[#F3F4F6] text-[#374151]"),children:"auto"===c?"Auto":"Manual"})]})]})]}),(0,r.jsxs)("div",{className:"flex shrink-0 items-center gap-3 sm:gap-2",children:[(0,r.jsx)(m.T,{isIconOnly:!0,variant:"flat","aria-label":"Remove from waitlist",isDisabled:ei===s,isLoading:ei===s,className:"h-12 w-12 min-w-12 rounded-[6px] bg-[#FDE3E1] text-[#A81F18] disabled:opacity-50 sm:h-10 sm:w-10 sm:min-w-10 sm:rounded",onPress:()=>eW(s),children:(0,r.jsx)("span",{className:"relative block h-5 w-5 before:absolute before:left-1/2 before:top-1/2 before:h-[2px] before:w-5 before:-translate-x-1/2 before:-translate-y-1/2 before:rotate-45 before:rounded before:bg-current after:absolute after:left-1/2 after:top-1/2 after:h-[2px] after:w-5 after:-translate-x-1/2 after:-translate-y-1/2 after:-rotate-45 after:rounded after:bg-current sm:h-4 sm:w-4 sm:before:w-4 sm:after:w-4"})}),!d&&!o&&(0,r.jsx)(m.T,{isIconOnly:!0,variant:"flat","aria-label":"Accept from waitlist",isDisabled:er===s,isLoading:er===s,className:"h-12 w-12 min-w-12 rounded-[6px] bg-[#D9F7EF] text-[#155846] disabled:opacity-50 sm:h-10 sm:w-10 sm:min-w-10 sm:rounded",onPress:()=>eS(s),children:(0,r.jsx)(S.A,{className:"h-[18px] w-[18px] sm:h-4 sm:w-4",color:"currentColor"})})]})]},`${e.id??s}-${t}`)};return(0,r.jsxs)(r.Fragment,{children:[P,(0,r.jsx)(i.Y,{isOpen:t,placement:"center",scrollBehavior:"inside",backdrop:"blur",onOpenChange:e=>{e||s()},closeButton:(0,r.jsx)(A.A,{width:36,height:36,className:"pointer",color1:"#74747E",color2:"#fff"}),classNames:{wrapper:"z-[90000] p-0 sm:px-4",backdrop:"z-[90000] bg-black/35",base:"flex h-dvh max-h-dvh w-screen max-w-none rounded-none bg-white sm:h-auto sm:max-h-[calc(100dvh-24px)] sm:w-[748px] sm:max-w-[calc(100vw-32px)] sm:rou
1nded",closeButton:"right-6 top-8 sm:right-8 z-[9999] pointer-events-auto",header:"shadow-none"},children:(0,r.jsxs)(n.g,{className:"flex h-full flex-col sm:h-auto",children:[(0,r.jsx)(l.c,{className:"flex min-h-[36px] items-center px-6 pb-2 pt-8 pr-16 sm:px-8",children:(0,r.jsx)("h2",{className:"font-bold text-neutral60",style:{fontFamily:"Inter",fontSize:18,lineHeight:"24px",letterSpacing:0},children:"Manage Waitlist"})}),(0,r.jsxs)(d.h,{className:"flex-1 px-6 pb-6 sm:px-8",children:[(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(c.r,{startContent:(0,r.jsx)("img",{src:"/images/searchIcon.svg",alt:""}),variant:"flat",classNames:{inputWrapper:(0,f.cn)("rounded bg-neutral95 text-neutral30 h-[48px]")},isClearable:!0,value:Y,placeholder:"Add to Waitlist",onChange:e=>{let t=e.target.value;H(t),Z([]),t.trim()?(V(!0),eC(t.trim())):V(!1)},onClear:()=>{H(""),V(!1),Z([])}}),K&&(0,r.jsx)("div",{className:"absolute left-0 right-0 top-[54px] z-[999999] max-h-[280px] overflow-y-auto rounded bg-white shadow-lg",children:eg?(0,r.jsx)("div",{className:"flex h-20 items-center justify-center",children:(0,r.jsx)(u.o,{color:"primary"})}):(0,r.jsxs)("ul",{className:"m-0 list-none p-0",children:[R.filter(e=>!ec.some(t=>Number(t.userId)===Number(e.userId))).filter(e=>!(M?.userEvents??[]).some(t=>Number(t.userId)===Number(e.userId))).slice().sort((e,t)=>E(eu.get(Number(e.userId)),Y)-E(eu.get(Number(t.userId)),Y)).map(e=>{let t=eu.get(Number(e.userId))??G.find(t=>Number(t.id)===Number(e.userId));return(0,r.jsxs)("li",{className:"flex items-center justify-between gap-3 border-b border-neutral90 px-4 py-3 last:border-b-0",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,r.jsx)(W.A,{userId:e.userId,profileImage:t?.profileImage,name:(0,C.Mn)(t),size:"sm",className:"h-9 w-9 shrink-0 rounded-full"}),(0,r.jsx)("span",{className:"truncate text-sm font-medium text-neutral40",children:F(t,e.userId)})]}),(0,r.jsx)(m.T,{color:"primary",size:"sm",isLoading:el===Number(e.userId),isDisabled:el===Number(e.userId),className:"h-8 rounded px-3 text-white",onPress:()=>eA(Number(e.userId)),children:"Add"})]},e.userId)}),!R.length&&(0,r.jsx)("li",{className:"px-4 py-4 text-sm text-neutral60",children:"No members found"})]})})]}),eo.isLoading?(0,r.jsx)("div",{className:"flex min-h-[260px] items-center justify-center",children:(0,r.jsx)(u.o,{color:"primary"})}):(0,r.jsx)("div",{className:(0,f.cn)("grid gap-8 pt-6 sm:pt-8",eh.length>1?"lg:grid-cols-2":"grid-cols-1"),children:eh.map(e=>{var t,s;let a;return(0,r.jsx)("div",{className:eh.length>2&&"Other Waitlist"===e.title?"lg:col-span-2":"",children:(t=e.title,s=e.entries,a=!0===X[t],(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:[(0,r.jsxs)("button",{type:"button",className:"flex w-full items-center justify-start gap-3 text-left sm:justify-center",onClick:()=>{ee(e=>({...e,[t]:!e[t]}))},children:[(0,r.jsxs)("h3",{className:"text-left text-base font-bold text-neutral40 sm:text-center",children:[t," (",s.length,")"]}),(0,r.jsx)("span",{className:(0,f.cn)("mt-1 block h-3 w-3 shrink-0 rotate-45 border-l-2 border-t-2 border-neutral40 transition-transform sm:hidden",a&&"rotate-[225deg]"),"aria-hidden":"true"})]}),!a&&(0,r.jsx)("div",{className:"flex flex-col gap-3",children:s.length?s.map(eF):(0,r.jsx)("div",{className:"py-8 text-center text-sm text-neutral60",children:"No waitlist members"})})]}))},e.title)})})]}),(0,r.jsxs)(o.q,{className:"sticky bottom-0 justify-end gap-4 bg-white px-6 pb-6 pt-4 shadow-[0_-12px_28px_rgba(0,0,0,0.06)] sm:px-8 sm:pb-8 sm:pt-2 sm:shadow-none",children:[(0,r.jsx)("button",{className:"h-12 min-w-[92px] text-base font-bold text-primary",onClick:s,children:"Cancel"}),(0,r.jsxs)(m.T,{color:"primary",className:"h-12 flex-1 rounded px-6 text-base font-bold text-white sm:flex-none",onPress:s,children:[(0,r.jsx)("span",{className:"sm:hidden",children:"Reserve"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"Save"})]})]})]})})]})}}}]);

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.