import{ai as A,q as S,aj as T,Y as r,g as q,w as _,l as e,v as z,o as B,a as t,h as p,aq as b,i as m,t as d,k as h,af as j,X as R,N as P,aZ as $,aM as O,aL as F,ah as X,aN as Z}from"./XlhOY3QH.js";import{C as E}from"./BbJGQBrT.js";import{N as H}from"./fcaSiPlX.js";import{_ as J}from"./DnYDFRQI.js";const Y={class:"min-w-md flex max-w-md flex-col gap-3"},G={class:"flex flex-col gap-2"},K={for:"name"},Q={class:"text-lg font-semibold text-contrast"},W=["placeholder","disabled"],ee={class:"flex flex-col gap-2"},te={for:"slug"},ae={class:"text-lg font-semibold text-contrast"},se={class:"text-input-wrapper"},le=["disabled"],ie={class:"flex flex-col gap-2"},oe={for:"visibility",class:"flex flex-col gap-1"},re={class:"text-lg font-semibold text-contrast"},de={class:"flex flex-col gap-2"},ne={for:"additional-information",class:"flex flex-col gap-1"},ce={class:"text-lg font-semibold text-contrast"},ue={class:"textarea-wrapper"},pe=["placeholder","disabled"],me={class:"flex justify-end gap-2"},fe=["disabled"],xe={__name:"ProjectCreateModal",props:{organizationId:{type:String,required:!1,default:null}},setup(L,{expose:V}){const{addNotification:N}=A(),{formatMessage:l}=S(),C=T(),i=z({title:{id:"create.project.title",defaultMessage:"Creating a project"},nameLabel:{id:"create.project.name-label",defaultMessage:"Name"},namePlaceholder:{id:"create.project.name-placeholder",defaultMessage:"Enter project name..."},urlLabel:{id:"create.project.url-label",defaultMessage:"URL"},visibilityLabel:{id:"create.project.visibility-label",defaultMessage:"Visibility"},visibilityDescription:{id:"create.project.visibility-description",defaultMessage:"The visibility of your project after it has been approved."},summaryLabel:{id:"create.project.summary-label",defaultMessage:"Summary"},summaryDescription:{id:"create.project.summary-description",defaultMessage:"A sentence or two that describes your project."},summaryPlaceholder:{id:"create.project.summary-placeholder",defaultMessage:"This project adds..."},cancel:{id:"create.project.cancel",defaultMessage:"Cancel"},createProject:{id:"create.project.create-project",defaultMessage:"Create project"},errorTitle:{id:"create.project.error-title",defaultMessage:"An error occurred"},visibilityPublic:{id:"create.project.visibility-public",defaultMessage:"Public"},visibilityUnlisted:{id:"create.project.visibility-unlisted",defaultMessage:"Unlisted"},visibilityPrivate:{id:"create.project.visibility-private",defaultMessage:"Private"}}),M=L,v=r(),o=r(!1),c=r(""),n=r(""),f=r(""),y=r(!1),w=r([{actual:"approved",display:l(i.visibilityPublic)},{actual:"unlisted",display:l(i.visibilityUnlisted)},{actual:"private",display:l(i.visibilityPrivate)}]),g=r(w.value[0]),D=()=>{v.value.hide()};async function U(){O();const u=new FormData,a=await F(),s={title:c.value.trim(),project_type:"mod",slug:n.value,description:f.value.trim(),body:"",requested_status:g.value.actual,initial_versions:[],team_members:[{user_id:a.value.user.id,name:a.value.user.username,role:"Owner"}],categories:[],client_side:"required",server_side:"required",license_id:"LicenseRef-Unknown",is_draft:!0};M.organizationId&&(s.organization_id=M.organizationId),u.append("data",JSON.stringify(s));try{await X("project",{method:"POST",body:u,headers:{"Content-Disposition":u}}),v.value.hide(),await C.push({name:"type-id",params:{type:"project",id:n.value}})}catch(x){N({title:l(i.errorTitle),text:x.data?x.data.description:x,type:"error"})}Z()}function I(u){c.value="",n.value="",f.value="",y.value=!1,v.value.show(u)}V({show:I});function k(){y.value||(n.value=c.value.trim().toLowerCase().replaceAll(" ","-").replaceAll(/[^a-zA-Z0-9!@$()`.+,_"-]/g,"").replaceAll(/--+/gm,"-"))}return(u,a)=>(B(),q(e(H),{ref_key:"modal",ref:v,header:e(l)(e(i).title)},{default:_(()=>[t("div",Y,[p(J,{modelValue:e(o),"onUpdate:modelValue":a[0]||(a[0]=s=>b(o)?o.value=s:null),type:"project"},null,8,["modelValue"]),t("div",G,[t("label",K,[t("span",Q,[m(d(e(l)(e(i).nameLabel))+" ",1),a[7]||(a[7]=t("span",{class:"text-brand-red"},"*",-1))])]),h(t("input",{id:"name","onUpdate:modelValue":a[1]||(a[1]=s=>b(c)?c.value=s:null),type:"text",maxlength:"64",placeholder:e(l)(e(i).namePlaceholder),autocomplete:"off",disabled:e(o),onInput:a[2]||(a[2]=s=>k())},null,40,W),[[j,e(c)]])]),t("div",ee,[t("label",te,[t("span",ae,[m(d(e(l)(e(i).urlLabel))+" ",1),a[8]||(a[8]=t("span",{class:"text-brand-red"},"*",-1))])]),t("div",se,[a[9]||(a[9]=t("div",{class:"text-input-wrapper__before"},"https://test.kalataka.ru/project/",-1)),h(t("input",{id:"slug","onUpdate:modelValue":a[3]||(a[3]=s=>b(n)?n.value=s:null),type:"text",maxlength:"64",autocomplete:"off",disabled:e(o),onInput:a[4]||(a[4]=s=>y.value=!0)},null,40,le),[[j,e(n)]])])]),t("div",ie,[t("label",oe,[t("span",re,[m(d(e(l)(e(i).visibilityLabel))+" ",1),a[10]||(a[10]=t("span",{class:"text-brand-red"},"*",-1))]),t("span",null,d(e(l)(e(i).visibilityDescription)),1)]),p(e(E),{id:"visibility",modelValue:e(g),"onUpdate:modelValue":a[5]||(a[5]=s=>b(g)?g.value=s:null),items:e(w),"format-label":s=>s.display,capitalize:!1,disabled:e(o)},null,8,["modelValue","items","format-label","disabled"])]),t("div",de,[t("label",ne,[t("span",ce,[m(d(e(l)(e(i).summaryLabel))+" ",1),a[11]||(a[11]=t("span",{class:"text-brand-red"},"*",-1))]),t("span",null,d(e(l)(e(i).summaryDescription)),1)]),t("div",ue,[h(t("textarea",{id:"additional-information","onUpdate:modelValue":a[6]||(a[6]=s=>b(f)?f.value=s:null),maxlength:"256",placeholder:e(l)(e(i).summaryPlaceholder),disabled:e(o)},null,8,pe),[[j,e(f)]])])]),t("div",me,[p(e(P),{class:"w-24"},{default:_(()=>[t("button",{onClick:D},[p(e(R),{"aria-hidden":"true"}),m(" "+d(e(l)(e(i).cancel)),1)])]),_:1}),p(e(P),{color:"brand",class:"w-32"},{default:_(()=>[t("button",{disabled:e(o),onClick:U},[p(e($),{"aria-hidden":"true"}),m(" "+d(e(l)(e(i).createProject)),1)],8,fe)]),_:1})])])]),_:1},8,["header"]))}};export{xe as _};