1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9826],{2711:(e,s,t)=>{Promise.resolve().then(t.bind(t,6173)),Promise.resolve().then(t.bind(t,9614)),Promise.resolve().then(t.bind(t,6703)),Promise.resolve().then(t.t.bind(t,2619,23))},6173:(e,s,t)=>{"use strict";t.d(s,{BoardSettings:()=>d});var a=t(5155),n=t(63),i=t(2115),l=t(9977),r=t(8561),o=t(5976);let c=[["it","Italiano"],["en","English"],["de","Deutsch"],["fr","Fran\xe7ais"],["es","Espa\xf1ol"],["ru","Ð ÑÑÑкий"],["pl","Polski"]];function d(e){let{slug:s,isOwner:t,meId:d,general:m,models:h,columns:p,members:g,guestsAllowed:u}=e,{t:x,tag:j}=(0,r.s)(),{toast:b,confirm:v}=(0,o.j8)(),k=(0,n.useRouter)(),[f,w]=(0,i.useState)(m),[N,y]=(0,i.useState)(p),[T,E]=(0,i.useState)(g),[S,F]=(0,i.useState)([]),[C,H]=(0,i.useState)([]),[D,I]=(0,i.useState)([]),[P,M]=(0,i.useState)(""),[L,z]=(0,i.useState)(""),[R,O]=(0,i.useState)(""),A=(0,i.useCallback)(e=>b({message:e||x("errors.SERVER_ERROR"),tone:"error"}),[b,x]),_=(0,i.useCallback)(async()=>{let[e,t]=await Promise.all([(0,o.FH)("/api/workspaces/".concat(s,"/invites")),(0,o.FH)("/api/workspaces/".concat(s,"/webhooks"))]);e.ok&&F(e.data.invites),t.ok&&(H(t.data.webhooks),I(t.data.events))},[s]);async function U(e){e.preventDefault(),O("general");let t=await (0,o.FH)("/api/workspaces/".concat(s),{method:"PATCH",json:{action:"settings",...f}});O(""),t.ok?(b({message:x("settings.saved")}),k.refresh()):A(t.data.error)}async function B(e,t){let a=new FormData(t),n=await (0,o.FH)("/api/workspaces/".concat(s,"/columns/").concat(e.id),{method:"PATCH",json:{title:a.get("title"),description:a.get("description")}});n.ok?(y(s=>s.map(s=>s.id===e.id?{...s,title:String(a.get("title")),description:String(a.get("description")||"")}:s)),b({message:x("settings.saved")})):A(n.data.error)}async function q(e,t){let a=[...N],n=e+t;if(n<0||n>=a.length)return;[a[e],a[n]]=[a[n],a[e]],y(a);let i=await (0,o.FH)("/api/workspaces/".concat(s,"/columns"),{method:"PATCH",json:{columnIds:a.map(e=>e.id)}});i.ok||(y(N),A(i.data.error))}async function V(e){let t=N.find(s=>s.id!==e.id);if(!t||!await v({title:x("settings.columns.deleteTitle",{title:e.title}),message:e.cards?x("settings.columns.deleteMove",{count:e.cards,destination:t.title}):void 0,confirmLabel:x("common.delete"),danger:!0}))return;let a=await (0,o.FH)("/api/workspaces/".concat(s,"/columns/").concat(e.id),{method:"DELETE",json:{destinationColumnId:e.cards?t.id:void 0}});a.ok?y(s=>s.filter(s=>s.id!==e.id)):A(a.data.error)}async function G(e){e.preventDefault();let t=e.currentTarget,a=new FormData(t),n=await (0,o.FH)("/api/workspaces/".concat(s,"/columns"),{method:"POST",json:{title:a.get("title"),description:a.get("description")||""}});n.ok?(y(e=>[...e,{...n.data.column,cards:0}]),t.reset()):A(n.data.error)}async function W(e){e.preventDefault();let t=e.currentTarget,a=new FormData(t);O("invite");let n=await (0,o.FH)("/api/workspaces/".concat(s,"/invites"),{method:"POST",json:{email:a.get("email"),role:a.get("role")}});if(O(""),!n.ok)return void A(n.data.error);t.reset(),z(n.data.inviteUrl||""),b({message:n.data.emailed?x("settings.members.invited"):x("settings.members.invitedNoEmail")}),_()}async function J(e){let t=await (0,o.FH)("/api/workspaces/".concat(s,"/invites/").concat(e.id),{method:"POST",json:{}});t.ok?(z(t.data.inviteUrl||""),b({message:x("settings.members.resent")}),_()):A(t.data.error)}async function K(e){if(!await v({title:x("settings.members.revokeTitle",{email:e.email}),confirmLabel:x("settings.members.revoke"),danger:!0}))return;let t=await (0,o.FH)("/api/workspaces/".concat(s,"/invites/").concat(e.id),{method:"DELETE"});t.ok?F(s=>s.filter(s=>s.id!==e.id)):A(t.data.error)}async function Q(e,t){let a=await (0,o.FH)("/api/workspaces/".concat(s,"/members/").concat(e.id),{method:"PATCH",json:{role:t}});a.ok?(E(s=>s.map(s=>s.id===e.id?{...s,role:t}:s)),b({message:x("settings.members.roleChanged")})):A(a.data.error)}async function X(e){if(!await v({title:x("settings.members.removeTitle",{name:e.name}),message:x("settings.members.removeBody"),confirmLabel:x("settings.members.remove"),danger:!0}))return;
1let t=await (0,o.FH)("/api/workspaces/".concat(s,"/members/").concat(e.id),{method:"DELETE"});t.ok?E(s=>s.filter(s=>s.id!==e.id)):A(t.data.error)}async function Y(e){e.preventDefault();let t=new FormData(e.currentTarget),a=t.get("file"),n=String(t.get("format"));if(!(a instanceof File)||!a.size)return;O("import");let i=await (0,o.FH)("/api/workspaces/".concat(s,"/import"),{method:"POST",json:{format:n,content:await a.text()}});O(""),i.ok?(b({message:x("home.create.imported",{count:i.data.createdCards})}),k.refresh()):A(i.data.error)}async function Z(e){e.preventDefault();let t=e.currentTarget,a=new FormData(t),n=await (0,o.FH)("/api/workspaces/".concat(s,"/webhooks"),{method:"POST",json:{url:a.get("url"),format:a.get("format"),events:a.getAll("events")}});if(!n.ok)return void A(n.data.error);H(e=>[n.data.webhook,...e]),M(n.data.secret),t.reset()}async function $(e,t){let a=await (0,o.FH)("/api/workspaces/".concat(s,"/webhooks/").concat(e.id),{method:"PATCH",json:t});if(!a.ok)return void A(a.data.error);H(s=>s.map(s=>s.id===e.id?{...s,...a.data.webhook}:s)),t.test&&b({message:a.data.webhook.lastError?x("settings.webhooks.testFailed",{error:a.data.webhook.lastError}):x("settings.webhooks.testOk")})}async function ee(e){if(!await v({title:x("settings.webhooks.deleteTitle"),confirmLabel:x("common.delete"),danger:!0}))return;let t=await (0,o.FH)("/api/workspaces/".concat(s,"/webhooks/").concat(e.id),{method:"DELETE"});t.ok?H(s=>s.filter(s=>s.id!==e.id)):A(t.data.error)}(0,i.useEffect)(()=>{_()},[_]);let es=async e=>{try{await navigator.clipboard.writeText(e),b({message:x("common.copied")})}catch(e){}};return(0,a.jsxs)("div",{className:"settings-layout",children:[(0,a.jsx)("nav",{className:"settings-nav","aria-label":x("settings.sections"),children:["general","columns","members","import","integrations"].map(e=>(0,a.jsx)("a",{href:"#".concat(e),children:x("settings.nav.".concat(e))},e))}),(0,a.jsxs)("div",{className:"settings-stack",children:[(0,a.jsxs)("section",{id:"general",className:"panel",children:[(0,a.jsx)("div",{className:"panel-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:x("settings.nav.general")}),(0,a.jsx)("p",{children:x("settings.general.description")})]})}),(0,a.jsxs)("form",{onSubmit:U,className:"stack",children:[(0,a.jsxs)("div",{className:"form-grid",children:[(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"set-name",children:x("home.create.name")}),(0,a.jsx)("input",{id:"set-name",value:f.name,onChange:e=>w({...f,name:e.target.value}),required:!0,maxLength:100})]}),(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"set-locale",children:x("home.create.language")}),(0,a.jsx)("select",{id:"set-locale",value:f.locale,onChange:e=>w({...f,locale:e.target.value}),children:c.map(e=>{let[s,t]=e;return(0,a.jsx)("option",{value:s,children:t},s)})}),(0,a.jsx)("small",{children:x("settings.general.languageHint")})]})]}),(0,a.jsxs)("label",{className:"switch",children:[(0,a.jsxs)("span",{children:[(0,a.jsx)("strong",{children:x("settings.general.dictation")}),(0,a.jsx)("span",{children:x("settings.general.dictationHint")})]}),(0,a.jsx)("input",{type:"checkbox",checked:f.dictationEnabled,onChange:e=>w({...f,dictationEnabled:e.target.checked})})]}),(0,a.jsxs)("fieldset",{className:"field",style:{border:0,padding:0,margin:0},children:[(0,a.jsx)("legend",{className:"field-label",children:x("settings.general.model")}),(0,a.jsx)("small",{children:x("settings.general.modelHint")}),(0,a.jsx)("div",{className:"stack",style:{gap:8,marginTop:8},children:h.map(e=>(0,a.jsxs)("label",{className:"check",style:{alignItems:"flex-start"},children:[(0,a.jsx)("input",{type:"radio",name:"planModel",checked:f.planModel===e.id,onChange:()=>w({...f,planModel:e.id})}),(0,a.jsxs)("span",{children:[(0,a.jsx)("strong",{children:e.label}),e.recommended&&(0,a.jsx)("span",{className:"badge primary",style:{marginLeft:6},children:x("settings.general.recommended")}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"subtle",children:e.note})]})]},e.id))})]}),(0,a.jsx)("div",{children:(0,a.jsx)("button",{className:"btn primary",disabled:"general"===R,children:x("common.save")})})]})]}),(0,a.jsxs)("section",{id:"columns",className:"panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:x("settings.nav.columns")}),(0,a.jsx)("p",{children:x("settings.columns.description")})]}),(0,a.jsxs)("span",{className:"badge",children:[N.length,"/12"]})]}),(0,a.jsx)("div",{children:N.map((e,s)=>(0,a.jsxs)("form",{className:"column-row",onSubmit:s=>{s.preventDefault(),B(e,s.currentTarget)},children:[(0,a.jsxs)("span",{className:"row",style:{gap:2},children:[(0,a.jsx)("button",{type:"button",className:"icon-btn",onClick:()=>void q(s,-1),disabled:0===s,"aria-label":x("settings.columns.moveLeft"),children:(0,a.jsx)(l.I,{name:"chevronUp",size:16})}),(0,a.jsx)("button",{type:"button",className:"icon-btn",onClick:()=>void q(s,1),disabled:s===N.length-1,"aria-label":x("settings.columns.moveRight"),children:(0,a.jsx)(l.I,{name:"chevronDown",size:16})})]}),(0,a.jsx)("input",{name:"title",defaultValue:e.title,required:!0,maxLength:80,"aria-label":x("settings.columns.title")}),(0,a.jsx)("input",{name:"description",defaultValue:e.description,maxLength:500,"aria-label":x("settings.columns.descriptionField"),placeholder:x("settings.columns.descriptionPlaceholder")}),(0,a.jsx)("button",{className:"btn sm",children:x("common.save")}),(0,a.jsx)("button",{type:"button",className:"icon-btn",onClick:()=>void V(e),disabled:1===N.length,"aria-label":x("settings.columns.delete",{title:e.title}),children:(0,a.jsx)(l.I,{name:"trash",size:16})})]},e.id))}),N.length<12&&(0,a.jsxs)("form",{onSubmit:G,className:"column-row",style:{gridTemplateColumns:"minmax(0,1fr) minmax(0,1.4fr) auto"},children:[(0,a.jsx)("input",{name:"title",required:!0,maxLength:80,placeholder:x("settings.columns.newTitle"),"aria-label":x("settings.columns.newTitle")}),(0,a.jsx)("input",{name:"description",maxLength:500,placeholder:x("settings.columns.descriptionPlaceholder"),"aria-label":x("settings.columns.descriptionField")}),(0,a.jsxs)("button",{className:"btn sm",children:[(0,a.jsx)(l.I,{name:"plus",size:15}),x("settings.columns.add")]})]})]}),(0,a.jsxs)("section",{id:"members",className:"panel",children:[(0,a.jsx)("div",{className:"panel-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:x("settings.nav.members")}),(0,a.jsx)("p",{children:x("settings.members.description")})]})}),(0,a.jsxs)("form",{className:"invite-form",onSubmit:W,children:[(0,a.jsx)("input",{name:"email",type:"email",required:!0,placeholder:"[email protected]","aria-label":x("settings.members.email")}),(0,a.jsxs)("select",{name:"role",defaultValue:"MEMBER","aria-label":x("settings.members.role"),children:[(0,a.jsxs)("option",{value:"MEMBER",children:[x("roles.MEMBER")," \xb7 ",x("roles.MEMBER_hint")]}),(0,a.jsxs)("option",{value:"ADMIN",children:[x("roles.ADMIN")," \xb7 ",x("roles.ADMIN_hint")]}),u&&(0,a.jsxs)("option",{value:"GUEST",children:[x("roles.GUEST")," \xb7 ",x("roles.GUEST_hint")]})]}),(0,a.jsxs)("button",{className:"btn primary",disabled:"invite"===R,children:[(0,a.jsx)(l.I,{name:"mail",size:15}),x("settings.members.invite")]})]}),!u&&(0,a.jsx)("p",{className:"subtle",style:{marginTop:8},children:x("settings.members.guestsUpsell")}),L&&(0,a.jsxs)("div",{className:"secret-box",style:{marginTop:10},children:[(0,a.jsx)("span",{style:{flex:1},children:L}),(0,a.jsxs)("button",{type:"button",className:"btn sm",onClick:()=>void es(L),children:[(0,a.jsx)(l.I,{name:"copy",size:14}),x("common.copy")]})]}),(0,a.jsx)("div",{style:{marginTop:16},children:T.map(e=>(0,a.jsxs)("div",{className:"member-row",children:[(0,a.jsx)(o.eu,{name:e.name}),(0,a.jsxs)("div",{className:"who",children:[(0,a.jsxs)("strong",{children:[e.name,e.id===d&&" (".concat(x("settings.members.you"),")")]}),(0,a.jsx)("span",{children:e.email})]}),t&&e.id!==d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("select",{value:e.role,onChange:s=>void Q(e,s.target.value),"aria-label":x("settings.members.roleOf",{name:e.name}),children:["OWNER","ADMIN","MEMBER",...u||"GUEST"===e.role?["GUEST"]:[]].map(e=>(0,a.jsx)("option",{value:e,children:x("roles.".concat(e))},e))}),(0,a.jsx)("button",{type:"button",className:"icon-btn",onClick:()=>void X(e),"aria-label":x("settings.members.removeTitle",{name:e.name}),children:(0,a.jsx)(l.I,{name:"trash",size:16})})]}):(0,a.jsx)("span",{className:"badge",children:x("roles.".concat(e.role))})]},e.id))}),S.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h3",{style:{marginTop:20,fontSize:14},children:x("settings.members.pending")}),S.map(e=>(0,a.jsxs)("div",{className:"member-row",children:[(0,a.jsx)("span",{className:"avatar",children:(0,a.jsx)(l.I,{name:"mail",size:13})}),(0,a.jsxs)("div",{className:"who",children:[(0,a.jsx)("strong",{children:e.email}),(0,a.jsxs)("span",{children:[x("roles.".concat(e.role))," \xb7"," ",x("settings.members.expires",{date:new Date(e.expiresAt).toLocaleDateString(j,{day:"numeric",month:"short"})})]})]}),(0,a.jsx)("button",{type:"button",className:"btn sm",onClick:()=>void J(e),children:x("settings.members.resend")}),(0,a.jsx)("button",{type:"button",className:"btn sm danger",onClick:()=>void K(e),children:x("settings.members.revoke")})]},e.id))]})]}),(0,a.jsxs)("section",{id:"import",className:"panel",children:[(0,a.jsx)("div",{className:"panel-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:x("settings.nav.import")}),(0,a.jsx)("p",{children:x("settings.import.description")})]})}),(0,a.jsxs)("form",{onSubmit:Y,className:"form-grid",children:[(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"import-format",children:x("settings.import.format")}),(0,a.jsxs)("select",{id:"import-format",name:"format",defaultValue:"trello",children:[(0,a.jsx)("option",{value:"trello",children:x("home.create.importTrello")}),(0,a.jsx)("option",{value:"csv",children:x("home.create.importCsv")})]})]}),(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"import-file",children:x("home.create.importFile")}),(0,a.jsx)("input",{id:"import-file",name:"file",type:"file",accept:".json,.csv,application/json,text/csv",required:!0})]}),(0,a.jsx)("div",{children:(0,a.jsxs)("button",{className:"btn",disabled:"import"===R,children:[(0,a.jsx)(l.I,{name:"upload",size:15}),x("settings.import.cta")]})})]}),(0,a.jsx)("p",{className:"subtle",style:{marginTop:10},children:x("home.create.csvHint")})]}),(0,a.jsxs)("section",{id:"integrations",className:"panel",children:[(0,a.jsx)("div",{className:"panel-head",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{children:x("settings.nav.integrations")}),(0,a.jsx)("p",{children:x("settings.webhooks.description")})]})}),(0,a.jsxs)("form",{onSubmit:Z,className:"stack",children:[(0,a.jsxs)("div",{className:"form-grid",children:[(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"hook-url",children:"URL"}),(0,a.jsx)("input",{id:"hook-url",name:"url",type:"url",required:!0,placeholder:"https://hooks.slack.com/services/â¦"})]}),(0,a.jsxs)("div",{className:"field",children:[(0,a.jsx)("label",{htmlFor:"hook-format",children:x("settings.webhooks.format")}),(0,a.jsxs)("select",{id:"hook-format",name:"format",defaultValue:"json",children:[(0,a.jsx)("option",{value:"json",children:x("settings.webhooks.json")}),(0,a.jsx)("option",{value:"slack",children:x("settings.webhooks.slack")})]})]})]}),(0,a.jsxs)("fieldset",{style:{border:0,padding:0,margin:0},children:[(0,a.jsx)("legend",{className:"field-label",children:x("settings.webhooks.events")}),(0,a.jsx)("div",{className:"row",style:{marginTop:6},children:D.map(e=>(0,a.jsxs)("label",{className:"check",children:[(0,a.jsx)("input",{type:"checkbox",name:"events",value:e,defaultChecked:!0}),x("settings.webhooks.eventNames.".concat(e.replace(/\./g,"_")))]},e))})]}),(0,a.jsx)("div",{children:(0,a.jsxs)("button",{className:"btn",children:[(0,a.jsx)(l.I,{name:"plus",size:15}),x("settings.webhooks.add")]})})]}),P&&(0,a.jsxs)("div",{className:"notice info",style:{marginTop:12},children:[(0,a.jsx)(l.I,{name:"key"}),(0,a.jsxs)("div",{className:"notice-body",children:[x("settings.webhooks.secret"),(0,a.jsxs)("div",{className:"secret-box",style:{marginTop:6},children:[(0,a.jsx)("span",{style:{flex:1},children:P}),(0,a.jsx)("button",{type:"button",className:"btn sm",onClick:()=>void es(P),children:x("common.copy")})]})]})]}),(0,a.jsx)("div",{style:{marginTop:12},children:C.map(e=>(0,a.jsxs)("div",{className:"member-row",children:[(0,a.jsx)("span",{className:"avatar",children:(0,a.jsx)(l.I,{name:"link",size:13})}),(0,a.jsxs)("div",{className:"who",children:[(0,a.jsx)("strong",{style:{overflowWrap:"anywhere"},children:e.url}),(0,a.jsxs)("span",{children:["slack"===e.format?"Slack/Teams":"JSON"," \xb7"," ",e.active?x("settings.webhooks.active"):x("settings.webhooks.paused"),e.lastStatus?" \xb7 HTTP ".concat(e.lastStatus):""]})]}),(0,a.jsx)("button",{type:"button",className:"btn sm",onClick:()=>void $(e,{test:!0}),children:x("settings.webhooks.test")}),(0,a.jsx)("button",{type:"button",className:"btn sm",onClick:()=>void $(e,{active:!e.active}),children:e.active?x("settings.webhooks.pause"):x("settings.webhooks.resume")}),(0,a.jsx)("button",{type:"button",className:"icon-btn",onClick:()=>void ee(e),"aria-label":x("common.delete"),children:(0,a.jsx)(l.I,{name:"trash",size:16})})]},e.id))}),(0,a.jsx)("p",{className:"subtle",style:{marginTop:12},children:x("settings.webhooks.apiHint")})]})]})]})}}},e=>{e.O(0,[176,5976,78,8441,1255,7358],()=>e(e.s=2711)),_N_E=e.O()}]);
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.