1"use strict";(self.webpackChunkplatform_web=self.webpackChunkplatform_web||[]).push([[3726],{73726:function(n,e,r){r.r(e),r.d(e,{OrgTagGroupFormPage:function(){return Un},OrgTagGroupsPage:function(){return B}});var t,o,i,a,c,d,s,l,u,p,g,f,x,h=r(74165),b=r(29439),Z=r(30168),v=r(15861),m=r(50390),j=r(15545),w=r(96692),k=r(95219),P=r(90301),_=r(62559);function y(n){return z.apply(this,arguments)}function z(){return(z=(0,v.Z)((0,h.Z)().mark((function n(e){var r;return(0,h.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,fetch("/organizations/".concat(e,"/tag_groups.json"),{credentials:"same-origin",headers:{Accept:"application/json"}});case 2:if((r=n.sent).ok){n.next=5;break}throw new Error("Failed to fetch tag groups");case 5:return n.abrupt("return",r.json());case 6:case"end":return n.stop()}}),n)})))).apply(this,arguments)}var S=w.ZP.div(t||(t=(0,Z.Z)(["\n padding: 24px;\n max-width: 900px;\n margin: 0 auto;\n"]))),C=w.ZP.div(o||(o=(0,Z.Z)(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 24px;\n"]))),D=w.ZP.h1(i||(i=(0,Z.Z)(["\n font-size: 24px;\n font-weight: 600;\n color: #333;\n margin: 0;\n"]))),T=w.ZP.a(a||(a=(0,Z.Z)(["\n ","\n"])),P.AZ),E=w.ZP.div(c||(c=(0,Z.Z)(["\n text-align: center;\n padding: 40px;\n color: #666;\n"]))),A=w.ZP.div(d||(d=(0,Z.Z)(["\n padding: 20px;\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n color: #dc2626;\n"]))),F=w.ZP.div(s||(s=(0,Z.Z)(["\n text-align: center;\n padding: 40px;\n color: #666;\n font-size: 14px;\n"]))),I=w.ZP.div(l||(l=(0,Z.Z)(["\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n background: #fff;\n"]))),O=w.ZP.div(u||(u=(0,Z.Z)(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 16px;\n border-bottom: 1px solid #e5e7eb;\n\n &:last-child {\n border-bottom: none;\n }\n"]))),G=w.ZP.div(p||(p=(0,Z.Z)(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"]))),K=w.ZP.span(g||(g=(0,Z.Z)(["\n font-size: 14px;\n font-weight: 600;\n color: #333;\n"]))),R=w.ZP.span(f||(f=(0,Z.Z)(["\n font-size: 13px;\n color: #666;\n"]))),N=w.ZP.a(x||(x=(0,Z.Z)(["\n ","\n height: auto;\n padding: 0;\n"])),P.lb);function q(n,e){if(0===n)return"No tags";var r="".concat(n," tag").concat(1===n?"":"s");if(0===e)return"".concat(r," - Disabled on all publications");var t="".concat(e," publication").concat(1===e?"":"s");return"".concat(r," on ").concat(t)}function B(){var n=(0,j.UO)().orgId;(0,k.Z)("Tags : Contently");var e=(0,m.useState)([]),r=(0,b.Z)(e,2),t=r[0],o=r[1],i=(0,m.useState)(!0),a=(0,b.Z)(i,2),c=a[0],d=a[1],s=(0,m.useState)(null),l=(0,b.Z)(s,2),u=l[0],p=l[1],g=(0,m.useCallback)((0,v.Z)((0,h.Z)().mark((function e(){var r;return(0,h.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,d(!0),p(null),e.next=7,y(n);case 7:r=e.sent,o(r),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),p(e.t0.message||"Failed to load tag groups");case 14:return e.prev=14,d(!1),e.finish(14);case 17:case"end":return e.stop()}}),e,null,[[2,11,14,17]])}))),[n]);return(0,m.useEffect)((function(){g()}),[g]),n?c?(0,_.jsx)(S,{children:(0,_.jsx)(E,{children:"Loading tag groups..."})}):u?(0,_.jsx)(S,{children:(0,_.jsxs)(A,{children:[(0,_.jsx)("h3",{children:"Error loading tag groups"}),(0,_.jsx)("p",{children:u})]})}):(0,_.jsxs)(S,{children:[(0,_.jsxs)(C,{children:[(0,_.jsx)(D,{children:"Tags"}),(0,_.jsx)(T,{href:"/organizations/".concat(n,"/tag_groups/new"),children:"Create Tags"})]}),0===t.length?(0,_.jsx)(F,{children:"No tag groups have been created yet."}):(0,_.jsx)(I,{children:t.map((function(e){return(0,_.jsxs)(O,{children:[(0,_.jsxs)(G,{children:[(0,_.jsx)(K,{children:e.name}),(0,_.jsx)(R,{children:q(e.tags_count,e.active_publications_count)})]}),(0,_.jsx)(N,{href:"/organizations/".concat(n,"/tag_groups/").concat(e.id,"/edit"),children:"Edit"})]},e.id)}))})]}):(0,_.jsx)(S,{children:(0,_.jsx)(A,{children:"Organization ID is required"})})}var L,U,$,H,J,M,Q,V,W,X,Y,nn,en,rn,tn,on,an,cn,dn,sn,ln,un,pn,gn,fn=r(93433),xn=r(1413),hn=r(950),bn=r(32804),Zn=0,vn=function(){return Zn+=1},mn=w.ZP.div(L||(L=(0,Z.Z)(["\n padding: 24px;\n max-width: 900px;\n margin: 0 auto;\n"]))),jn=w.ZP.div(U||(U=(0,Z.Z)(["\n margin-bottom: 32px;\n"]))),wn=w.ZP.h1($||($=(0,Z.Z)(["\n font-size: 24px;\n font-weight: 600;\n color: #333;\n margin: 0;\n"]))),kn=w.ZP.div(H||(H=(0,Z.Z)(["\n text-align: center;\n padding: 40px;\n color: #666;\n"]))),Pn=w.ZP.div(J||(J=(0,Z.Z)(["\n padding: 20px;\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n color: #dc2626;\n"]))),_n=w.ZP.div(M||(M=(0,Z.Z)(["\n padding: 12px 16px;\n background-color: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 6px;\n color: #dc2626;\n font-size: 14px;\n margin-bottom: 20px;\n"]))),yn=w.ZP.div(Q||(Q=(0,Z.Z)(["\n margin-bottom: 24px;\n"]))),zn=w.ZP.label(V||(V=(0,Z.Z)(["\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin-bottom: 6px;\n"]))),Sn=w.ZP.span(W||(W=(0,Z.Z)(["\n color: #dc2626;\n margin-left: 2px;\n"]))),Cn=w.ZP.input(X||(X=(0,Z.Z)(["\n width: 100%;\n padding: 8px 12px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n color: #333;\n box-sizing: border-box;\n\n &:focus {\n outline: none;\n border-color: #00a6c2;\n box-shadow: 0 0 0 2px rgba(0, 166, 194, 0.15);\n }\n"]))),Dn=(0,w.ZP)(Cn)(Y||(Y=(0,Z.Z)(["\n width: 200px;\n"]))),Tn=w.ZP.h2(nn||(nn=(0,Z.Z)(["\n font-size: 16px;\n font-weight: 600;\n color: #333;\n margin: 0 0 12px 0;\n"]))),En=w.ZP.div(en||(en=(0,Z.Z)(["\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n background: #fff;\n overflow-x: auto;\n"]))),An=w.ZP.div(rn||(rn=(0,Z.Z)(["\n display: flex;\n align-items: center;\n padding: 10px 12px;\n background: #f9fafb;\n border-bottom: 1px solid #e5e7eb;\n gap: 12px;\n min-width: fit-content;\n"]))),Fn=w.ZP.div(tn||(tn=(0,Z.Z)(["\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: #666;\n width: ",";\n flex-shrink: 0;\n text-align: center;\n\n &:first-child {\n text-align: left;\n }\n"])),(function(n){return n.width||"auto"})),In=w.ZP.div(on||(on=(0,Z.Z)(["\n display: flex;\n align-items: center;\n padding: 8px 12px;\n border-bottom: 1px solid #e5e7eb;\n gap: 12px;\n min-width: fit-content;\n background: ",";\n\n &:last-child {\n border-bottom: none;\n }\n"])),(function(n){return n.$isDragging?"#f9fafb":"#fff"})),On=w.ZP.span(an||(an=(0,Z.Z)(["\n width: 24px;\n flex-shrink: 0;\n cursor: grab;\n color: #9ca3af;\n font-size: 16px;\n line-height: 1;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: #4b5563;\n }\n &:active {\n cursor: grabbing;\n }\n"]))),Gn=w.ZP.div(cn||(cn=(0,Z.Z)(["\n width: 200px;\n flex-shrink: 0;
1\n"]))),Kn=w.ZP.div(dn||(dn=(0,Z.Z)(["\n width: 80px;\n flex-shrink: 0;\n text-align: center;\n\n input {\n width: 16px;\n height: 16px;\n cursor: pointer;\n }\n"]))),Rn=w.ZP.button(sn||(sn=(0,Z.Z)(["\n background: none;\n border: none;\n color: #dc2626;\n font-size: 18px;\n cursor: pointer;\n padding: 2px 6px;\n border-radius: 4px;\n line-height: 1;\n flex-shrink: 0;\n\n &:hover {\n background: #fef2f2;\n }\n"]))),Nn=w.ZP.button(ln||(ln=(0,Z.Z)(["\n ","\n margin-top: 12px;\n"])),P.AZ),qn=w.ZP.div(un||(un=(0,Z.Z)(["\n display: flex;\n gap: 12px;\n margin-top: 32px;\n"]))),Bn=w.ZP.button(pn||(pn=(0,Z.Z)(["\n ","\n"])),P.fn),Ln=w.ZP.a(gn||(gn=(0,Z.Z)(["\n ","\n"])),P.AZ);function Un(){var n=(0,j.UO)(),e=n.orgId,r=n.tagGroupId,t=Boolean(r),o=(0,m.useState)(!0),i=(0,b.Z)(o,2),a=i[0],c=i[1],d=(0,m.useState)(null),s=(0,b.Z)(d,2),l=s[0],u=s[1],p=(0,m.useState)(null),g=(0,b.Z)(p,2),f=g[0],x=g[1],Z=(0,m.useState)(!1),w=(0,b.Z)(Z,2),P=w[0],y=w[1],z=(0,m.useState)(""),S=(0,b.Z)(z,2),C=S[0],D=S[1],T=(0,m.useState)([]),E=(0,b.Z)(T,2),A=E[0],F=E[1],I=(0,m.useState)([]),O=(0,b.Z)(I,2),G=O[0],K=O[1],R=(0,m.useState)([]),N=(0,b.Z)(R,2),q=N[0],B=N[1],L=(0,m.useState)(""),U=(0,b.Z)(L,2),$=U[0],H=U[1],J=t?"Edit ".concat($||"Tag Group"):"Create Tags";(0,k.Z)("".concat(J," : Contently"));var M=(0,m.useCallback)((0,v.Z)((0,h.Z)().mark((function n(){var o,i,a,d;return(0,h.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e){n.next=2;break}return n.abrupt("return");case 2:return n.prev=2,c(!0),u(null),o=t?"/organizations/".concat(e,"/tag_groups/").concat(r,"/edit.json"):"/organizations/".concat(e,"/tag_groups/new.json"),n.next=8,fetch(o,{credentials:"same-origin",headers:{Accept:"application/json"}});case 8:if((i=n.sent).ok){n.next=11;break}throw new Error("Failed to load form data");case 11:return n.next=13,i.json();case 13:a=n.sent,D(a.tag_group.name||""),H(a.tag_group.name||""),d=a.tag_group.tags.length>0?a.tag_group.tags:[{name:"",position:0,brand_profile_ids:[]}],F(d.map((function(n){return(0,xn.Z)((0,xn.Z)({},n),{},{rowKey:vn()})}))),B(a.publications||[]),K([]),n.next=25;break;case 22:n.prev=22,n.t0=n.catch(2),u(n.t0.message||"Failed to load form data");case 25:return n.prev=25,c(!1),n.finish(25);case 28:case"end":return n.stop()}}),n,null,[[2,22,25,28]])}))),[e,r,t]);(0,m.useEffect)((function(){M()}),[M]);var Q=function(){var n=(0,v.Z)((0,h.Z)().mark((function n(o){var i,a,c,d,s,l,u;return(0,h.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o.preventDefault(),e&&C.trim()){n.next=3;break}return n.abrupt("return");case 3:if(y(!0),x(null),i={},A.forEach((function(n,e){var r={name:n.name,position:e,brand_profile_ids:n.brand_profile_ids};n.id&&(r.id=n.id),i[String(e)]=r})),G.forEach((function(n,e){i[String(A.length+e)]={id:n,_destroy:!0}})),a={taxonomy_tag_group:{name:C.trim(),tags_attributes:i}},c=t?"/organizations/".concat(e,"/tag_groups/").concat(r,".json"):"/organizations/".concat(e,"/tag_groups.json"),n.prev=10,!t){n.next=16;break}return n.next=14,bn.ZP.patch(c,a);case 14:n.next=18;break;case 16:return n.next=18,bn.ZP.post(c,a);case 18:window.location.href="/organizations/".concat(e,"/tag_groups"),n.next=25;break;case 21:n.prev=21,n.t0=n.catch(10),u=(null===(d=n.t0.response)||void 0===d||null===(s=d.data)||void 0===s||null===(l=s.errors)||void 0===l?void 0:l.join(", "))||"Failed to save tag group",x(u);case 25:return n.prev=25,y(!1),n.finish(25);case 28:case"end":return n.stop()}}),n,null,[[10,21,25,28]])})));return function(e){return n.apply(this,arguments)}}();return e?a?(0,_.jsx)(mn,{children:(0,_.jsx)(kn,{children:"Loading..."})}):l?(0,_.jsx)(mn,{children:(0,_.jsx)(Pn,{children:l})}):(0,_.jsxs)(mn,{children:[(0,_.jsx)(jn,{children:(0,_.jsx)(wn,{children:J})}
1),(0,_.jsxs)("form",{onSubmit:Q,children:[f&&(0,_.jsx)(_n,{children:f}),(0,_.jsxs)(yn,{children:[(0,_.jsxs)(zn,{htmlFor:"tag-group-name",children:["Tag Group Name",(0,_.jsx)(Sn,{children:"*"})]}),(0,_.jsx)(Cn,{id:"tag-group-name",type:"text",value:C,onChange:function(n){return D(n.target.value)},required:!0,autoFocus:!0})]}),(0,_.jsxs)(yn,{children:[(0,_.jsx)(Tn,{children:"Tags"}),(0,_.jsxs)(En,{children:[(0,_.jsxs)(An,{children:[(0,_.jsx)(Fn,{width:"24px"}),(0,_.jsx)(Fn,{width:"200px",children:"Tag Name"}),q.map((function(n){return(0,_.jsx)(Fn,{width:"80px",children:n.name},n.id)})),(0,_.jsx)(Fn,{width:"40px"})]}),(0,_.jsx)(hn.Z5,{onDragEnd:function(n){if(n.destination&&n.source.index!==n.destination.index){var e=n.source.index,r=n.destination.index;F((function(n){var t=Array.from(n),o=t.splice(e,1),i=(0,b.Z)(o,1)[0];return t.splice(r,0,i),t}))}},children:(0,_.jsx)(hn.bK,{droppableId:"org-tags",children:function(n){return(0,_.jsxs)("div",(0,xn.Z)((0,xn.Z)({ref:n.innerRef},n.droppableProps),{},{children:[A.map((function(n,e){return(0,_.jsx)(hn._l,{draggableId:String(n.rowKey),index:e,children:function(r,t){return(0,_.jsxs)(In,(0,xn.Z)((0,xn.Z)({ref:r.innerRef},r.draggableProps),{},{$isDragging:t.isDragging,children:[(0,_.jsx)(On,(0,xn.Z)((0,xn.Z)({},r.dragHandleProps),{},{title:"Drag to reorder","aria-label":"Drag to reorder",children:"\u283f"})),(0,_.jsx)(Gn,{children:(0,_.jsx)(Dn,{type:"text",value:n.name,onChange:function(n){return r=e,t=n.target.value,void F((function(n){return n.map((function(n,e){return e===r?(0,xn.Z)((0,xn.Z)({},n),{},{name:t}):n}))}));var r,t},placeholder:"Tag name"})}),q.map((function(r){return(0,_.jsx)(Kn,{children:(0,_.jsx)("input",{type:"checkbox",checked:n.brand_profile_ids.includes(r.id),onChange:function(){return n=e,t=r.id,void F((function(e){return e.map((function(e,r){if(r!==n)return e;var o=e.brand_profile_ids.includes(t)?e.brand_profile_ids.filter((function(n){return n!==t})):[].concat((0,fn.Z)(e.brand_profile_ids),[t]);return(0,xn.Z)((0,xn.Z)({},e),{},{brand_profile_ids:o})}))}));var n,t}})},r.id)})),(0,_.jsx)(Rn,{type:"button",onClick:function(){return n=e,void F((function(e){var r=e[n];return null!==r&&void 0!==r&&r.id&&K((function(n){return n.includes(r.id)?n:[].concat((0,fn.Z)(n),[r.id])})),e.filter((function(e,r){return r!==n}))}));var n},title:"Remove tag","aria-label":"Remove tag",children:"\xd7"})]}))}},n.rowKey)})),n.placeholder]}))}})})]}),(0,_.jsx)(Nn,{type:"button",onClick:function(){F((function(n){return[].concat((0,fn.Z)(n),[{name:"",position:n.length,brand_profile_ids:[],rowKey:vn()}])}))},children:"+ Add Tag"})]}),(0,_.jsxs)(qn,{children:[(0,_.jsx)(Bn,{type:"submit",disabled:P||!C.trim(),children:P?"Saving...":"Save"}),(0,_.jsx)(Ln,{href:"/organizations/".concat(e,"/tag_groups"),children:"Cancel"})]})]})]}):(0,_.jsx)(mn,{children:(0,_.jsx)(Pn,{children:"Organization ID is required"})})}},90301:function(n,e,r){r.d(e,{AZ:function(){return z},Fz:function(){return C},R7:function(){return S},fn:function(){return _},lb:function(){return D},ms:function(){return k},vP:function(){return y}});var t,o,i,a,c,d,s,l,u=r(30168),p=r(96692),g="#00a6c2",f="#0094AB",x="#17B7D1",h="#cff5fd",b="#ebfcff",Z="#57cadc",v="#f8f8f8",m="#d4d4d4",j="#fff",w="#E51D1D",k=(0,p.iv)(t||(t=(0,u.Z)(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid transparent;\n border-radius: 2px;\n font-size: 12px;\n font-weight: 500;\n text-transform: uppercase;\n text-decoration: none;\n white-space: nowrap;\n line-height: 100%;\n cursor: pointer;\n outline: none;\n transition: all 0.3s ease;\n height: 30px;\n padding: 0 9px;\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled,\n &[disabled] {\n background: ",";\n border-color: ",";\n color: ",";\n cursor: not-allowed;\n transition: none;\n }\n"])),m,m,v),P=(0,p.iv)(o||(o=(0,u.Z)(["\n ","\n font-size: 14px;\n height: 40px;\n padding: 0 12px;\n"])),k),_=(0,p.iv)(i||(i=(0,u.Z)(["\n ","\n background: ",";\n border-color: ",";\n color: ",";\n\n &:hover:not(:disabled) {\n background: ",";\n color: ",";\n }\n"])),k,g,f,j,x,j),y=(0,p.iv)(a||(a=(0,u.Z)(["\n ","\n background: ",";\n border-color: ",";\n color: ",";\n\n &:hover:not(:disabled) {\n background: ",";\n color: ",";\n }\n"])),P,g,f,j,x,j),z=(0,p.iv)(c||(c=(0,u.Z)(["\n ","\n background: ",";\n border-color: ",";\n color: ",";\n\n &:hover:not(:disabled) {\n background: ",";\n color: ",";\n }\n"])),k,h,Z,g,b,g),S=(0,p.iv)(d||(d=(0,u.Z)(["\n ","\n background: ",";\n border-color: ",";\n color: ",";\n\n &:hover:not(:disabled) {\n background: ",";\n color: ",";\n }\n"])),P,h,Z,g,b,g),C=(0,p.iv)(s||(s=(0,u.Z)(["\n ","\n background: ",";\n border-color: ",";\n color: ",";\n\n &:hover:not(:disabled) {\n background: ",";\n }\n"])),k,v,m,w,j),D=(0,p.iv)(l||(l=(0,u.Z)(["\n ","\n background: transparent;\n border-color: transparent;\n color: ",";\n\n &:hover:not(:disabled) {\n text-decoration: underline;\n border-color: transparent;\n }\n"])),k,g)}}]); 2//# sourceMappingURL=3726.04602ca6.chunk.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.