1"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[54302],{1883:function(e,a,n){n.r(a);var t=n(79321),s=n(60436),i=n(91212),r=n(64467),l=n(89379),o=n(10467),c=n(5544),u=n(88094),d=n(82724),m=n(45256),f=n(78154),h=(n(41159),n(15678)),v={main:{label:"Main image",help:"Portrait key art \xb7 recommended 374 \xd7 448 px",aspect:374/448},banner:{label:"Banner image",help:"Landscape cover art \xb7 recommended 3840 \xd7 1240 px",aspect:3840/1240}};a.default=function(e){var a=e.artwork,n=e.onArtworkChange,p=e.media,g=void 0===p?[]:p,b=e.onMediaChange,x=e.disabled,j=void 0!==x&&x,A=(0,u.useState)(null),w=(0,c.A)(A,2),y=w[0],_=w[1],N=(0,u.useState)({x:0,y:0}),k=(0,c.A)(N,2),C=k[0],S=k[1],q=(0,u.useState)(1),L=(0,c.A)(q,2),R=L[0],O=L[1],U=(0,u.useState)(null),G=(0,c.A)(U,2),T=G[0],E=G[1],F=(0,u.useState)([]),M=(0,c.A)(F,2),B=M[0],I=M[1],W=(0,u.useState)(""),P=(0,c.A)(W,2),D=P[0],z=P[1];(0,u.useEffect)((function(){return function(){return Object.values(a||{}).forEach((function(e){var a;return(null===e||void 0===e||null===(a=e.preview)||void 0===a?void 0:a.startsWith("blob:"))&&URL.revokeObjectURL(e.preview)}))}}),[a]);var Z=(0,u.useCallback)((function(e,a){return E(a)}),[]),Y=function(){var e=(0,o.A)((0,i.A)().m((function e(){var t,s,o;return(0,i.A)().w((function(e){for(;;)switch(e.n){case 0:if(y&&T){e.n=1;break}return e.a(2);case 1:return e.n=2,(0,f.default)(y.src,T);case 2:s=e.v,null!==(o=null===a||void 0===a?void 0:a[y.kind])&&void 0!==o&&null!==(t=o.preview)&&void 0!==t&&t.startsWith("blob:")&&URL.revokeObjectURL(o.preview),n((0,l.A)((0,l.A)({},a||{}),{},(0,r.A)({},y.kind,{blob:s,preview:URL.createObjectURL(s)}))),_(null);case 3:return e.a(2)}}),e)})));return function(){return e.apply(this,arguments)}}(),V=function(){var e=(0,o.A)((0,i.A)().m((function e(a){var n,r,l,o,c,u,d;return(0,i.A)().w((function(e){for(;;)switch(e.n){case 0:if(n=Array.from(a||[]),z(""),!(g.length+n.length>20)){e.n=1;break}return e.a(2,z("A festival game can include up to 20 gallery items."));case 1:if(!(r=n.find((function(e){return!e.type.startsWith("image/")&&!e.type.startsWith("video/")})))){e.n=2;break}return e.a(2,z("".concat(r.name," is not a supported image or video.")));case 2:if(!(l=n.find((function(e){return e.size>157286400})))){e.n=3;break}return e.a(2,z("".concat(l.name," is larger than 150MB.")));case 3:o=(0,s.A)(g||[]),c=(0,i.A)().m((function e(){var a,n,t,r;return(0,i.A)().w((function(e){for(;;)switch(e.p=e.n){case 0:return a=d[u],I((function(e){return[].concat((0,s.A)(e),[a.name])})),e.p=1,e.n=2,m.Ay.api.Media.uploadFile(a);case 2:n=e.v,o.push(n.data.data),b((0,s.A)(o)),e.n=4;break;case 3:e.p=3,r=e.v,z((null===r||void 0===r||null===(t=r.response)||void 0===t||null===(t=t.data)||void 0===t?void 0:t.error)||"Could not upload ".concat(a.name,"."));case 4:return e.p=4,I((function(e){return e.filter((function(e){return e!==a.name}))})),e.f(4);case 5:return e.a(2)}}),e,null,[[1,3,4,5]])})),u=0,d=n;case 4:if(!(u<d.length)){e.n=6;break}return e.d((0,t.A)(c()),5);case 5:u++,e.n=4;break;case 6:return e.a(2)}}),e)})));return function(a){return e.apply(this,arguments)}}();return(0,h.jsxs)("div",{className:"festival-media-editor",children:[D&&(0,h.jsx)("div",{className:"festival-flow-alert",role:"alert",children:D}),(0,h.jsx)("div",{className:"festival-artwork-grid",children:Object.entries(v).map((function(e){var n,t=(0,c.A)(e,2),s=t[0],i=t[1];return(0,h.jsxs)("label",{className:"festival-artwork-card",children:[(0,h.jsxs)("strong",{children:[i.label," ",(0,h.jsx)("span",{children:"Optional"})]}),(0,h.jsx)("small",{children:i.help}),null!==a&&void 0!==a&&null!==(n=a[s])&&void 0!==n&&n.preview?(0,h.jsx)("img",{src:a[s].preview,alt:"".concat(i.label," preview")}):(0,h.jsx)("div",{className:"festival-artwork-placeholder",children:"Choose and crop image"}),(0,h.jsx)("input",{type:"file",accept:"image/*",disabled:j,onChange:function(e){var a;return function(e,a){if(z(""),a){if(!a.type.startsWith("image/"))return z("Artwork must be an image file.");if(a.size>20971520)return z("Artwork must be 20MB or smaller.");var n=new FileReader;n.onload=function(){S({x:0,y:0}),O(1),_({kind:e,src:n.result})},n.readAsDataURL(a)}}(s,null===(a=e.target.files)||void 0===a?void 0:a[0])}})]},s)}))}),(0,h.jsxs)("label",{className:"festival-gallery-upload",children:[(0,h.jsxs)("strong",{children:["More game media ",(0,h.jsx)("span",{children:"Optional"})]}),(0,h.jsx)("small",{children:"Add up to 20 screenshots or trailers. For consistent galleries, use 1,920 \xd7 1,080 px landscape screenshots; gallery items preserve their original aspect ratio and may be reordered later."}),(0,h.jsx)("input",{type:"file",multiple:!0,accept:"image/*,video/*",disabled:j||B.length>0,onChange:function(e){return V(e.target.files)}}),B.length>0&&(0,h.jsxs)("em",{children:["Uploading ",B.join(", "),"\u2026"]})]}),g.length>0&&(0,h.jsx)("div",{className:"festival-gallery-preview",children:g.map((function(e,a){var n;return(0,h.jsxs)("article",{children:[(0,h.jsx)("span",{children:a+1}),null!==(n=e.mime_type)&&void 0!==n&&n.startsWith("video/")?(0,h.jsx)("video",{src:e.url,muted:!0,"aria-label":e.title||"Gallery video ".concat(a+1)}):(0,h.jsx)("img",{src:e.url,alt:e.title||"Gallery item ".concat(a+1)}),(0,h.jsx)("strong",{className:"visually-hidden",children:e.title||"Gallery item ".concat(a+1)}),(0,h.jsx)("button",{type:"button","aria-label":"Remove gallery item ".concat(a+1),onClick:function(){return b(g.filter((function(a){return a.id!==e.id})))},children:"\xd7"})]},e.id)}))}),y&&(0,h.jsx)("div",{className:"festival-crop-backdrop",children:(0,h.jsxs)("section",{className:"festival-crop-dialog",role:"dialog","aria-modal":"true","aria-label":"Crop ".concat(v[y.kind].label),children:[(0,h.jsxs)("div",{children:[(0,h.jsxs)("h3",{children:["Crop ",v[y.kind].label]}),(0,h.jsx)("p",{children:v[y.kind].help})]}),(0,h.jsx)("div",{className:"festival-crop-stage",children:(0,h.jsx)(d.Ay,{image:y.src,crop:C,zoom:R,aspect:v[y.kind].aspect,onCropChange:S,onZoomChange:O,onCropComplete:Z})}),(0,h.jsxs)("label",{children:["Zoom",(0,h.jsx)("input",{type:"range",min:"1",max:"3",step:"0.05",value:R,onChange:function(e){return O(Number(e.target.value))}})]}),(0,h.jsxs)("div",{className:"festival-flow-actions",children:[(0,h.jsx)("button",{type:"button",className:"festival-secondary-button",onClick:function(){return _(null)},children:"Cancel"}),(0,h.jsx)("button",{type:"button",className:"festival-primary-button",onClick:Y,children:"Use cropped image"})]})]})})]})}},54302:function(e,a,n){n.r(a),n.d(a,{FestivalCustomQuestion:function(){return S},customAnswerIsEmpty:function(){return k},validateCustomAnswers:function(){return C}});var t=n(64467),s=n(5544),i=n(91212),r=n(10467),l=n(60436),o=n(89379),c=n(88094),u=n(43930),d=n(23373),m=n(45256),f=n(18658),h=n(15936),v=n(77103),p=n(1883),g=n(90333),b=n(5984),x=(n(41159),n(15678)),j=function(e){var a,n;return Array.isArray(null===e||void 0===e||null===(a=e.data)||void 0===a?void 0:a.data)?e.data.data:Array.isArray(null===e||void 0===e||null===(n=e.data)||void 0===n||null===(n=n.data)||void 0===n?void 0:n.data)?e.data.data.data:[]},A=function(e){return e?"string"===typeof e?[e]:e.error?[e.error]:e.message&&!e.errors?[e.message]:Object.values(e.errors||e).flatMap((function(e){return Array.isArray(e)?e:[e]})).filter((function(e){return"string"===typeof e})):[]},w=function(e){return e.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").slice(0,48)},y=function(e,a){if(!e)return!0;try{var n=new URL(e);return!!["http:","https:"].includes(n.protocol)&&("itch"===a?"itch.io"===n.hostname||n.hostname.endsWith(".itch.io"):"store.steampowered.com"===n.hostname&&n.pathname.startsWith("/app/"))}catch(t){return!1}},_=function(e){if(!e)return!0;try{return["http:","https:"].includes(new URL(e).protocol)}catch(a){return!1}},N=function(){return String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z])([A-Z][a-z])/g,"$1 $2").trim()},k=function(e){if(void 0===e||null===e||""===e||Array.isArray(e)&&0===e.length)return!0;
1if("object"===typeof e&&!Array.isArray(e)){var a=e.selected;return(void 0===a||null===a||""===a||Array.isArray(a)&&0===a.length)&&!String(e.other||"").trim()}return!1},C=function(e,a){var n={};return e.forEach((function(e){var t,s=a[e.id];if(e.is_required&&k(s)&&(n["answers.".concat(e.id)]=["".concat(e.title," is required.")]),"multiple_choice"===e.type){var i,r,l=(Array.isArray(s)?s:(null===s||void 0===s?void 0:s.selected)||[]).length+(String((null===s||void 0===s?void 0:s.other)||"").trim()?1:0);null!=(null===(i=e.config)||void 0===i?void 0:i.min_selections)&&l<e.config.min_selections&&(n["answers.".concat(e.id)]=["Select at least ".concat(e.config.min_selections," options for ").concat(e.title,".")]),null!=(null===(r=e.config)||void 0===r?void 0:r.max_selections)&&l>e.config.max_selections&&(n["answers.".concat(e.id)]=["Select no more than ".concat(e.config.max_selections," options for ").concat(e.title,".")])}null!==(t=e.config)&&void 0!==t&&t.allow_other&&"object"===typeof s&&!Array.isArray(s)&&void 0!==s.other&&s.other.length>500&&(n["answers.".concat(e.id)]=["The Other answer for ".concat(e.title," must be 500 characters or fewer.")])})),n},S=function(e){var a=e.question,n=e.value,t=e.onChange,s="festival-question-".concat(a.id),i=a.config||{},r=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("span",{children:a.title}),a.is_required?(0,x.jsx)("b",{className:"festival-question-required",children:"Required"}):(0,x.jsx)("span",{className:"festival-optional",children:"Optional"})]});if("paragraph"===a.type)return(0,x.jsxs)("label",{className:"festival-custom-question festival-full-field",htmlFor:s,children:[r,a.description&&(0,x.jsx)("small",{children:a.description}),(0,x.jsx)("textarea",{id:s,rows:"5",required:a.is_required,minLength:i.min_length,maxLength:i.max_length||5e3,value:n||"",onChange:function(e){return t(e.target.value)}})]});if("short_text"===a.type||"email"===a.type||"url"===a.type||"date"===a.type||"number"===a.type){var c={short_text:"text",email:"email",url:"url",date:"date",number:"number"}[a.type];return(0,x.jsxs)("label",{className:"festival-custom-question festival-full-field",htmlFor:s,children:[r,a.description&&(0,x.jsx)("small",{children:a.description}),(0,x.jsx)("input",{id:s,type:c,required:a.is_required,minLength:i.min_length,maxLength:i.max_length||void 0,min:i.min,max:i.max,step:i.step||("number"===c?"any":void 0),value:null!==n&&void 0!==n?n:"",onChange:function(e){return t("number"===c&&""!==e.target.value?Number(e.target.value):e.target.value)}})]})}if("dropdown"===a.type){var u=Boolean(i.allow_other),d=u&&"object"===typeof n?n.selected||"":n||"",m=u&&"object"===typeof n&&n.other||"";return(0,x.jsxs)("label",{className:"festival-custom-question festival-full-field",htmlFor:s,children:[r,a.description&&(0,x.jsx)("small",{children:a.description}),(0,x.jsxs)("select",{id:s,required:a.is_required,value:d,onChange:function(e){return t("__other__"===e.target.value?{selected:"",other:""}:u?{selected:e.target.value,other:""}:e.target.value)},children:[(0,x.jsx)("option",{value:"",children:"Choose an answer\u2026"}),a.options.map((function(e){return(0,x.jsx)("option",{value:e.id,children:e.label},e.id)})),u&&(0,x.jsx)("option",{value:"__other__",children:"Other\u2026"})]}),u&&"object"===typeof n&&""===d&&(0,x.jsx)("input",{className:"festival-other-answer","aria-label":"".concat(a.title," Other answer"),maxLength:"500",required:a.is_required,value:m,onChange:function(e){return t({selected:"",other:e.target.value})},placeholder:"Enter another answer"})]})}if("scale"===a.type){var f,h,v=Number(null!==(f=i.scale_min)&&void 0!==f?f:1),p=Number(null!==(h=i.scale_max)&&void 0!==h?h:5);return(0,x.jsxs)("fieldset",{className:"festival-custom-question festival-full-field",children:[(0,x.jsx)("legend",{children:r}),a.description&&(0,x.jsx)("small",{children:a.description}),(0,x.jsxs)("div",{className:"festival-scale-labels",children:[(0,x.jsx)("span",{children:i.scale_min_label||v}),(0,x.jsx)("span",{children:i.scale_max_label||p})]}),(0,x.jsx)("div",{className:"festival-scale-options",role:"radiogroup","aria-label":a.title,children:Array.from({length:p-v+1},(function(e,a){return v+a})).map((function(e){return(0,x.jsx)("button",{type:"button",role:"radio","aria-checked":n===e,className:n===e?"is-selected":"",onClick:function(){return t(e)},children:e},e)}))})]})}var g=Boolean(i.allow_other)&&"boolean"!==a.type,b="multiple_choice"===a.type,j=b?g&&"object"===typeof n&&!Array.isArray(n)?n.selected||[]:Array.isArray(n)?n:[]:[],A=!b&&g&&"object"===typeof n?n.selected:n,w=g&&"object"===typeof n&&!Array.isArray(n)&&n.other||"",y="boolean"===a.type?[{id:"true",label:"Yes",value:!0},{id:"false",label:"No",value:!1}]:a.options.map((function(e){return(0,o.A)((0,o.A)({},e),{},{value:e.id})}));return(0,x.jsxs)("fieldset",{className:"festival-custom-question festival-full-field",children:[(0,x.jsx)("legend",{children:r}),a.description&&(0,x.jsx)("small",{children:a.description}),(0,x.jsxs)("div",{className:"festival-question-choice-grid",role:b?"group":"radiogroup","aria-label":a.title,children:[y.map((function(e){var a=b?j.includes(e.value):A===e.value;return(0,x.jsxs)("button",{type:"button",role:b?"checkbox":"radio","aria-checked":a,className:a?"is-selected":"",onClick:function(){if(b){var n=a?j.filter((function(a){return a!==e.value})):[].concat((0,l.A)(j),[e.value]);t(g?{selected:n,other:w}:n)}else t(g?{selected:e.value,other:""}:e.value)},children:[(0,x.jsx)("span",{"aria-hidden":"true",children:a?"\u2713":""}),e.label]},e.id)})),g&&(0,x.jsxs)("button",{type:"button",role:b?"checkbox":"radio","aria-checked":Boolean(w),className:w?"is-selected":"",onClick:function(){return t({selected:b?j:"",other:w||" "})},children:[(0,x.jsx)("span",{"aria-hidden":"true",children:w?"\u2713":""}),"Other"]})]}
1),g&&""!==w&&(0,x.jsx)("input",{className:"festival-other-answer","aria-label":"".concat(a.title," Other answer"),maxLength:"500",value:w.trimStart(),onChange:function(e){return t({selected:b?j:"",other:e.target.value})},placeholder:"Enter another answer"})]})},q=function(){var e=(0,r.A)((0,i.A)().m((function e(){var a,n,t,s,r,c;return(0,i.A)().w((function(e){for(;;)switch(e.n){case 0:return t={manageable:!0,per_page:100,page:1,sort_by:"name",sort_order:"asc"},e.n=1,m.Ay.api.Titles.list(t);case 1:if(s=e.v,r=(0,l.A)(j(s)),!((c=Number((null===s||void 0===s||null===(a=s.data)||void 0===a||null===(a=a.meta)||void 0===a?void 0:a.last_page)||(null===s||void 0===s||null===(n=s.data)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.last_page)||1))>1)){e.n=3;break}return e.n=2,Promise.all(Array.from({length:c-1},(function(e,a){return m.Ay.api.Titles.list((0,o.A)((0,o.A)({},t),{},{page:a+2}))})));case 2:e.v.forEach((function(e){return r.push.apply(r,(0,l.A)(j(e)))}));case 3:return e.a(2,r)}}),e)})));return function(){return e.apply(this,arguments)}}();a.default=function(e){var a=e.communityChrome,n=void 0!==a&&a,L=(0,d.g)().id,R=(0,c.useState)(null),O=(0,s.A)(R,2),U=O[0],G=O[1],T=(0,c.useState)((function(){return m.Ay.util.Session.isLoggedIn()})),E=(0,s.A)(T,2),F=E[0],M=E[1],B=(0,c.useState)("login"),I=(0,s.A)(B,2),W=I[0],P=I[1],D=(0,c.useState)({first_name:"",last_name:"",username:"",email:"",password:"",confirm_password:""}),z=(0,s.A)(D,2),Z=z[0],Y=z[1],V=(0,c.useState)([]),$=(0,s.A)(V,2),Q=$[0],H=$[1],J=(0,c.useState)([]),K=(0,s.A)(J,2),X=K[0],ee=K[1],ae=(0,c.useState)([]),ne=(0,s.A)(ae,2),te=ne[0],se=ne[1],ie=(0,c.useState)([]),re=(0,s.A)(ie,2),le=re[0],oe=re[1],ce=(0,c.useState)({}),ue=(0,s.A)(ce,2),de=ue[0],me=ue[1],fe=(0,c.useState)(!1),he=(0,s.A)(fe,2),ve=he[0],pe=he[1],ge=(0,c.useState)(""),be=(0,s.A)(ge,2),xe=be[0],je=be[1],Ae=(0,c.useState)(!1),we=(0,s.A)(Ae,2),ye=we[0],_e=we[1],Ne=(0,c.useState)("existing"),ke=(0,s.A)(Ne,2),Ce=ke[0],Se=ke[1],qe=(0,c.useState)(""),Le=(0,s.A)(qe,2),Re=Le[0],Oe=Le[1],Ue=(0,c.useState)("select"),Ge=(0,s.A)(Ue,2),Te=Ge[0],Ee=Ge[1],Fe=(0,c.useState)({name:"",description:"",subdomain:""}),Me=(0,s.A)(Fe,2),Be=Me[0],Ie=Me[1],We=(0,c.useState)({community_id:"",name:"",genre_ids:[],short_description:"",website_url:"",itch_url:"",steam_url:"",use_of_ai:"",notes:""}),Pe=(0,s.A)(We,2),De=Pe[0],ze=Pe[1],Ze=(0,c.useState)({main:null,banner:null}),Ye=(0,s.A)(Ze,2),Ve=Ye[0],$e=Ye[1],Qe=(0,c.useState)([]),He=(0,s.A)(Qe,2),Je=He[0],Ke=He[1],Xe=(0,c.useState)(!0),ea=(0,s.A)(Xe,2),aa=ea[0],na=ea[1],ta=(0,c.useState)(!1),sa=(0,s.A)(ta,2),ia=sa[0],ra=sa[1],la=(0,c.useState)({}),oa=(0,s.A)(la,2),ca=oa[0],ua=oa[1],da=(0,c.useState)(null),ma=(0,s.A)(da,2),fa=ma[0],ha=ma[1],va=(0,c.useState)((function(){return new Date})),pa=(0,s.A)(va,2),ga=pa[0],ba=pa[1],xa=(0,g.useViewerTimeZone)(),ja=te.filter((function(e){return N(e.name).toLocaleLowerCase().includes(xe.trim().toLocaleLowerCase())})),Aa=(0,b.getFestivalSubmissionWindow)(U,ga,xa);(0,c.useEffect)((function(){var e=window.setInterval((function(){return ba(new Date)}),3e4);return function(){return window.clearInterval(e)}}),[]);var wa=(0,c.useCallback)((0,r.A)((0,i.A)().m((function e(){var a,n,t,r,l,c=arguments;return(0,i.A)().w((function(e){for(;;)switch(e.n){case 0:if(c.length>0&&void 0!==c[0]&&c[0]||m.Ay.util.Session.isLoggedIn()){e.n=1;break}return e.a(2);case 1:return e.n=2,Promise.all([m.Ay.api.Communities.list({roles:[m.Ay.constants.Roles.ADMINISTRATOR,m.Ay.constants.Roles.SUPER_ADMINISTRATOR,m.Ay.constants.Roles.MODERATOR],order_by:"name",sort_order:"asc",per_page:100}),q()]);case 2:a=e.v,n=(0,s.A)(a,2),t=n[0],r=n[1],l=j(t),H(l),ee(r),Ee(l.length>0?"select":"create"),Se(r.length>0?"existing":"new"),ze((function(e){var a;return(0,o.A)((0,o.A)({},e),{},{community_id:e.community_id||(null===(a=l[0])||void 0===a?void 0:a.id)||""})}));case 3:return e.a(2)}}),e)}))),[]);(0,c.useEffect)((function(){var e=!0,a=function(){var a=(0,r.A)((0,i.A)().m((function a(){var n,t,r,l,o,c,u;return(0,i.A)().w((function(a){for(;;)switch(a.p=a.n){case 0:return a.p=0,a.n=1,Promise.all([m.Ay.api.GameShows.view(L),m.Ay.api.Utility.listGenres().catch((function(){return null})),m.Ay.api.GameShows.listRegistrationQuestions(L).catch((function(){return null}))]);case 1:if(n=a.v,t=(0,s.A)(n,3),r=t[0],l=t[1],o=t[2],e&&(G(r.data.data),se(j(l).sort((function(e,a){return e.name.localeCompare(a.name)}))),_e(!l),oe(j(o)),pe(!o)),!m.Ay.util.Session.isLoggedIn()||!(0,b.getFestivalSubmissionWindow)(r.data.data).isOpen){a.n=2;break}return a.n=2,wa();case 2:a.n=4;break;case 3:a.p=3,u=a.v,e&&ua((null===u||void 0===u||null===(c=u.response)||void 0===c?void 0:c.data)||{error:"Unable to load this festival."});case 4:return a.p=4,e&&na(!1),a.f(4);case 5:return a.a(2)}}),a,null,[[0,3,4,5]])})));return function(){return a.apply(this,arguments)}}();return a(),function(){e=!1}}),[L,wa]);var ya=(0,c.useMemo)((function(){var e=new Map,a=new Map(Q.map((function(e){return[e.id,e.name]})));
1return X.forEach((function(n){var t,s=(null===(t=n.community)||void 0===t?void 0:t.name)||a.get(n.community_id)||"Other manageable games";e.has(s)||e.set(s,[]),e.get(s).push(n)})),Array.from(e.entries()).sort((function(e,a){var n=(0,s.A)(e,1)[0],t=(0,s.A)(a,1)[0];return n.localeCompare(t)}))}),[Q,X]),_a=function(){var e=(0,r.A)((0,i.A)().m((function e(a){var n;return(0,i.A)().w((function(e){for(;;)switch(e.n){case 0:return n=a.data.data,m.Ay.util.Storage.setAuthToken(n.token.access_token),m.Ay.util.Storage.set("user_id",n.id),m.Ay.util.Session.processAuthentication(n),M(!0),e.n=1,wa(!0);case 1:return e.a(2)}}),e)})));return function(a){return e.apply(this,arguments)}}(),Na=function(){var e=(0,r.A)((0,i.A)().m((function e(a){var n,t,s,r;return(0,i.A)().w((function(e){for(;;)switch(e.p=e.n){case 0:if(a.preventDefault(),ra(!0),ua({}),e.p=1,"register"!==W){e.n=5;break}if(Z.password===Z.confirm_password){e.n=2;break}throw{response:{data:{password:["Passwords do not match."]}}};case 2:return e.n=3,m.Ay.api.Auth.register({first_name:Z.first_name,last_name:Z.last_name,username:Z.username,email:Z.email,password:Z.password});case 3:return n=e.v,e.n=4,_a(n);case 4:e.n=10;break;case 5:return e.p=5,e.n=6,m.Ay.api.Auth.loginWithEmail(Z.email,Z.password);case 6:t=e.v,e.n=9;break;case 7:return e.p=7,e.v,e.n=8,m.Ay.api.Auth.loginWithUsername(Z.email,Z.password);case 8:t=e.v;case 9:return e.n=10,_a(t);case 10:e.n=12;break;case 11:e.p=11,r=e.v,ua((null===r||void 0===r||null===(s=r.response)||void 0===s?void 0:s.data)||{error:"Authentication failed. Please check your details."});case 12:return e.p=12,ra(!1),e.f(12);case 13:return e.a(2)}}),e,null,[[5,7],[1,11,12,13]])})));return function(a){return e.apply(this,arguments)}}(),ka=function(){var e=(0,r.A)((0,i.A)().m((function e(a){var t,s,r,c;return(0,i.A)().w((function(e){for(;;)switch(e.p=e.n){case 0:return a.preventDefault(),ra(!0),ua({}),e.p=1,e.n=2,m.Ay.api.Communities.create((0,o.A)((0,o.A)({},Be),!n&&{registration_context:"festival_standalone_submission"}));case 2:t=e.v,s=t.data.data,H((function(e){return[].concat((0,l.A)(e),[s])})),ze((function(e){return(0,o.A)((0,o.A)({},e),{},{community_id:s.id})})),Ee("select"),e.n=4;break;case 3:e.p=3,c=e.v,ua((null===c||void 0===c||null===(r=c.response)||void 0===r?void 0:r.data)||{error:"The business account could not be created."});case 4:return e.p=4,ra(!1),e.f(4);case 5:return e.a(2)}}),e,null,[[1,3,4,5]])})));return function(a){return e.apply(this,arguments)}}(),Ca=function(){var e=(0,r.A)((0,i.A)().m((function e(a){var n,t,s,r,o,c,u,d,f,h,v,p,g,x,j,A,w,N,S,q,R;return(0,i.A)().w((function(e){for(;;)switch(e.p=e.n){case 0:return a.preventDefault(),ra(!0),ua({}),e.p=1,e.n=2,m.Ay.api.GameShows.view(L);case 2:if(t=e.v,s=t.data.data,r=(0,b.getFestivalSubmissionWindow)(s),G(s),ba(new Date),r.isOpen){e.n=3;break}throw{response:{data:{code:"game_submission_not_open",error:s.game_submission_status_message||r.statusMessage}}};case 3:if(o=C(le,de),!(Object.keys(o).length>0)){e.n=4;break}return ua({errors:o}),e.a(2);case 4:if(c=Re,u=null===(n=X.find((function(e){return e.id===Re})))||void 0===n?void 0:n.name,d=!1,"new"!==Ce){e.n=11;break}if(v=De.itch_url.trim(),p=De.steam_url.trim(),g=De.website_url.trim(),y(v,"itch")){e.n=5;break}throw{response:{data:{itch_url:["Enter a valid itch.io game URL."]}}};case 5:if(y(p,"steam")){e.n=6;break}throw{response:{data:{steam_url:["Enter a valid Steam store app URL."]}}};case 6:if(_(g)){e.n=7;break}throw{response:{data:{website_url:["Enter a valid website URL beginning with http:// or https://."]}}};case 7:if(0!==De.genre_ids.length){e.n=8;break}throw{response:{data:{genres:["Select at least one genre."]}}};case 8:return x={community_id:De.community_id,name:De.name,short_description:De.short_description,genres:De.genre_ids,website_url:g||null,source_url:g||v||p||null,steam_url:p||null,itch_url:v||null,is_live:!1},e.n=9,m.Ay.api.Titles.create(x);case 9:return j=e.v,c=j.data.data.id,u=j.data.data.name,A=[(null===(f=Ve.main)||void 0===f?void 0:f.blob)&&m.Ay.api.Titles.uploadMainImageBlob(c,Ve.main.blob),(null===(h=Ve.banner)||void 0===h?void 0:h.blob)&&m.Ay.api.Titles.uploadBannerImageBlob(c,Ve.banner.blob)].concat((0,l.A)(Je.map((function(e,a){return m.Ay.api.Titles.addMedia(c,{media_id:e.id,order:a,is_primary:0===a})}
1)))).filter(Boolean),e.n=10,Promise.allSettled(A);case 10:w=e.v,d=w.some((function(e){return"rejected"===e.status}));case 11:if(c){e.n=12;break}return ua({title_id:["Choose a game or create a new one before submitting."]}),e.a(2);case 12:return N=[De.use_of_ai?"Use of AI: ".concat(De.use_of_ai):"",De.notes].filter(Boolean),e.n=13,m.Ay.api.GameShows.registerTitle(L,{title_id:c,submission_note:N.join("\n\n")||null,playable_build_type:"production",answers:le.filter((function(e){return!k(de[e.id])})).map((function(e){return{question_id:e.id,value:de[e.id]}}))});case 13:ha({titleId:c,titleName:u||"Your game",imageUploadFailed:Boolean(d)}),e.n=15;break;case 14:e.p=14,R=e.v,q=null===R||void 0===R||null===(S=R.response)||void 0===S?void 0:S.data,ua("game_submission_not_open"===(null===q||void 0===q?void 0:q.code)?{}:q||{error:"The game could not be submitted."});case 15:return e.p=15,ra(!1),e.f(15);case 16:return e.a(2)}}),e,null,[[1,14,15,16]])})));return function(a){return e.apply(this,arguments)}}(),Sa=fa?4:F?0===Q.length||"create"===Te?2:3:1;return aa?(0,x.jsxs)("div",{className:"festival-flow-loading",children:[(0,x.jsx)("div",{className:"spinner-border",role:"status"}),(0,x.jsx)("span",{children:"Loading festival submission\u2026"})]}):(0,x.jsxs)(c.Fragment,{children:[n&&(0,x.jsx)(h.default,{}),(0,x.jsx)("div",{className:"festival-flow-page",children:(0,x.jsxs)("div",{className:"festival-flow-shell",children:[(0,x.jsx)("header",{className:"festival-flow-hero",style:{"--festival-banner":"url(".concat((null===U||void 0===U?void 0:U.banner_image)||"/assets/images/gameshows/gameshows.webp",")")},children:(0,x.jsxs)("div",{className:"festival-flow-hero-overlay",children:[(0,x.jsx)(u.N_,{className:"festival-flow-back",to:v.default.gameshowCommunityViewStandalonePage(L),children:"\u2190 Back to festival"}),(0,x.jsx)("span",{className:"festival-kicker",children:"Developer submission"}),(0,x.jsxs)("h1",{children:["Bring your game to ",(null===U||void 0===U?void 0:U.name)||"the festival"]}),(0,x.jsx)("p",{children:"Sign in and submit an existing or new game to the event to have your game showcased."})]})}),Aa.hasConfiguredWindow&&(0,x.jsxs)("aside",{className:"festival-submission-window is-".concat(Aa.status),"aria-label":"Game submission dates",children:[(0,x.jsx)("span",{className:"festival-submission-window-label",children:"Game submission window"}),(0,x.jsx)("strong",{children:Aa.rangeLabel}),Aa.viewerRangeLabel&&(0,x.jsx)("small",{children:Aa.viewerRangeLabel}),(0,x.jsx)("span",{children:Aa.isOpen?"Submissions are open now.":Aa.statusMessage})]}),(Aa.isOpen||fa)&&(0,x.jsx)("ol",{className:"festival-stepper","aria-label":"Submission progress",children:["Account","Business","Game","Complete"].map((function(e,a){return(0,x.jsxs)("li",{className:Sa>a?"is-active":"",children:[(0,x.jsx)("span",{children:a+1}),e]},e)}))}),A(ca).length>0&&(0,x.jsx)("div",{className:"festival-flow-alert is-error",role:"alert",children:A(ca).map((function(e){return(0,x.jsx)("div",{children:e},e)}))}),fa?(0,x.jsxs)("section",{className:"festival-flow-card festival-success-card",children:[(0,x.jsx)("span",{className:"festival-success-icon",children:"\u2713"}),(0,x.jsx)("span",{className:"festival-kicker",children:"Submission received"}),(0,x.jsxs)("h2",{children:[fa.titleName," is in the review queue"]}),(0,x.jsx)("p",{children:"The festival team can now review your submission. You can safely close this page or return to the festival."}),fa.imageUploadFailed&&(0,x.jsx)("div",{className:"festival-flow-alert is-warning",role:"status",children:"Your game was submitted, but one or more optional images could not be processed. You can add them later from the game profile."}),(0,x.jsxs)("div",{className:"festival-flow-actions",children:[(0,x.jsx)(u.N_,{className:"festival-primary-button",to:v.default.gameshowCommunityViewStandalonePage(L),children:"Return to festival"}),(0,x.jsx)("button",{className:"festival-secondary-button",type:"button",onClick:function(){ha(null),Oe(""),ze((function(e){var a;return{community_id:e.community_id||(null===(a=Q[0])||void 0===a?void 0:a.id)||"",name:"",genre_ids:[],short_description:"",website_url:"",itch_url:"",steam_url:"",use_of_ai:"",notes:""}})),$e({main:null,banner:null}),Ke([]),je(""),me({})},children:"Submit another game"})]})]}):Aa.isOpen?F?"create"===Te?(0,x.jsxs)("section",{className:"festival-flow-card",children:[(0,x.jsx)("div",{className:"festival-flow-card-heading",children:(0,x.jsxs)("div",{children:[(0,x.jsx)("span",{className:"festival-kicker",children:"Step 2"}),(0,x.jsx)("h2",{children:"Create a business account"}),(0,x.jsx)("p",{children:"Games belong to a studio or organization so teammates can manage them later."})]})}),(0,x.jsxs)("form",{className:"festival-form-grid",onSubmit:ka,children:[(0,x.jsxs)("label",{className:"festival-full-field",children:["Studio or organization name",(0,x.jsx)("input",{value:Be.name,onChange:function(e){return Ie((0,o.A)((0,o.A)({},Be),{},{name:e.target.value,subdomain:w(e.target.value)}))},required:!0})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Description",(0,x.jsx)("textarea",{rows:"4",value:Be.description,onChange:function(e){return Ie((0,o.A)((0,o.A)({},Be),{},{description:e.target.value}))},required:!0})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Glitch subdomain",(0,x.jsxs)("div",{className:"festival-input-suffix",children:[(0,x.jsx)("input",{value:Be.subdomain,onChange:function(e){return Ie((0,o.A)((0,o.A)({},Be),{},{subdomain:w(e.target.value)}))},required:!0}),(0,x.jsx)("span",{children:".glitch.fun"})]})]}),(0,x.jsxs)("div",{className:"festival-flow-actions festival-full-field",children:[Q.length>0&&(0,x.jsx)("button",{className:"festival-secondary-button",type:"button",onClick:function(){return Ee("select")},children:"Use an existing business"}),(0,x.jsx)("button",{className:"festival-primary-button",disabled:ia,children:ia?"Creating\u2026":"Create business and continue"})]})]})]}):(0,x.jsxs)("section",{className:"festival-flow-card",children:[(0,x.jsxs)("div",{className:"festival-flow-card-heading",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("span",{className:"festival-kicker",children:"Step 3"}),(0,x.jsx)("h2",{children:"Choose the game to submit"}),(0,x.jsx)("p",{children:"Every game you can manage is available across all of your business accounts."})]}),(0,x.jsx)("button",{className:"festival-text-button",type:"button",onClick:function(){return Ee("create")},children:"+ New business"})]}),(0,x.jsxs)("div",{className:"festival-choice-grid",children:[(0,x.jsxs)("button",{type:"button",className:"festival-choice-card ".concat("existing"===Ce?"is-active":""),onClick:function(){return Se("existing")},disabled:0===X.length,children:[(0,x.jsx)("strong",{children:"Use an existing game"}),(0,x.jsxs)("span",{children:[X.length," manageable ",1===X.length?"game":"games"," found"]}
1)]}),(0,x.jsxs)("button",{type:"button",className:"festival-choice-card ".concat("new"===Ce?"is-active":""),onClick:function(){return Se("new")},children:[(0,x.jsx)("strong",{children:"Create a new game"}),(0,x.jsx)("span",{children:"Add the essentials now and finish the profile later"})]})]}),(0,x.jsxs)("form",{className:"festival-form-grid",onSubmit:Ca,children:["existing"===Ce?(0,x.jsxs)("label",{className:"festival-full-field",children:["Game",(0,x.jsxs)("select",{value:Re,onChange:function(e){return Oe(e.target.value)},required:!0,children:[(0,x.jsx)("option",{value:"",children:"Select a game\u2026"}),ya.map((function(e){var a=(0,s.A)(e,2),n=a[0],t=a[1];return(0,x.jsx)("optgroup",{label:n,children:t.map((function(e){return(0,x.jsx)("option",{value:e.id,children:e.name},e.id)}))},n)}))]})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("label",{className:"festival-full-field",children:["Business account",(0,x.jsxs)("select",{value:De.community_id,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{community_id:e.target.value}))},required:!0,children:[(0,x.jsx)("option",{value:"",children:"Select a business\u2026"}),Q.map((function(e){return(0,x.jsx)("option",{value:e.id,children:e.name},e.id)}))]})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Game name",(0,x.jsx)("input",{value:De.name,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{name:e.target.value}))},required:!0})]}),(0,x.jsxs)("fieldset",{className:"festival-full-field festival-genre-field",disabled:ye,children:[(0,x.jsxs)("div",{className:"festival-genre-heading",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("legend",{children:"Game genres"}),(0,x.jsx)("span",{className:"festival-field-help",children:"Select every genre that accurately describes the game."})]}),(0,x.jsx)("span",{className:"festival-genre-count ".concat(De.genre_ids.length?"has-selection":""),children:De.genre_ids.length?"".concat(De.genre_ids.length," selected"):"None selected"})]}),(0,x.jsxs)("label",{className:"festival-genre-search",children:[(0,x.jsx)("span",{className:"visually-hidden",children:"Search game genres"}),(0,x.jsx)("span",{className:"festival-genre-search-icon","aria-hidden":"true",children:"\u2315"}),(0,x.jsx)("input",{type:"search",value:xe,onChange:function(e){return je(e.target.value)},placeholder:"Search ".concat(te.length," genres\u2026")})]}),(0,x.jsxs)("div",{className:"festival-genre-grid",role:"group","aria-label":"Available game genres",children:[ja.map((function(e){var a=De.genre_ids.includes(e.id),n=N(e.name);return(0,x.jsxs)("button",{type:"button",role:"checkbox","aria-checked":a,className:"festival-genre-option ".concat(a?"is-selected":""),onClick:function(){return ze((function(n){return(0,o.A)((0,o.A)({},n),{},{genre_ids:a?n.genre_ids.filter((function(a){return a!==e.id})):[].concat((0,l.A)(n.genre_ids),[e.id])})}))},children:[(0,x.jsx)("span",{className:"festival-genre-check","aria-hidden":"true",children:a?"\u2713":""}),(0,x.jsx)("span",{className:"festival-genre-name",children:n})]},e.id)})),0===ja.length&&!ye&&(0,x.jsxs)("div",{className:"festival-genre-empty",children:["No genres match \u201c",xe.trim(),"\u201d."]})]}),ye&&(0,x.jsx)("span",{className:"festival-field-error",children:"The game genres could not be loaded. Refresh this page before creating a game."})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Game short description",(0,x.jsx)("textarea",{rows:"4",value:De.short_description,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{short_description:e.target.value}))},placeholder:"Briefly describe the game, its premise, and what players do.",required:!0})]}),(0,x.jsx)(p.default,{artwork:Ve,onArtworkChange:$e,media:Je,onMediaChange:Ke,disabled:ia}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Game website URL ",(0,x.jsx)("span",{className:"festival-optional",children:"Optional"}),(0,x.jsx)("input",{type:"url",value:De.website_url,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{website_url:e.target.value}))},placeholder:"https://yourgame.com"})]}),(0,x.jsxs)("label",{children:["Itch.io URL ",(0,x.jsx)("span",{className:"festival-
1optional",children:"Optional"}),(0,x.jsx)("input",{type:"url",value:De.itch_url,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{itch_url:e.target.value}))},placeholder:"https://your-game.itch.io/\u2026"})]}),(0,x.jsxs)("label",{children:["Steam URL ",(0,x.jsx)("span",{className:"festival-optional",children:"Optional"}),(0,x.jsx)("input",{type:"url",value:De.steam_url,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{steam_url:e.target.value}))},placeholder:"https://store.steampowered.com/app/\u2026"})]})]}),le.length>0&&(0,x.jsxs)("div",{className:"festival-custom-questions festival-full-field",children:[(0,x.jsxs)("div",{className:"festival-custom-questions-heading",children:[(0,x.jsx)("span",{className:"festival-kicker",children:"Festival questions"}),(0,x.jsx)("h3",{children:"A few details for the organizers"}),(0,x.jsx)("p",{children:"These answers are reviewed with your game submission."})]}),(0,x.jsx)("div",{className:"festival-custom-questions-list",children:le.map((function(e){return(0,x.jsx)(S,{question:e,value:de[e.id],onChange:function(a){return me((function(n){return(0,o.A)((0,o.A)({},n),{},(0,t.A)({},e.id,a))}))}},e.id)}))})]}),ve&&(0,x.jsx)("div",{className:"festival-flow-alert is-error festival-full-field",role:"alert",children:"Festival questions could not be loaded. Refresh before submitting so required answers are not missed."}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Note for organizers ",(0,x.jsx)("span",{className:"festival-optional",children:"Optional"}),(0,x.jsx)("textarea",{rows:"3",value:De.notes,onChange:function(e){return ze((0,o.A)((0,o.A)({},De),{},{notes:e.target.value}))}})]}),(0,x.jsx)("button",{className:"festival-primary-button festival-full-field",disabled:ia||ve,children:ia?"Submitting\u2026":"Submit to ".concat((null===U||void 0===U?void 0:U.name)||"festival")})]})]}):(0,x.jsxs)("section",{className:"festival-flow-card",children:[(0,x.jsxs)("div",{className:"festival-flow-card-heading",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("span",{className:"festival-kicker",children:"Step 1"}),(0,x.jsx)("h2",{children:"login"===W?"Welcome back":"Create your Glitch account"})]}),(0,x.jsxs)("div",{className:"festival-segmented-control",children:[(0,x.jsx)("button",{type:"button",className:"login"===W?"is-active":"",onClick:function(){return P("login")},children:"Log in"}),(0,x.jsx)("button",{type:"button",className:"register"===W?"is-active":"",onClick:function(){return P("register")},children:"Register"})]})]}),(0,x.jsxs)("form",{className:"festival-form-grid",onSubmit:Na,children:["register"===W&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("label",{children:["First name",(0,x.jsx)("input",{value:Z.first_name,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{first_name:e.target.value}))},required:!0})]}),(0,x.jsxs)("label",{children:["Last name",(0,x.jsx)("input",{value:Z.last_name,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{last_name:e.target.value}))},required:!0})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["Username",(0,x.jsx)("input",{value:Z.username,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{username:e.target.value}))},required:!0})]})]}),(0,x.jsxs)("label",{className:"festival-full-field",children:["login"===W?"Email or username":"Email",(0,x.jsx)("input",{type:"login"===W?"text":"email",value:Z.email,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{email:e.target.value}))},required:!0})]}),(0,x.jsxs)("label",{className:"login"===W?"festival-full-field":"",children:["Password",(0,x.jsx)("input",{type:"password",value:Z.password,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{password:e.target.value}))},required:!0})]}),"register"===W&&(0,x.jsxs)("label",{children:["Confirm password",(0,x.jsx)("input",{type:"password",value:Z.confirm_password,onChange:function(e){return Y((0,o.A)((0,o.A)({},Z),{},{confirm_password:e.target.value}))},required:!0})]}),(0,x.jsx)("button",{className:"festival-primary-button festival-full-field",disabled:ia,children:ia?"Please wait\u2026":"login"===W?"Continue with my account":"Create account and continue"})]})]}):(0,x.jsxs)("section",{className:"festival-flow-card festival-submission-closed-card","aria-live":"polite",children:[(0,x.jsx)("span",{className:"festival-kicker",children:"Game submissions"}),(0,x.jsx)("h2",{children:"upcoming"===Aa.status?"Submissions have not opened yet":"Submissions are unavailable"}),(0,x.jsx)("p",{children:(null===U||void 0===U?void 0:U.game_submission_status_message)||Aa.statusMessage}),(0,x.jsx)("div",{className:"festival-flow-actions",children:(0,x.jsx)(u.N_,{className:"festival-primary-button",to:v.default.gameshowCommunityViewStandalonePage(L),children:"Return to festival"})})]})]})}),(0,x.jsx)(f.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.