PageSourceSearch

https://www.sexpositiveportland.org/_next/static/chunks/6250-27f445ef546c119e.js

js sexpositiveportland.org collected 2026-10-01 15:04:15 UTC 63,812 bytes, 135 lines download raw bytes

1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8f6f0f0a-4662-4b15-9a15-92649c193de9",e._sentryDebugIdIdentifier="sentry-dbid-8f6f0f0a-4662-4b15-9a15-92649c193de9")}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6250],{1966:(e,t,s)=>{s.d(t,{$:()=>f,Eg:()=>u,Hh:()=>c,Kt:()=>l,OB:()=>y,Op:()=>b,Pe:()=>x,RD:()=>m,ab:()=>h,g6:()=>d,wC:()=>g,ys:()=>p,zk:()=>j});var r=s(86191),a=s(24447);let n={event:"EVENT",member:"MEMBER"},i={EVENT:"event",MEMBER:"member"};function l(e){return n[e]}function o(e){return{color:e.color,id:e.id,oridinal:e.ordinal,purpose:i[e.purpose],title:e.title}}function d(e){let t=(e.tags||[]).map(e=>({id:e.id,purpose:i[e.purpose],value:e.value}));return{...o(e),tags:t}}function c(e){return{id:e.id,purpose:i[e.purpose],tagGroup:e.tagGroup?o(e.tagGroup):null,value:e.value}}function u(e){return{filter:{archivedAt:{isNil:!0},purpose:{eq:n[e]}},sort:[{field:"ORDINAL"},{field:"TITLE"}],tagsFilter:{archivedAt:{isNil:!0}}}}let m=(0,r.J1)`
2  query ListTags2($filter: Tag2FilterInput) {
3    listTags2(filter: $filter) {
4      results {
5        id
6        purpose
7        tagGroupId
8        value
9        tagGroup {
10          color
11          id
12          ordinal
13          purpose
14          title
15        }
16      }
17    }
18  }
19`,p=(0,r.J1)`
20  mutation ReorderTagGroups2($input: ReorderTagGroups2Input!) {
21    reorderTagGroups2(input: $input) {
22      id
23      ordinal
24    }
25  }
26`,f=(0,r.J1)`
27  query ListTagGroups2(
28    $filter: TagGroup2FilterInput
29    $sort: [TagGroup2SortInput]
30    $tagsFilter: Tag2FilterInput
31  ) {
32    listTagGroups2(filter: $filter, sort: $sort) {
33      adminAccess
34      archivedAt
35      color
36      id
37      ordinal
38      othersAccess
39      ownerAccess
40      purpose
41      title
42      tags(filter: $tagsFilter) {
43        id
44        tagGroupId
45        value
46        purpose
47      }
48    }
49  }
50`,h=(0,r.J1)`
51  mutation CreateTagGroup2($input: CreateTagGroup2Input!) {
52    createTagGroup2(input: $input) {
53      result {
54        adminAccess
55        archivedAt
56        color
57        id
58        ordinal
59        othersAccess
60        ownerAccess
61        purpose
62        title
63      }
64      ${a.VE}
65    }
66  }
67`,x=(0,r.J1)`
68  mutation UpdateTagGroup2($input: UpdateTagGroup2Input!, $id: ID!) {
69    updateTagGroup2(input: $input, id: $id) {
70      result {
71        adminAccess
72        archivedAt
73        color
74        id
75        ordinal
76        othersAccess
77        ownerAccess
78        purpose
79        title
80      }
81      ${a.VE}
82    }
83  }
84`,g=(0,r.J1)`
85  mutation ArchiveTagGroup2($id: ID!) {
86    archiveTagGroup2(id: $id) {
87      result {
88        adminAccess
89        color
90        id
91        ordinal
92        othersAccess
93        ownerAccess
94        purpose
95        title
96      }
97      ${a.VE}
98    }
99  }
100`,y=(0,r.J1)`
101  mutation ArchiveTag2($id: ID!) {
102    archiveTag2(id: $id) {
103      result {
104        id
105        slug
106        purpose
107        value
108      }
109      ${a.VE}
110    }
111  }
112`,b=(0,r.J1)`
113  mutation CreateTag2($input: CreateTag2Input!) {
114    createTag2(input: $input) {
115      result {
116        id
117        slug
118        value
119      }
120      ${a.VE}
121    }
122  }
123`,j=(0,r.J1)`
124  mutation UpdateTag2($id: ID!, $input: UpdateTag2Input!) {
125    updateTag2(id: $id ,input: $input) {
126      result {
127        id
128        slug
129        value
130      }
131      ${a.VE}
132    }
133  }
134`},10585:(e,t,s)=>{s.d(t,{b:()=>l});var r=s(31167),a=s(1966),n=s(13220),i=s(14232);function l({hookForm:e,fieldName:t="tagIds"}){let s=(0,r.I)(a.$,{fetchPolicy:"cache-and-network",variables:(0,a.Eg)("event")}),l=(0,n.Jc)(),[o,d]=(0,i.useState)(l.tagGroups.filter(e=>"EVENT"===e.purpose)),[c,u]=(0,i.useState)([]),m=e.watch(t);async function p(){await s.refetch()}return(0,i.useEffect)(()=>{let e=s.data?.listTagGroups2;e&&d(e.map(e=>({...e,color:e.color||"#000000"})))},[s.data]),(0,i.useEffect)(()=>{let e=[];o.forEach(t=>{t.tags&&t.tags.forEach(s=>{e.push({...s,purpose:s.purpose.toUpperCase(),slug:"",tagGroupId:t.id||""})})}),u(e.filter(e=>m?.includes(e.id)))},[m,o]),{tags:c,tagGroups:o,loadTagGroups:p,onTagClick:function(s){let r=s.id,a=[];a=m?.includes(r)?m.filter(e=>e!==r):[...m||[],r],e.setValue(t,a)}}}},11920:(e,t,s)=>{s.d(t,{$u:()=>a,AM:()=>n,Jc:()=>r});var r=function(e){return e.HOST="HOST",e.VOLUNTEER="VOLUNTEER",e.PRESENTER="PRESENTER",e.VENUE_HOST="VENUE_HOST",e.STAFF="STAFF",e}({});let a=new Set(["HOST","PRESENTER","VENUE_HOST"]),n=new Set(["HOST","PRESENTER"])},25596:(e,t,s)=>{s.d(t,{S:()=>r});function r({hookForm:e,onDayChange:t}){let{setError:s,watch:r,setValue:a}=e;function n(e,t){"string"==typeof e&&(e=new Date(e)),"string"==typeof t&&(t=new Date(t));let r=e.getTime()<t.getTime();return r?(r=e.getTime()>
134new Date().getTime())?!!(r=t.getTime()-e.getTime()<2592e6)||(s("endAt",{type:"custom",message:"Must be no more than 30 days after the start time"}),!1):(s("endAt",{type:"custom",message:"Must be in the future"}),!1):(s("endAt",{type:"custom",message:"Must be after start time"}),!1)}return{onEndDateChange:function(t){t&&(e.clearErrors("startAt"),e.clearErrors("endAt"),n(r("startAt"),t),a("endAt",t))},onStartDateChange:function(s){if(!s)return;e.clearErrors("startAt"),e.clearErrors("endAt");let i=r("endAt");i=i&&new Date(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours()+2,s.getMinutes(),s.getSeconds());let l=new Date(s.getFullYear(),s.getMonth(),s.getDate(),i.getHours(),i.getMinutes(),s.getSeconds());n(s,l),t&&t({day:s.getDate(),month:s.getMonth()+1,year:s.getFullYear()}),a("startAt",s),a("endAt",l)}}}},73560:(e,t,s)=>{s.d(t,{A:()=>m});var r=s(37876),a=s(28418),n=s(58585),i=s(22611),l=s(47027),o=s(90115),d=s(14938),c=s(9095);let u=[{value:"AUTO",label:"New registrations go to a waitlist"},{value:"OFF",label:"Event is closed to new registrations"}];function m({editable:e,errors:t,register:s,watch:m}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.A,{"data-sentry-element":"SectionHeading","data-sentry-source-file":"PolicyFields.tsx",children:"Each Registration"}),(0,r.jsxs)(a.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PolicyFields.tsx",children:[(0,r.jsx)(a.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PolicyFields.tsx",children:"Unregistration Policy"}),e?(0,r.jsx)(n.A,{register:s("rsvpRules.unregistrationsAllowed"),label:"Allow attendees to unregister from event"}):m("rsvpRules.unregistrationsAllowed")?"allowed":"not allowed",(0,r.jsx)(l.A,{className:"mt-2","data-sentry-element":"HelpText","data-sentry-source-file":"PolicyFields.tsx",children:"When unchecked, attendees with 'Yes' RSVP cannot change to 'No' or 'Maybe'. They can still transfer their ticket if transfers are enabled."}),(0,r.jsx)(a.Kw,{name:"rsvpRules.unregistrationsAllowed",errors:t,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"PolicyFields.tsx"})]}),e&&(0,r.jsxs)(a.fh,{children:[(0,r.jsx)(a.Dk,{children:"Allowed number of guests per attendee"}),(0,r.jsxs)(o.A,{title:"Note",children:["The maximum number of people per registration is now set in the"," ",(0,r.jsx)("strong",{children:"Pricing"})," section."]})]}),(0,r.jsxs)(a.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PolicyFields.tsx",children:[(0,r.jsx)(a.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PolicyFields.tsx",children:"Ticket Transfers"}),(0,r.jsxs)(l.A,{className:"mt-2","data-sentry-element":"HelpText","data-sentry-source-file":"PolicyFields.tsx",children:["Ticket transfers allow attendees to transfer their ticket to another person. This feature is only available when all the following conditions are met:",(0,r.jsxs)("ul",{className:"list-disc list-outside ml-4 mt-2 mb-2",children:[(0,r.jsx)("li",{children:"Only one ticket type can be selected (see Pricing section)."}),(0,r.jsx)("li",{children:"There is a waitlist. If the waitlist type is per-option, then the target waitlisted registrant must match the price option in order to transfer a ticket to them."})]}),"If any of these conditions are not met, ticket transfers will not be available."]})]}),(0,r.jsx)(c.A,{"data-sentry-element":"SectionHeading","data-sentry-source-file":"PolicyFields.tsx",children:"All Registrations"}),(0,r.jsxs)(a.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PolicyFields.tsx",children:[(0,r.jsx)(a.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PolicyFields.tsx",children:"Registrations Closed"}),e?(0,r.jsx)(n.A,{register:s("rsvpRules.closed"),label:"Closed to RSVPs"}):m("rsvpRules.closed")?"yes":"no",(0,r.jsx)(a.Kw,{name:"rsvpRules.closed",errors:t,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"PolicyFields.tsx"})]}),(0,r.jsxs)(a.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PolicyFields.tsx",children:[(0,r.jsxs)(a.Dk,{marginBottomClass:"","data-sentry-element":"RowLabel","data-sentry-source-file":"PolicyFields.tsx",children:["Attendee limit",(0,r.jsx)(i.A,{"data-sentry-element":"RequiredFieldAsterisk","data-sentry-source-file":"PolicyFields.tsx"})]}),(0,r.jsx)(l.A,{className:"mb-2","data-sentry-element":"HelpText","data-sentry-source-file":"PolicyFields.tsx",children:"Enter '0' to have everyone start on the waitlist."}),e?(0,r.jsx)(a.ks,{type:"number",register:s("rsvpRules.rsvpLimit",{min:0,required:!0,valueAsNumber:!0})}):m("rsvpRules.rsvpLimit"),(0,r.jsx)(a.Kw,{name:"rsvpRules.rsvpLimit",errors:t,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"PolicyFields.tsx"})]}),(0,r.jsxs)(a.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PolicyFields.tsx",children:[(0,r.jsx)(a.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PolicyFields.tsx",children:"When the event is full"}),(0,r.jsx)(l.A,{className:"mb-2","data-sentry-element":"HelpText","data-sentry-source-file":"PolicyFields.tsx",children:"How should new registrations be handled when the event is full?"}),e?(0,r.jsx)(a.z6,{radios:u,register:s("rsvpRules.waitlisting")}):m("rsvpRules.waitlisting"),(0,r.jsx)(a.Kw,{name:"rsvpRules.waitlisting",errors:t,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"PolicyFields.tsx"})]}),"AUTO"===m("rsvpRules.waitlisting")&&(0,r.jsxs)(a.fh,{children:[(0,r.jsx)(a.Dk,{children:"Waitlist Type"}),(0,r.jsxs)(l.A,{className:"mb-2",children:[(0,r.jsx)("p",{className:"mb-2",children:"What type of waitlist should be used for this event?"}),(0,r.jsxs)("p",{className:"mb-2",children:["For ",(0,r.jsx)("em",{children:"Separate waitlists for each pricing option"}),", you'll need to set the capacity for each pricing option."]})]}),e?(0,r.jsx)(a.z6,{radios:d.q1,register:s("rsvpRules.waitlistType")}):m("rsvpRules.waitlistType"),(0,r.jsx)(a.Kw,{name:"rsvpRules.waitlistType",errors:t})]}),"AUTO"===m("rsvpRules.waitlisting")&&(0,r.jsxs)(a.fh,{children:[(0,r.jsx)(a.Dk,{children:"Waitlist Auto-Delisting"}),(0,r.jsx)(l.A,{className:"mb-2",children:"What should happen when someone unregisters from the event, opening up an available slot on the going list?"}),e?(0,r.jsx)(a.z6,{radios:d.zM,register:s("rsvpRules.waitlistDelist")}):m("rsvpRules.waitlistDelist"),(0,r.jsx)(a.Kw,{name:"rsvpRules.waitlistDelist",errors:t})]})]})}},74125:(e,t,s)=>{s.d(t,{n:()=>l});var r=s(80229),a=s(14232),n=s(31167),i=s(10290);function l({startAt:e,eventId:t}){let[s,l]=(0,a.useState)([]),o=(0,n.I)(i.iL,{skip:!0});async function d(e){let s={day:e.getDate(),year:e.getFullYear(),month:e.getMonth()+1},a=(0,r.eV)(s.month,{size:2}),n=(0,r.eV)(s.day,{size:2}),i=`${s.year}-${a}-${n}`,d=await o.refetch({additionalFilter:{day:i},filter:{or:[{status:{eq:"PUBLISHED"}},{status:{eq:"DRAFT"}}]},sort:{field:"START_AT",order:"ASC"},limit:50}),c=d.data?.listEvents?.results;c&&l(c=c.filter(e=>e.id!==t))}return(0,a.useEffect)(()=>{d(e||new Date)},[e]),{loadSameDayEvents:d,sameDayEvents:s}}},74335:(e,t,s)=>{s.d(t,{A:()=>P});var r=s(37876),a=s(49995),n=s(28418),i=s(22611),l=s(88694),o=s(47267),d=s(14232),c=s(49823),u=s(14938),m=s(85819),p=s(10290),f=s(80229),h=s(85081),x=s(82037),g=s(49940),y=s(58585),b=s(86879),j=s(47027),v=s(10969),T=s(72569),w=s(23955);let E=[{pricingType:c.Fy.FREE,title:"Free",description:"Single free ticket. RSVPs only.",bullets:["1 ticket type","No payment","Track attendance only"]},{pricingType:c.Fy.TICKETED,title:"Ticketed",description:"Multiple ticket options — free, paid, or mixed.",bullets:["Tiers (Budget / Regular / Funder)","Per-ticket pricing","Payment if any tier is paid"]},{pricingType:c.Fy.EXTERNAL,title:"External registration",description:"3rd-party site handles registration.",bullets:["Link to external URL","Optional displayed price","We track RSVPs only"]}];
134function N({value:e,onChange:t,disabled:s}){return(0,r.jsx)("div",{role:"radiogroup","aria-label":"Pricing path",className:"grid grid-cols-1 md:grid-cols-3 gap-4","data-sentry-component":"PricingPathSelector","data-sentry-source-file":"PricingPathSelector.tsx",children:E.map(a=>(0,r.jsx)(A,{card:a,selected:e===a.pricingType,disabled:s,onSelect:()=>t(a.pricingType)},a.pricingType))})}function A({card:e,selected:t,disabled:s,onSelect:n}){let i=(0,T.Eh)(),l=i===w.L.ADMIN,o=(0,v.CI)(i),d=l?t?"bg-[var(--group-accent-ultralight)]":"bg-white hover:bg-[var(--group-accent-ultralight)]/30":t?o.cardTintedBackgroundColor:o.cardTintedHoverColor,c=l?"text-secondary-700":o.cardMutedTextColor;return(0,r.jsxs)("div",{role:"radio","aria-checked":t,"aria-disabled":s,tabIndex:s?-1:0,onClick:s?void 0:n,onKeyDown:function(e){s||(" "===e.key||"Enter"===e.key)&&(e.preventDefault(),n())},className:(0,a.A)("flex flex-col gap-3 border rounded-lg p-4 transition-colors","border-[var(--group-border-color)]",t&&"border-2",d,s?"opacity-60 cursor-not-allowed":"cursor-pointer"),"data-testid":`pricing-path-${e.pricingType.toLowerCase()}`,"data-sentry-component":"PathCard","data-sentry-source-file":"PricingPathSelector.tsx",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(k,{selected:t,"data-sentry-element":"RadioBullet","data-sentry-source-file":"PricingPathSelector.tsx"}),(0,r.jsx)("span",{className:"font-bold text-base",children:e.title})]}),(0,r.jsx)("p",{className:(0,a.A)("text-sm",c),children:e.description}),(0,r.jsx)("ul",{className:(0,a.A)("text-sm list-disc pl-5 space-y-1",c),children:e.bullets.map(e=>(0,r.jsx)("li",{children:e},e))})]})}function k({selected:e}){return(0,r.jsx)("span",{"aria-hidden":"true",className:(0,a.A)("w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0",e?"border-[var(--group-heading-text-color)]":"border-[var(--group-border-color)]"),"data-sentry-component":"RadioBullet","data-sentry-source-file":"PricingPathSelector.tsx",children:e&&(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--group-heading-text-color)]"})})}let F=[{mode:"single",title:"Single option per registration",description:"Each registration picks one ticket option.",bullets:["One tier per RSVP","Ticket transfers supported"]},{mode:"multiple",title:"Multiple options per registration",description:"Registrants combine multiple ticket options in one registration.",bullets:["Mix tiers (e.g. 1 Adult + 2 Child)","Ticket transfers not available"]}];function R({value:e,onChange:t,disabled:s}){return(0,r.jsx)("div",{role:"radiogroup","aria-label":"Ticket options per registration",className:"grid grid-cols-1 md:grid-cols-2 gap-4","data-sentry-component":"TicketsPerRegistrationSelector","data-sentry-source-file":"TicketsPerRegistrationSelector.tsx",children:F.map(a=>(0,r.jsx)(S,{card:a,selected:e===a.mode,disabled:s,onSelect:()=>t(a.mode)},a.mode))})}function S({card:e,selected:t,disabled:s,onSelect:n}){let i=(0,T.Eh)(),l=i===w.L.ADMIN,o=(0,v.CI)(i),d=l?t?"bg-[var(--group-accent-ultralight)]":"bg-white hover:bg-[var(--group-accent-ultralight)]/30":t?o.cardTintedBackgroundColor:o.cardTintedHoverColor,c=l?"text-secondary-700":o.cardMutedTextColor;return(0,r.jsxs)("div",{role:"radio","aria-checked":t,"aria-disabled":s,tabIndex:s?-1:0,onClick:s?void 0:n,onKeyDown:function(e){s||(" "===e.key||"Enter"===e.key)&&(e.preventDefault(),n())},className:(0,a.A)("flex flex-col gap-3 border rounded-lg p-4 transition-colors","border-[var(--group-border-color)]",t&&"border-2",d,s?"opacity-60 cursor-not-allowed":"cursor-pointer"),"data-testid":`tickets-per-registration-${e.mode}`,"data-sentry-component":"ModeCard","data-sentry-source-file":"TicketsPerRegistrationSelector.tsx",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(C,{selected:t,"data-sentry-element":"RadioBullet","data-sentry-source-file":"TicketsPerRegistrationSelector.tsx"}),(0,r.jsx)("span",{className:"font-bold text-base",children:e.title})]}),(0,r.jsx)("p",{className:(0,a.A)("text-sm",c),children:e.description}),(0,r.jsx)("ul",{className:(0,a.A)("text-sm list-disc pl-5 space-y-1",c),children:e.bullets.map(e=>(0,r.jsx)("li",{children:e},e))})]})}function C({selected:e}){return(0,r.jsx)("span",{"aria-hidden":"true",className:(0,a.A)("w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0",e?"border-[var(--group-heading-text-color)]":"border-[var(--group-border-color)]"),"data-sentry-component":"RadioBullet","data-sentry-source-file":"TicketsPerRegistrationSelector.tsx",children:e&&(0,r.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--group-heading-text-color)]"})})}let M="free-max-qty-tooltip",I="external-max-qty-tooltip";function P({hookForm:e,event:t,editContext:s}){let{register:i,watch:l}=e,{selectedPricingType:x,selectPricingType:g,isAdmin:j,future:E,resolvedEvent:A,freeVariantIndex:k,freeVariant:F,handleAddVariantPressed:R,onPriceEdit:S,handleSetVariant:C,handleDeleteVariant:M,deleteVariantInfo:I,editingVariantId:P,showWaitlistCount:D,handleCloseModal:V}=function({hookForm:e,event:t,editContext:s}){let{setValue:r,watch:a,clearErrors:n}=e,i=!!s,l=s?.event??t,o=!l?.startAt||l.startAt>new Date,{handleAddVariantPressed:x,onPriceEdit:g,handleSetVariant:y,handleDeleteVariant:b,deleteVariantInfo:j}=function({eventId:e,hookForm:t}){let{watch:s,setValue:r}=t,[a,n]=(0,m.X)(p.aq);return{handleAddVariantPressed:function(){r("editingVariant",{id:`new:${(0,h.A)()}`,amount:"0",enabled:!0,isDefault:!1,name:"",originalQuantity:"",perRecipientMaxQuantity:1,perRecipientMinQuantity:0,pricingType:c.Fy.TICKETED,purpose:c.YF.EVENT,subtotalCalculation:c.oA.UNIT_TIMES_QUANTITY})},onPriceEdit:function(e){let t=s("variants").find(t=>
134t.id===e);r("editingVariant",{id:e,amount:t?.amount||"0",name:t?.name||"",enabled:t?.enabled??!0,originalQuantity:t?.originalQuantity??"",perRecipientMaxQuantity:t?.perRecipientMaxQuantity??null,perRecipientMinQuantity:t?.perRecipientMinQuantity??0,pricingType:t?.pricingType??c.Fy.TICKETED,purpose:t?.purpose??c.YF.EVENT,subtotalCalculation:t?.subtotalCalculation??c.oA.UNIT_TIMES_QUANTITY})},handleSetVariant:function(){let e=s("editingVariant");if(!e?.name)return void r("editingVariant",void 0);let t=(0,f.$J)(e.originalQuantity)??null,a=(0,f.$J)(e.perRecipientMinQuantity)??0,n=e.purpose===c.YF.EVENT?c.Fy.TICKETED:null,i=(0,c.No)({...e,originalQuantity:t,perRecipientMinQuantity:a,pricingType:n}),l=s("variants").findIndex(t=>t.id===e.id);l>=0?r(`variants.${l}`,i):r("variants",[...s("variants")||[],i]),r("editingVariant",void 0)},handleDeleteVariant:async function(t){if(!t.startsWith("new:")){if(!e)throw Error("Cannot delete a saved variant without an event id");if((await a({variables:{id:e,input:{variantId:t}}},"destroyEventVariant")).hasError)return!1}return r("variants",(s("variants")||[]).filter(e=>e.id!==t)),r("editingVariant",void 0),!0},deleteVariantInfo:n}}({eventId:l?.id,hookForm:e}),v=a("editingVariant.id"),T="AUTO"===a("rsvpRules.waitlisting"),w=(0,d.useCallback)(()=>r("editingVariant",void 0),[r]),E=!!a("paymentBypassed"),N=a("pricingType")??null,A=a("variants"),k=(0,d.useMemo)(()=>A||[],[A]),F=N||(0,u.DM)(E,k),R=(0,d.useRef)(void 0),S=(0,d.useMemo)(()=>k.map(e=>`${e.id}:${e.enabled}:${e.amount}:${e.purpose}`).join(","),[k]);(0,d.useEffect)(()=>{N!==F&&r("pricingType",F,{shouldDirty:!0})},[F]),(0,d.useEffect)(()=>{(0,u.pl)(k,F)&&r("variants",[...k,F===c.Fy.FREE?(0,u.a$)():(0,u.XD)()],{shouldDirty:!0})},[F,S]);let C=k.findIndex(e=>e.purpose===c.YF.EVENT&&e.pricingType===F),M=C>=0?k[C]:void 0,I=M?.perRecipientMaxQuantity;return(0,d.useEffect)(()=>{F!==c.Fy.FREE&&F!==c.Fy.EXTERNAL||C<0||null==I&&r(`variants.${C}.perRecipientMaxQuantity`,1)},[F,S,C,I,r]),{selectedPricingType:F,selectPricingType:function(e){e!==F&&(n("variants"),F!==c.Fy.FREE&&(R.current=a("feeAmount")),r("paymentBypassed",e===c.Fy.EXTERNAL,{shouldDirty:!0}),r("pricingType",e,{shouldDirty:!0}),e!==c.Fy.FREE&&null!=R.current&&r("feeAmount",R.current,{shouldDirty:!0}))},isAdmin:i,future:o,resolvedEvent:l,freeVariantIndex:C,freeVariant:M,handleAddVariantPressed:x,onPriceEdit:g,handleSetVariant:y,handleDeleteVariant:b,deleteVariantInfo:j,editingVariantId:v,showWaitlistCount:T,handleCloseModal:w}}({hookForm:e,event:t,editContext:s}),O=(0,T.Eh)(),U=O===w.L.ADMIN?"text-secondary-700":(0,v.CI)(O).cardMutedTextColor;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:(0,a.A)("text-sm -mt-2 mb-2",U),children:"Pick the path that fits."}),(0,r.jsx)(N,{value:x,onChange:g,disabled:!E,"data-sentry-element":"PricingPathSelector","data-sentry-source-file":"PricingEdit.tsx"}),x===c.Fy.FREE&&(0,r.jsx)($,{hookForm:e,freeVariantIndex:k,freeVariant:F,future:E}),x===c.Fy.TICKETED&&(0,r.jsx)(G,{hookForm:e,event:A,future:E,isAdmin:j,onAddVariant:R,onEditVariant:S}),x===c.Fy.EXTERNAL&&(0,r.jsx)(L,{hookForm:e,event:A,future:E,freeVariantIndex:k,freeVariant:F}),j&&x!==c.Fy.EXTERNAL&&(0,r.jsxs)(n.fh,{children:[(0,r.jsx)(b.A,{children:"Realtime Charge"}),(0,r.jsx)(n.Dk,{children:"Charge attendees at time of registration"}),E?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"mb-2",children:"Normally, attendees are charged around the time of the event. You may override this behavior, and charge attendees immediately."}),(0,r.jsxs)("p",{className:"mb-2",children:[(0,r.jsx)("b",{children:"Note:"})," If you enable this option, you'll be responsible for handling refunds. Be sure to include your refund policy in the event description, as the registration form will direct attendees to read it."]}),(0,r.jsx)(y.A,{register:i("realtimeCharge"),label:"Charge attendees immediately"})]}):l("realtimeCharge")?"yes":"no"]}),(0,r.jsx)(o.A,{editingVariantId:P,hookForm:e,isOpen:!!l("editingVariant"),onClose:V,onDelete:M,deleteVariantInfo:I,onSubmit:C,showWaitlistCount:D,event:A,"data-sentry-element":"PriceEditModal","data-sentry-source-file":"PricingEdit.tsx"})]})}function D(e){return e.purpose===c.YF.GENERIC||e.purpose===c.YF.EVENT&&e.pricingType===c.Fy.TICKETED}function G({hookForm:e,event:t,future:s,isAdmin:a,onAddVariant:o,onEditVariant:d}){let{formState:c,register:u,setValue:m,watch:p}=e,{errors:h}=c;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsxs)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:["Displayed price",(0,r.jsx)(i.A,{"data-sentry-element":"RequiredFieldAsterisk","data-sentry-source-file":"PricingEdit.tsx"})]}),s?(0,r.jsx)(n.F0,{register:u("feeAmount",{min:0,valueAsNumber:!0,required:!0}),min:0}):(0,f.o5)(t?.feeAmount??0),(0,r.jsx)(j.A,{className:"text-sm mt-1","data-sentry-element":"HelpText","data-sentry-source-file":"PricingEdit.tsx",children:"Shown on the event listing. Set $0 if all tickets are free."}),(0,r.jsx)(n.Kw,{errors:h,name:"feeAmount","data-sentry-element":"ErrorMessage","data-sentry-source-file":"PricingEdit.tsx"})]}),(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:"Ticket options"}),s&&(0,r.jsx)(x.tA,{type:"button",onClick:o,size:"small","data-testid":"pricing-add-ticket",children:"+ Add ticket"})]}),(0,r.jsx)(l.A,{hookForm:e,showAdminInstructions:a,readOnly:!s,displayFilter:D,onEditVariant:s?d:void 0,"data-sentry-element":"PricingOptionsList","data-sentry-source-file":"PricingEdit.tsx"})]}),(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsx)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:"Ticket options per registration"}),s?(0,r.jsx)(R,{value:null===p("rsvpRules.maxEventVariantCount")?"multiple":"single",onCh
134ange:e=>m("rsvpRules.maxEventVariantCount","multiple"===e?null:1)}):null===p("rsvpRules.maxEventVariantCount")?"Multiple ticket options per registration":"Single ticket option per registration"]})]})}function L({hookForm:e,event:t,future:s,freeVariantIndex:a,freeVariant:l}){let{formState:o,register:d,watch:u}=e,{errors:m}=o;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsx)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:"External registration URL"}),s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.ks,{register:d("signupUrl"),placeholder:"https://eventbrite.com/e/..."}),(0,r.jsx)(j.A,{className:"text-sm mt-1",children:"Optional. If set, members will be sent here to officially register. Leave blank if registration or payment happens at the door."}),(0,r.jsx)(n.Kw,{errors:m,name:"signupUrl"})]}):(0,r.jsx)("span",{className:"font-mono",children:u("signupUrl")})]}),(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsx)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:"Displayed price (informational)"}),s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.F0,{register:d("feeAmount",{min:0,valueAsNumber:!0}),min:0}),(0,r.jsx)(j.A,{className:"text-sm mt-1",children:"Shown on our platform."})]}):(0,f.o5)(t?.feeAmount??0)]}),a>=0&&(0,r.jsxs)(n.fh,{children:[(0,r.jsxs)(n.Dk,{children:["Maximum quantity allowed",(0,r.jsx)(i.A,{}),(0,r.jsx)(g.A,{tooltipId:I})]}),(0,r.jsx)(g.f,{id:I,content:(0,c.Up)(c.YF.EVENT)}),s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"max-w-[8rem]",children:(0,r.jsx)(n.ks,{type:"number",register:d(`variants.${a}.perRecipientMaxQuantity`,{min:1,valueAsNumber:!0,required:!0}),min:1})}),(0,r.jsx)(n.Kw,{errors:m,name:`variants.${a}.perRecipientMaxQuantity`})]}):(0,r.jsx)("span",{children:l?.perRecipientMaxQuantity??1})]}),(0,r.jsxs)("ul",{className:"text-sm space-y-1 mt-2",children:[(0,r.jsx)("li",{children:"✓ Members RSVP on our platform (so we can track attendance)"}),(0,r.jsx)("li",{children:"✓ Members are directed to register via the external link above"}),(0,r.jsx)("li",{children:"✓ No money is collected here — payment (if any) happens externally"})]})]})}function $({hookForm:e,freeVariantIndex:t,freeVariant:s,future:a}){let{register:l,formState:o}=e,{errors:d}=o,u=`variants.${t}`,m=`${u}.perRecipientMaxQuantity`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"PricingEdit.tsx",children:[(0,r.jsxs)(n.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"PricingEdit.tsx",children:["Maximum quantity allowed",(0,r.jsx)(i.A,{"data-sentry-element":"RequiredFieldAsterisk","data-sentry-source-file":"PricingEdit.tsx"}),(0,r.jsx)(g.A,{tooltipId:M,"data-sentry-element":"HelpTooltipAnchor","data-sentry-source-file":"PricingEdit.tsx"})]}),(0,r.jsx)(g.f,{id:M,content:(0,c.Up)(c.YF.EVENT),"data-sentry-element":"HelpTooltipBubble","data-sentry-source-file":"PricingEdit.tsx"}),a&&t>=0?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"max-w-[8rem]",children:(0,r.jsx)(n.ks,{type:"number",register:l(m,{min:1,valueAsNumber:!0,required:!0}),min:1})}),(0,r.jsx)(n.Kw,{errors:d,name:m})]}):(0,r.jsx)("span",{children:s?.perRecipientMaxQuantity??1})]}),(0,r.jsxs)("div",{className:"border-t border-dashed pt-3 mt-2 text-sm space-y-1",children:[(0,r.jsx)("p",{children:"✓ No payment will be collected."}),(0,r.jsx)("p",{children:"✓ Single ticket type — no tiers, no payment settings."}),(0,r.jsxs)(j.A,{className:"text-sm pt-1","data-sentry-element":"HelpText","data-sentry-source-file":"PricingEdit.tsx",children:["Event capacity is set on a separate screen. Need multiple ticket options? Switch to ",(0,r.jsx)("strong",{children:"Ticketed"})," above."]})]})]})}},74539:(e,t,s)=>{s.d(t,{A:()=>q});var r=s(37876),a=s(5811),n=s(39114),i=s(13220);function l({className:e,color:t,size:s,style:a}){let n="white";t&&(n=t);let i=`${s||18}px`;return(0,r.jsx)("div",{className:e,style:{...a||{},backgroundColor:n,width:i,height:i},"data-sentry-component":"TagColorSquare","data-sentry-source-file":"TagColorSquare.tsx",children:"\xa0"})}var o=s(78950),d=s(14232),c=s(82037),u=s(50015),m=s(31167),p=s(1966),f=s(33881),h=s(63945),x=s(28418),g=s(41704);
134function y(e){let{color:t,colorName:s,onClick:a,sizePx:n}=e;return n=n??18,(0,r.jsx)("a",{title:s,className:"inline-block cursor-pointer border",style:{backgroundColor:t,width:`${n}px`,height:`${n}px`},onClick:()=>a&&a(t),"data-sentry-component":"ColorBlock","data-sentry-source-file":"ColorBlock.tsx",children:"\xa0"})}var b=s(85819),j=s(88992);let v=[{name:"Blue",code:"#1033F5"},{name:"Brown",code:"#A37B4B"},{name:"Cyan",code:"#73F9FD"},{name:"Green",code:"#72F54A"},{name:"Magenta",code:"#EB52F7"},{name:"Orange",code:"#F19837"},{name:"Purple",code:"#882B8D"},{name:"Red",code:"#EB4025"},{name:"Yellow",code:"#FEFB53"}],T={width:"18px",height:"18px"},w=(0,a.PA)(function(e){let t,{tagGroup:s}=e,a={color:null,title:"",purpose:e.purpose||"member"},n=(0,j.mN)({defaultValues:a}),{register:i,setValue:l,watch:o}=n,[u,m]=(0,b.X)(p.ab),[w,E]=(0,b.X)(p.Pe),[N,A]=(0,b.X)(p.wC),[k,F]=(0,d.useState)(!1);async function R(t){let r={...t,purpose:(0,p.Kt)(t.purpose)},a=s?.id?await w({variables:{id:s.id,input:r}},"updateTagGroup2"):await u({variables:{input:r}},"createTagGroup2");if(a.hasError||!a.data)return;let n=s?.id?"update":"create";e.onChange&&e.onChange({action:n,tagGroup:(0,p.g6)(a.data)})}async function S(){if(!s?.id)return;let t=await N({variables:{id:s.id}},"archiveTagGroup2");F(!1),!t.hasError&&e.onChange&&e.onChange({action:"delete",tagGroup:s})}function C(e){l("color",e)}(0,d.useEffect)(()=>
134{l("title",s?.title??""),s?.purpose&&l("purpose",s.purpose),l("color",s?.color??null)},[s]);let M=n.handleSubmit(R),I=o("purpose");return"member"===I?t="Are you sure you want to delete this tag group? This will remove all tags in this tag group from all members who have it.":"event"===I&&(t="Are you sure you want to delete this tag group? This will remove all tags in this tag group from all events that have it."),(0,r.jsxs)("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation(),M(e)},className:"flex flex-col gap-6","data-sentry-component":"TagGroupForm","data-sentry-source-file":"TagGroupForm.tsx",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between",children:[(0,r.jsxs)("h2",{className:"h2",style:{margin:0},children:[s?.id?"":"Add"," Tag Group"]}),s?.id&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.et,{onClick:function(){F(!0)},withIcon:!0}),(0,r.jsx)(h.A,{deleting:k,onDelete:S,onClose:()=>F(!1),prompt:t})]})]}),(0,r.jsx)(f.A,{mutationInfo:A,className:"mt-4","data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagGroupForm.tsx"})]}),(0,r.jsxs)(x.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"TagGroupForm.tsx",children:[(0,r.jsx)(x.Dk,{required:!0,"data-sentry-element":"RowLabel","data-sentry-source-file":"TagGroupForm.tsx",children:"Title"}),(0,r.jsx)(x.ks,{register:i("title"),"data-sentry-element":"TextInput","data-sentry-source-file":"TagGroupForm.tsx"})]}),e.purpose?null:(0,r.jsxs)(x.fh,{children:[(0,r.jsx)(x.Dk,{required:!0,children:"Purpose"}),(0,r.jsx)(x.z6,{radios:[{label:"Members",value:"member"},{label:"Events",value:"event"}],register:i("purpose")})]}),(0,r.jsxs)(x.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"TagGroupForm.tsx",children:[(0,r.jsx)(x.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"TagGroupForm.tsx",children:"Color"}),(0,r.jsxs)("div",{className:"flex items-center gap-4 mb-4",style:{height:"36px"},children:["Current Color:"," ",(0,r.jsx)("div",{className:"border flex items-center justify-center text-gray-dark",style:{width:"36px",height:"36px",backgroundColor:o("color")||void 0},children:o("color")?(0,r.jsx)(r.Fragment,{children:"\xa0"}):(0,r.jsx)(g.A,{className:"fill-current",style:{width:"30px",height:"30px"}})})]}),(0,r.jsxs)("div",{className:"flex gap-1",children:[v.map((e,t)=>(0,r.jsx)(y,{color:e.code,colorName:e.name,onClick:C},t)),(0,r.jsx)("a",{style:{...T},title:"none",className:"cursor-pointer border text-gray-dark flex items-center justify-center",onClick:()=>C(null),children:(0,r.jsx)(g.A,{className:"fill-current",style:{width:"14px",height:"14px"},"data-sentry-element":"CrossIcon","data-sentry-source-file":"TagGroupForm.tsx"})})]})]}),(0,r.jsx)(f.A,{mutationInfo:m,"data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagGroupForm.tsx"}),(0,r.jsx)(f.A,{mutationInfo:E,"data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagGroupForm.tsx"}),(0,r.jsx)(x.fC,{cancel:{onClick:()=>e.onCancel&&e.onCancel()},"data-sentry-element":"SubmitButtonRow","data-sentry-source-file":"TagGroupForm.tsx"})]})});var E=s(64177),N=s(79344),A=s(94829),k=s(28333),F=s(26975),R=s(92782);let S=(0,a.PA)(function(e){let{error:t,onNeedsRefresh:s,tagGroups:a,purpose:n}=e,i=(0,R.A)({onDrop:o}),[l]=(0,E.n)(p.ys,{errorPolicy:"all"});async function o(e){let t=e.map((e,t)=>({id:e,ordinal:t})),r={purpose:(0,p.Kt)(n),tagGroups:t};!(await l({variables:{input:r}})).errors&&s&&s()}return(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-sentry-component":"TagGroupsAdminList","data-sentry-source-file":"TagGroupsAdminList.tsx",children:[e.flash&&(0,r.jsx)(A.A,{children:e.flash}),(0,r.jsx)(F.A,{error:t,"data-sentry-element":"ApolloApiError","data-sentry-source-file":"TagGroupsAdminList.tsx"}),a&&(0,r.jsx)("div",{className:"flex flex-col gap-1",id:"TagGroupsList",children:a.map(t=>(0,r.jsx)(C,{usingSort:i,group:t,onEditClick:t=>e.onEdit&&e.onEdit(t)},t.id))})]})});function C(e){let{group:t,usingSort:s}=e,{getItemClass:a,sortable:n}=s,i=a(t.id);return(0,r.jsxs)("div",{...n,id:t.id,className:`${i} border p-2 flex justify-between`,"data-sentry-component":"GroupItem","data-sentry-source-file":"TagGroupsAdminList.tsx",children:[(0,r.jsx)(N.A,{"data-sentry-element":"GripCol","data-sentry-source-file":"TagGroupsAdminList.tsx"}),(0,r.jsx)(k.A,{className:"grow flex justify-between","data-sentry-element":"ListItem","data-sentry-source-file":"TagGroupsAdminList.tsx",children:(0,r.jsxs)("div",{className:"grow flex justify-between",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[t.color?(0,r.jsx)("div",{style:{backgroundColor:t.color,width:"18px",height:"18px"},children:"\xa0"}):null,t.title]}),(0,r.jsx)("button",{className:"a",onClick:function(s){s.preventDefault(),e.onEditClick&&e.onEditClick(t)},children:"edit"})]})})]})}let M=(0,a.PA)(function(e){let{purpose:t}=e,s={screen:e.initialScreen||"list",currentItem:e.tagGroup},[a,n]=(0,d.useState)(s),i=(0,m.I)(p.$,{fetchPolicy:"cache-and-network",variables:(0,p.Eg)(t)}),l=[{screen:"list",content:(0,r.jsx)(u.o_,{children:"Tag Groups"})},{screen:"new",content:(0,r.jsx)(u.zm,{children:"Add Tag Group"})}];"edit"===a.screen&&(l=[...l,{screen:"edit",content:(0,r.jsx)(u.km,{children:"Edit Tab Group"})}]);let o=i.data?.listTagGroups2?.map(p.g6);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h2",{className:"h2",style:{marginTop:0},children:"Tag Group Management"}),(0,r.jsx)(c.tU,{tabs:l,screen:a.screen,onChange:function(e){n({screen:e})},className:"mb-4","data-sentry-element":"Tabs","data-sentry-source-file":"TagGroupManagement.tsx"}),"list"===a.screen&&(0,r.jsx)(S,{onEdit:function(e){n({screen:"edit",currentItem:e})},onNeedsRefresh:function(){i.refetch(),e.onNeedsRefresh&&e.onNeedsRefresh()},error:i.error,flash:a.flash,purpose:t,tagGroups:o}),["new","edit"].includes(a.screen)&&(0,r.jsx)(w,{purpose:e.purpose,tagGroup:a.currentItem,onChange:function({action:t,tagGroup:s}){let r="Created";"update"===t&&(r="Updated"),"delete"===t&&(r="Deleted"),n({screen:"list",flash:`${r} "${s.title}"`}),i.refetch(),e.onChange&&e.onChange({action:t,tagGroup:s})},onCancel:function(){n({screen:"list"})}})]})}),I=(0,a.PA)(function(e){let{initialScreen:t,isOpen:s,linkContent:a,onClose:n,purpose:i,tagGroup:l}=e,[c,u]=(0,d.useState)(s||!1);return(0,d.useEffect)(()=>{"boolean"==typeof s&&u(s)},[s]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"a",onClick:function(e){e.preventDefault(),u(!0)},children:a||"Edit Tag Groups"}),(0,r.jsx)(o.A,{isOpen:c,onClose:function(){u(!1),n&&n()},"data-sentry-element":"SimpleModal","data-sentry-source-file":"TagGroupManagementModal.tsx",children:(0,r.jsx)(M,{initialScreen:t,purpose:i,tagGroup:l,onChange:e.onChange,onNeedsRefresh:e.onNeedsRefresh,"data-sentry-element":"TagGroupManagement","data-sentry-source-file":"TagGroupManagementModal.tsx"})})]})});var P=s(60711);function D({active:e,className:t,disabled:s,tag:a,tagGroup:n,onClick:i,onMouseDown:l}){let o="#ddd",d="#000";if(n?.color&&!1!==e){o=n.color;let e=(0,P.$C)(o);d=(0,P.cP)(e)?"white":"black"}let c={backgroundColor:o,color:d};return(0,r.jsx)("div",{className:`px-2 rounded ${!s&&(i||l)?"cursor-pointer":""} ${t||""}`,style:c,onClick:()=>!s&&i&&i(a),onMouseDown:()=>l&&l(a),"data-sentry-component":"TagItem","data-sentry-source-file":"TagItem.tsx",children:a.value})}var G=s(16710);let L=(0,a.PA)(function(e){let{tag:t,purpose:s}=e,a=(0,j.mN)({defaultValues:{value:"",tagGroupId:null,purpose:s||"member"}}),{formState:n,register:i,setValue:l,watch:o}=a,{errors:u}=n,g=a.handleSubmit(R),y=(0,m.I)(p.$,{fetchPolicy:"cache-and-network",variables:(0,p.Eg)(s)}),[v,T]=(0,b.X)(p.Op),[w,E]=(0,b.X)(p.zk),[N,A]=(0,b.X)(p.OB),[k,F]=(0,d.useState)(!1);async function R(s){let r={purpose:(0,p.Kt)(s.purpose),tagGroupId:s.tagGroupId||null,value:s.value}
134,a=t?.id?await w({variables:{id:t.id,input:r}},"updateTag2"):await v({variables:{input:r}},"createTag2");!a.hasError&&a.data&&e.onSave&&e.onSave({tag:a.data,action:t?.id?"update":"create"})}async function S(){F(!1),t?.id&&!(await N({variables:{id:t.id}},"archiveTag2")).hasError&&e.onSave&&e.onSave({action:"delete",tag:t})}(0,d.useEffect)(()=>{l("value",t?.value||""),l("tagGroupId",t?.tagGroup?.id||null)},[t]);let C=y.data?.listTagGroups2,M=[{value:"",label:o("tagGroupId")?"None":"Select"}];M=[...M,...C?.map(e=>({value:e.id,label:e.title}))||[]];let P="member"===s?"Are you sure you want to delete this member tag? This will remove the tag from all members who have it.":"Are you sure you want to delete this event tag? This will remove the tag from all events that have it.";return(0,r.jsxs)("form",{onSubmit:function(e){return e.preventDefault(),e.stopPropagation(),g(e)},className:"flex flex-col gap-6","data-sentry-component":"TagForm","data-sentry-source-file":"TagForm.tsx",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsx)("h2",{className:"h2",style:{margin:0},children:"Tag"}),(0,r.jsx)(c.et,{withIcon:!0,onClick:function(){F(!0)},"data-sentry-element":"DeleteButton","data-sentry-source-file":"TagForm.tsx"})]}),(0,r.jsx)(h.A,{onDelete:S,deleting:k,onClose:()=>F(!1),prompt:P,"data-sentry-element":"ConfirmDelete","data-sentry-source-file":"TagForm.tsx"}),(0,r.jsx)(f.A,{mutationInfo:A,className:"mt-4","data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagForm.tsx"})]}),(0,r.jsxs)(x.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"TagForm.tsx",children:[(0,r.jsx)(x.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"TagForm.tsx",children:"Tag Text"}),(0,r.jsx)(x.ks,{register:i("value"),"data-sentry-element":"TextInput","data-sentry-source-file":"TagForm.tsx"}),(0,r.jsx)(x.Kw,{name:"value",errors:u,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"TagForm.tsx"})]}),(0,r.jsxs)(x.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"TagForm.tsx",children:[(0,r.jsx)(x.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"TagForm.tsx",children:"Tag Group"}),(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[C&&(0,r.jsx)(G.A,{register:i("tagGroupId"),children:M.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,r.jsx)(I,{linkContent:"Manage Tag Groups",purpose:s,onChange:function(){y.refetch()},"data-sentry-element":"TagGroupManagementModal","data-sentry-source-file":"TagForm.tsx"})]}),(0,r.jsx)(x.Kw,{name:"value",errors:u,"data-sentry-element":"ErrorMessage","data-sentry-source-file":"TagForm.tsx"})]}),(0,r.jsx)(f.A,{mutationInfo:T,"data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagForm.tsx"}),(0,r.jsx)(f.A,{mutationInfo:E,"data-sentry-element":"AshMutationErrors","data-sentry-source-file":"TagForm.tsx"}),(0,r.jsx)(x.fC,{cancel:{onClick:()=>e.onCancel&&e.onCancel()},"data-sentry-element":"SubmitButtonRow","data-sentry-source-file":"TagForm.tsx"})]})});var $=s(13310);let V=(0,a.PA)(function(e){let{error:t,flash:s,purpose:a,tags:n,tagGroups:i}=e,[o,u]=(0,d.useState)();function m(t){return(0,r.jsx)("div",{className:"flex flex-col gap-1","data-sentry-component":"renderFiltered","data-sentry-source-file":"TagsAdminList.tsx",children:t&&t.length>0?t.map(t=>(0,r.jsx)(O,{tag:t,onEditClick:()=>e.onEdit&&e.onEdit(t)},t.id)):(0,r.jsx)("div",{children:"No tags found"})})}let p=n&&n.filter(e=>!e.tagGroup?.id);return(0,r.jsx)("div",{"data-sentry-component":"TagsAdminList","data-sentry-source-file":"TagsAdminList.tsx",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(I,{isOpen:!!o,initialScreen:"edit",tagGroup:o,onChange:function(){e.onRefreshNeeded&&e.onRefreshNeeded(),u(void 0)},purpose:a,"data-sentry-element":"TagGroupManagementModal","data-sentry-source-file":"TagsAdminList.tsx"}),(0,r.jsx)(F.A,{error:t,"data-sentry-element":"ApolloApiError","data-sentry-source-file":"TagsAdminList.tsx"}),s&&(0,r.jsx)(A.A,{children:s}),i&&i.map(t=>(0,r.jsxs)("div",{"data-testid":"tag-group-section",className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex justify-between items-center",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"h3",children:t.title}
134),t.color&&(0,r.jsx)(l,{color:t.color})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(c.tA,{onClick:()=>{u(t)},children:"Edit Tag Group"}),(0,r.jsxs)(x.rA,{className:"text-white flex items-center gap-2",onClick:()=>{e.onAddTagClicked&&e.onAddTagClicked(t)},type:"button",children:[(0,r.jsx)($.A,{className:"h-[18px] w-[18px] fill-current"})," ",(0,r.jsx)("div",{children:"Add Tag"})]})]})]}),m(n&&n.filter(e=>e.tagGroup?.id===t.id))]},t.id)),p&&p.length>0&&(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)("h3",{className:"h3",children:"Ungrouped Tags"}),m(p)]})]})})});function O(e){let{tag:t}=e;return(0,r.jsxs)("div",{"data-testid":"tag-item",className:"border p-2 flex justify-between","data-sentry-component":"TagItem","data-sentry-source-file":"TagsAdminList.tsx",children:[(0,r.jsx)("div",{children:t.value}),(0,r.jsx)("button",{className:"a",onClick:function(t){t.preventDefault(),e.onEditClick&&e.onEditClick()},children:"edit"})]})}let U=(0,a.PA)(function(e){let{purpose:t}=e,s=(0,m.I)(p.RD,{fetchPolicy:"cache-and-network",variables:{filter:{archivedAt:{isNil:!0}}}}),a=(0,m.I)(p.$,{fetchPolicy:"cache-and-network",variables:(0,p.Eg)(t)}),n=[{screen:"list",content:(0,r.jsx)(u.o_,{children:"Tags"})},{screen:"new",content:(0,r.jsx)(u.zm,{children:"Add Tag"})}],[i,l]=(0,d.useState)({screen:"list"});function o(){s.refetch(),a.refetch()}"edit"===i.screen&&(n=[...n,{screen:"edit",content:(0,r.jsx)(u.km,{children:"Edit Tag"})}]);let f=s.data?.listTags2.results?.map(p.Hh),h=a.data?.listTagGroups2?.map(p.g6);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h2",{className:"h2",style:{marginTop:0},children:"Tags Management"}),(0,r.jsx)(c.tU,{className:"mb-4",tabs:n,screen:i.screen,onChange:e=>l({screen:e}),"data-sentry-element":"Tabs","data-sentry-source-file":"TagManagement.tsx"}),"list"===i.screen&&(0,r.jsx)(V,{onAddTagClicked:function(e){l({screen:"new",currentItem:e?.id?{tagGroup:e}:void 0})},onEdit:function(e){l({screen:"edit",currentItem:e})},onRefreshNeeded:o,tags:f,tagGroups:h,flash:i.flash,error:s.error,purpose:e.purpose}),["new","edit"].includes(i.screen)&&(0,r.jsx)(L,{onCancel:()=>l({screen:"list"}),onSave:function({action:t,tag:s}){o();let r="Created";"update"===t&&(r="Updated"),"delete"===t&&(r="Deleted"),l({screen:"list",flash:`${r} "${s.value}"`}),e.onChange&&e.onChange()},tag:i.currentItem,purpose:e.purpose})]})}),B=(0,a.PA)(function(e){let{linkContent:t,onChange:s,purpose:a}=e,[n,i]=(0,d.useState)(!1);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"a",onClick:function(e){e.preventDefault(),i(!0)},children:t||"Edit Tags"}),(0,r.jsx)(o.A,{isOpen:n,onClose:()=>i(!1),"data-sentry-element":"SimpleModal","data-sentry-source-file":"TagManagementModal.tsx",children:(0,r.jsx)(U,{purpose:a,onChange:s,"data-sentry-element":"TagManagement","data-sentry-source-file":"TagManagementModal.tsx"})})]})});function H(e){let{tagGroups:t,currentTags:s}=e,a=e.disabled??!1,l=(0,i.IG)();function o(t){e.onTagClick&&e.onTagClick(t)}return(0,r.jsxs)("div",{className:"flex flex-col gap-6","data-sentry-component":"TagsSelection","data-sentry-source-file":"TagsSelection.tsx",children:[(0,r.jsx)("div",{className:"flex flex-col gap-4",style:{minHeight:"2em"},children:t&&t.map(e=>(0,r.jsx)(K,{currentTags:s,disabled:a,group:e,onTagClick:o},e.id))}),!a&&(0,r.jsx)("div",{className:"flex gap-4 items-center",children:(0,n.hN)(l,["events","members"])&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(B,{onChange:()=>e.onTagGroupsRefresh?.(),purpose:"event",linkContent:"Configure Tags"}),(0,r.jsx)(I,{onChange:()=>e.onTagGroupsRefresh?.(),onNeedsRefresh:()=>e.onTagGroupsRefresh?.(),purpose:"event",linkContent:"Configure Tag Groups"})]})})]})}function K({currentTags:e,disabled:t,group:s,onTagClick:a}){let n=(e||[]).map(e=>e.id);return(0,r.jsxs)("div",{className:"flex flex-col gap-2","data-sentry-component":"TagGroupSection","data-sentry-source-file":"TagsSelection.tsx",children:[(0,r.jsxs)("h3",{className:"h3 text-gray-darkest",style:{margin:0},children:[s.color?s.title:`${s.title}:`,s.color&&(0,r.jsx)(l,{color:s.color,className:"inline-block ml-2",style:{verticalAlign:"sub"}})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:s.tags.map(e=>(0,r.jsx)(D,{active:n.includes(e.id),disabled:t,tag:e,tagGroup:s,onClick:a},e.id))})]})}let q=(0,a.PA)(function(e){let{className:t,disabled:s,tagsState:a}=e,{tags:n,tagGroups:i,onTagClick:l,loadTagGroups:o}=a;return(0,r.jsx)("div",{className:t,"data-sentry-component":"EventTagsSelection","data-sentry-source-file":"EventTagsSelection.tsx",children:(0,r.jsx)(H,{disabled:s,onTagClick:l,currentTags:n,tagGroups:i,onTagGroupsRefresh:o,"data-sentry-element":"TagsSelection","data-sentry-source-file":"EventTagsSelection.tsx"})})})},97818:(e,t,s)=>{s.d(t,{A:()=>P});var r=s(37876),a=s(14232),n=s(49995),i=s(82037),l=s(25898),o=s(95494);let d=a.forwardRef(function({title:e,titleId:t,...s},r){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"
134currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},s),e?a.createElement("title",{id:t},e):null,a.createElement("path",{fillRule:"evenodd",d:"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.007 5.404.433c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.433 2.082-5.006z",clipRule:"evenodd"}))});var c=s(79344),u=s(99410),m=s(48303),p=s(78950),f=s(28418),h=s(16764),x=s(22611),g=s(75803),y=s(14938),b=s(11920),j=s(11888),v=s(91074),T=s(47027),w=s(49940);let E=["displayName","bio","photoId"];function N(e,t){let s=!e.displayName&&t?.name?t.name:void 0,r=!e.bio&&t?.profile?.intro?t.profile.intro:void 0,a=t?.profile?.photo,n=!e.photoId&&a?a.id:void 0;return{entry:{...e,...void 0!==s&&{displayName:s},...void 0!==r&&{bio:r},...void 0!==n&&{photoId:n}},seededKeys:[...void 0!==s?["displayName"]:[],...void 0!==r?["bio"]:[],...void 0!==n?["photoId"]:[]],photo:void 0!==n&&a?{id:a.id,url:a.url??""}:null}}var A=s(80229);let k="staff-public-search-engines",F=[{value:b.Jc.HOST,label:"Host"},{value:b.Jc.PRESENTER,label:"Presenter"},{value:b.Jc.VENUE_HOST,label:"Venue host"},{value:b.Jc.VOLUNTEER,label:"Volunteer"},{value:b.Jc.STAFF,label:"Staff member"}],R=[{key:"canTakeAttendance",label:"Take attendance"},{key:"canEditEventDetails",label:"Edit event details"},{key:"canSendAnnouncements",label:"Send announcements"},{key:"canModerateEventForum",label:"Moderate event forum"},{key:"canManageStaffPermissions",label:"Manage staff permissions"}];function S(e){let{isOpen:t,initialEntry:s,initialMember:n,initialPhoto:l,excludedMemberIds:o,onSave:d,onClose:c}=e,u=null!==s,[A,S]=(0,a.useState)(n),[I,P]=(0,a.useState)(()=>s??C()),[D,G]=(0,a.useState)(l),[L,$]=(0,a.useState)(()=>M(s)),[V,O]=(0,a.useState)(s?.displayName!=null),[U,B]=(0,a.useState)(s?.bio!=null),[H,K]=(0,a.useState)(s?.photoId!=null),[q,J]=(0,a.useState)(!1),[Q,z]=(0,a.useState)(null),[_,Y]=(0,a.useState)(null);function X(e,t){P({...I,[e]:t}),$(t=>new Set(t).add(e))}function W(){G(null),P({...I,photoId:null}),$(e=>new Set(e).add("photoId"))}(0,a.useEffect)(()=>{t&&(S(n),P(s??C()),G(l),$(M(s)),O(s?.displayName!=null),B(s?.bio!=null),K(s?.photoId!=null),J(!1),z(null),Y(null))},[t,s,n,l]);let Z=function(e){let t=!!e.memberId,s=!!e.displayName?.trim(),r=(t||s)&&!!e.role;return{isMemberBacked:t,nameLabel:t?"Display name":"Name",nameRequired:!t||!!e.public,showCapabilities:t,canSave:r,missingField:r?null:e.role?"Pick a member, or enter a name for someone without a GroupFlow account.":"Pick a role to continue.",entryToSave:t?e:y.Nu.reduce((e,t)=>({...e,[t]:!1}),e)}}(I);return(0,r.jsx)(p.A,{isOpen:t,onClose:c,title:u?"Edit staff member":"Add staff member","data-sentry-element":"SimpleModal","data-sentry-component":"StaffMemberModal","data-sentry-source-file":"StaffMemberModal.tsx",children:(0,r.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Member"}),A?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(m.A,{member:A,asLink:!1}),!u&&(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:function(){Y(I.memberId??null),S(null),P({...I,memberId:null}),z(null)},children:"Change member"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{onSelected:function(e){if(o.includes(e.id))return void z(`${e.name} is already on the staff list. Edit that entry instead.`);if(z(null),S(e),e.id===I.memberId)return;if(e.id===_)return void P({...I,memberId:e.id});Y(null);let t=function(e,t){let s={...e,memberId:t.id,displayName:null,bio:null,photoId:null};return e.public?N(s,t):{entry:s,seededKeys:[],photo:null}}(I,e);P(t.entry),G(t.photo),$(new Set([...[...L].filter(e=>!E.includes(e)),...t.seededKeys])),O(null!=t.entry.displayName),B(null!=t.entry.bio),K(null!=t.entry.photoId)},searchPlaceholder:"Look up by name..."}),!Z.isMemberBacked&&(0,r.jsx)(T.A,{as:"p",className:"mt-2",children:"Leave this empty for an outside presenter, facilitator or venue host with no GroupFlow account, and give their name below."}),Q&&(0,r.jsx)("div",{role:"alert",className:"text-sm text-red-700 mt-1",children:Q})]})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Role"}),(0,r.jsx)(T.A,{as:"p",className:"mb-2","data-sentry-element":"HelpText","data-sentry-source-file":"StaffMemberModal.tsx",children:"The staff member's role in the event. Does not affect permissions or behavior. It only communicates the person's role to others."}),(0,r.jsx)(f.z6,{radios:F,currentValue:I.role,onChange:function(e){let t=(0,y.wd)(e);P(y.wS.reduce((e,s)=>L.has(s)?e:{...e,[s]:t[s]},{...I,role:e}))},"data-sentry-element":"RadioGroup","data-sentry-source-file":"StaffMemberModal.tsx"})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Featured"}),(0,r.jsx)("p",{className:"text-sm mb-2",children:"Show on the primary hosts list on the event page and announcement email."}
134),(0,r.jsx)(h.A,{checked:I.featured??!1,onChange:e=>X("featured",e),srText:"Featured","data-sentry-element":"Toggle","data-sentry-source-file":"StaffMemberModal.tsx"})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Public"}),(0,r.jsx)("p",{className:"text-sm mb-2",children:"Allow the general public (non-members) to see this person's name, photo, bio, and role on the event page. The member profile itself stays private — the values shown here are copied into the staff entry so non-members never need access to the member's profile."}),b.AM.has(I.role)&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(T.A,{as:"p",className:"text-sm mb-2 inline-flex items-center cursor-help",children:[(0,r.jsx)("span",{"data-tooltip-id":k,children:"This setting affects search engine results"}),(0,r.jsx)(w.A,{tooltipId:k})]}),(0,r.jsx)(w.f,{id:k,content:"Search engines need at least one public presenter or host before they will show this event with its date, location, and price attached in search results. The page is still found and listed either way — without one it just appears as an ordinary web page rather than an event."})]}),(0,r.jsx)(h.A,{checked:I.public??!1,onChange:function(e){if(!e)return void X("public",!1);let t=N({...I,public:!0},A);t.photo&&G(t.photo),P(t.entry),$(new Set([...L,"public",...t.seededKeys])),O(!0),B(!0),K(!0)},srText:"Public","data-sentry-element":"Toggle","data-sentry-source-file":"StaffMemberModal.tsx"})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsxs)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:[Z.nameLabel,Z.nameRequired&&(0,r.jsx)(x.A,{})]}),!A||null!=I.displayName||V||I.public?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(f.ks,{value:I.displayName??"",onChange:e=>X("displayName",e.target.value||null),placeholder:A?A.name:"Name"}),A&&!I.public&&(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:()=>{X("displayName",null),O(!1)},children:"Use the member's profile name"})]}):(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,r.jsx)("span",{className:"text-sm",children:A.name}),(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline",onClick:()=>O(!0),children:"Override"})]})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Bio"}),!A||null!=I.bio||U||I.public?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(f.fs,{value:I.bio??"",onChange:e=>X("bio",e.target.value||null),rows:4,maxLength:1e3,placeholder:A?.profile?.intro??"Optional. Shown for this person on the event page."}),A&&!I.public&&(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:()=>{X("bio",null),B(!1)},children:A.profile?.intro?"Use the member's profile bio":"Clear override"})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[A.profile?.intro?(0,r.jsx)("p",{className:"text-sm whitespace-pre-wrap",children:A.profile.intro}):(0,r.jsx)("p",{className:"text-sm italic text-gray-darker",children:"This member has no bio on their profile."}),(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:()=>B(!0),children:"Override"})]})]}),(0,r.jsxs)(f.fh,{"data-sentry-element":"FormRow","data-sentry-source-file":"StaffMemberModal.tsx",children:[(0,r.jsx)(f.Dk,{"data-sentry-element":"RowLabel","data-sentry-source-file":"StaffMemberModal.tsx",children:"Photo"}),!A||null!=I.photoId||H||I.public?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(j.A,{photoValues:D?{id:D.id,photoId:D.id,content:A?.name??"",url:D.url}:void 0,onPhotoUploaded:function({photoId:e,url:t}){G({id:e,url:t}),P({...I,photoId:e}),$(e=>new Set(e).add("photoId"))},onRemovePhoto:W}),null!=I.photoId&&!D&&(0,r.jsx)(T.A,{as:"p",className:"text-sm",children:"A photo override is set on this entry, but its image couldn't be loaded."}),A&&(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:()=>{W(),K(!1)},children:A.profile?.photo?.url?"Use the member's profile photo":"Clear override"})]}):(0,r.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[A.profile?.photo?.url?(0,r.jsx)(v.A,{url:A.profile.photo.url,size:"medium"}):(0,r.jsx)("span",{className:"text-sm italic text-gray-darker",children:"This member has no profile photo."}),(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline",onClick:()=>K(!0),children:"Override"})]})]}),Z.showCapabilities&&(0,r.jsx)("button",{type:"button",className:"text-sm text-primary-700 underline self-start",onClick:()=>J(e=>!e),children:q?"Hide permissions and notifications":"Show permissions and notifications"}),Z.showCapabilities&&q&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(f.fh,{children:[(0,r.jsx)(f.Dk,{children:"Event notification emails"}),(0,r.jsxs)("label",{className:"inline-flex items-center gap-2",children:[(0,r.jsx)("input",{type:"checkbox",checked:I.eventNotificationsEnabled??!0,onChange:e=>X("eventNotificationsEnabled",e.target.checked)}),(0,r.jsx)("span",{className:"text-sm",children:"Receive staff-level event notification emails"})]})]}),(0,r.jsxs)(f.fh,{children:[(0,r.jsx)(f.Dk,{children:"Permissions"}),(0,r.jsx)("div",{className:"flex flex-col gap-2",children:R.map(({key:e,label:t})=>(0,r.jsxs)("label",{className:"inline-flex items-center gap-2",children:[(0,r.jsx)("input",{type:"checkbox",checked:I[e]??!0,onChange:t=>X(e,t.target.checked)}),(0,r.jsx)("span",{className:"text-sm",children:t})]},e))})]})]}),Z.missingField&&(0,r.jsx)("div",{role:"status",className:"text-sm text-right",children:(0,r.jsx)(T.A,{children:Z.missingField}
134)}),(0,r.jsxs)("div",{className:"flex justify-end gap-2 mt-2",children:[(0,r.jsx)(i.tA,{onClick:c,"data-sentry-element":"SecondaryButton","data-sentry-source-file":"StaffMemberModal.tsx",children:"Cancel"}),(0,r.jsx)(f.rA,{onClick:function(){Z.canSave&&d(Z.entryToSave,A,D)},disabled:!Z.canSave,"data-sentry-element":"ActionButton","data-sentry-source-file":"StaffMemberModal.tsx",children:u?"Save":"Add"})]})]})})}function C(){return{localKey:(0,A.gZ)(),memberId:null,role:b.Jc.HOST,...(0,y.wd)(b.Jc.HOST)}}function M(e){return e?new Set(Object.keys(e)):new Set}function I(e){return e.id?`id:${e.id}`:e.localKey?`local:${e.localKey}`:`member:${e.memberId??""}`}function P(e){let{staff:t,setStaff:s,eventStaff:n,extraSeedMember:i,errorSlot:l,renderHeader:o}=e,[d,c]=(0,a.useState)(()=>{var e,t;return e=n,G((t=i)?{[t.id]:t}:{},e)}),[m,p]=(0,a.useState)(()=>L({},n));(0,a.useEffect)(()=>{n&&(c(e=>G(e,n)),p(e=>L(e,n)))},[n]),(0,a.useEffect)(()=>{i&&c(e=>e[i.id]?e:{...e,[i.id]:i})},[i]);let[f,h]=(0,a.useState)(!1),[x,g]=(0,a.useState)(null),y=null!==x?t[x]:null,b=y?.photoId??null,{listRef:j,dragProps:v,getItemClass:T,getGripSortable:w}=(0,u.A)({onReorder:e=>{let r=new Map(t.map(e=>[I(e),e]));s(e.map(e=>r.get(e)).filter(e=>!!e))},cursorPointer:!1}),E=t.map((e,t)=>({index:t,entry:e,key:I(e),member:e.memberId&&d[e.memberId]||null}));function N(){h(!1),g(null)}return(0,r.jsxs)(r.Fragment,{children:[o({openAddModal:function(){g(null),h(!0)}}),(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[0===E.length&&(0,r.jsx)("div",{className:"text-sm text-secondary-700",children:"No staff members yet."}),(0,r.jsx)("div",{className:"flex flex-col gap-2",ref:j,children:E.map(e=>(0,r.jsx)(D,{entry:e.entry,member:e.member,sortId:e.key,dragProps:v,itemClass:T(e.key),gripSortable:w(e.key),onEdit:()=>{g(e.index),h(!0)},onRemove:()=>{var r;return r=e.index,void s(t.filter((e,t)=>t!==r))}},e.key))}),l]}),(0,r.jsx)(S,{isOpen:f,initialEntry:y,initialMember:y?.memberId&&d[y.memberId]||null,initialPhoto:b&&m[b]||null,excludedMemberIds:t.filter((e,t)=>t!==x).map(e=>e.memberId).filter(e=>!!e),onSave:function(e,r,a){r&&c(e=>({...e,[r.id]:r})),a&&p(e=>({...e,[a.id]:a})),null!==x?s(t.map((t,s)=>s===x?e:t)):s([...t,e]),N()},onClose:N,"data-sentry-element":"StaffMemberModal","data-sentry-source-file":"EventStaffListEditor.tsx"})]})}function D({entry:e,member:t,sortId:s,dragProps:a,itemClass:u,gripSortable:p,onEdit:f,onRemove:h}){let x=y.OI[e.role].noun,g=t?.name||e.displayName||"staff member";return(0,r.jsxs)("div",{...a,"data-sort-item":"true","data-sort-item-id":s,className:(0,n.A)("flex items-center gap-3 p-2 border rounded-md",u),"data-sentry-component":"StaffRow","data-sentry-source-file":"EventStaffListEditor.tsx",children:[(0,r.jsx)(c.A,{id:s,sortable:p,className:"w-10",iconSize:"24px","data-sentry-element":"GripCol","data-sentry-source-file":"EventStaffListEditor.tsx"}),(0,r.jsx)("div",{className:"grow",children:t?(0,r.jsx)(m.A,{member:t,asLink:!1}):(0,r.jsx)("span",{className:"text-sm text-secondary-700",children:e.displayName||"Unknown member"})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[e.featured&&(0,r.jsxs)(i.Ex,{type:"default",bgClass:"bg-amber-50",className:"text-amber-700 border-amber-500 inline-flex items-center gap-1 cursor-help",title:"Displayed on the main 'Hosts' list on the Event Page, and in the New Event Announcement email.",children:[(0,r.jsx)(d,{className:"size-4 text-amber-500"}),"Featured"]}),(0,r.jsx)(i.Ex,{type:"default","data-sentry-element":"Badge","data-sentry-source-file":"EventStaffListEditor.tsx",children:x}),(0,r.jsx)("button",{type:"button",onClick:f,"aria-label":`Edit ${g}`,className:"p-1 hover:bg-gray-100 rounded",children:(0,r.jsx)(l.A,{className:"size-4","data-sentry-element":"PencilIcon","data-sentry-source-file":"EventStaffListEditor.tsx"})}),(0,r.jsx)("button",{type:"button",onClick:h,"aria-label":`Remove ${g}`,className:"p-1 hover:bg-gray-100 rounded",children:(0,r.jsx)(o.A,{className:"size-4","data-sentry-element":"XMarkIcon","data-sentry-source-file":"EventStaffListEditor.tsx"})})]})]})}function G(e,t){if(!t)return e;let s=Object.fromEntries(t.map(e=>e.member).filter(e=>!!e).map(e=>[e.id,e]));return{...e,...s}}function L(e,t){if(!t)return e;let s=Object.fromEntries(t.map(e=>e.photo).filter(e=>!!e).map(e=>[e.id,{id:e.id,url:e.url}]));return{...e,...s}}}}]);
135//# sourceMappingURL=6250-27f445ef546c119e.js.map

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.