@strapi/admin 4.10.2-alpha.0 → 4.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/6858.56d4d528.chunk.js +50 -0
- package/build/{7725.f717acdd.chunk.js → 7725.1633e06f.chunk.js} +17 -17
- package/build/9703.e590889d.chunk.js +1 -0
- package/build/{Admin-authenticatedApp.2fab70e4.chunk.js → Admin-authenticatedApp.a8373103.chunk.js} +2 -2
- package/build/{Admin_settingsPage.56e9641c.chunk.js → Admin_settingsPage.5e045f42.chunk.js} +1 -1
- package/build/content-manager.d28eb183.chunk.js +1111 -0
- package/build/index.html +1 -1
- package/build/{main.964e7203.js → main.41970e4c.js} +65 -65
- package/build/review-workflows-settings.7c0b4e73.chunk.js +61 -0
- package/build/{runtime~main.c9593d59.js → runtime~main.c20330f1.js} +1 -1
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStageEE.js +11 -5
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +7 -3
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +16 -2
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +34 -25
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +11 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/StageDragPreview.js +45 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/index.js +1 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +287 -63
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/components/OptionColor/OptionColor.js +27 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/components/OptionColor/index.js +1 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/components/SingleValueColor/SingleValueColor.js +31 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/components/SingleValueColor/index.js +1 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +2 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +26 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +36 -2
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.js +33 -0
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +9 -0
- package/ee/server/constants/workflows.js +1 -0
- package/ee/server/content-types/workflow-stage/index.js +7 -0
- package/ee/server/controllers/authentication/middlewares.js +1 -1
- package/ee/server/migrations/review-workflows-stages-color.js +20 -0
- package/ee/server/register.js +2 -0
- package/ee/server/services/review-workflows/stages.js +1 -1
- package/ee/server/validation/review-workflows.js +7 -1
- package/package.json +10 -10
- package/build/content-manager.a0ff6cad.chunk.js +0 -1111
- package/build/review-workflows-settings.089d7ec5.chunk.js +0 -106
package/build/{Admin-authenticatedApp.2fab70e4.chunk.js → Admin-authenticatedApp.a8373103.chunk.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(Q,S,n){n.r(S),n.d(S,{default:function(){return Qt}});var e=n(32735),s=n(24989),L=n(20108),v=n(33795),O=n.n(v),P=
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(Q,S,n){n.r(S),n.d(S,{default:function(){return Qt}});var e=n(32735),s=n(24989),L=n(20108),v=n(33795),O=n.n(v),P={i8:"4.10.2"},C=n(67927),E=n(53038),y=n(15062),G=n(74506),z=n(51968),K=n(88311),ae=n.n(K),Le=n(58107),T=n(8471),Oe=n(60216),r=n.n(Oe),Z=n(67879),m=n(87933),oe=n(71933),V=n(67563),xe=n(50563),M=n(72850),Y=n(41415),se=n(35331);const be=(0,T.ZP)(m.k)`
|
|
2
2
|
position: fixed;
|
|
3
3
|
z-index: 4;
|
|
4
4
|
inset: 0;
|
|
@@ -76,4 +76,4 @@
|
|
|
76
76
|
:hover {
|
|
77
77
|
text-decoration: underline;
|
|
78
78
|
}
|
|
79
|
-
`;var vt=()=>{const t=(0,e.useRef)(),[a,o]=(0,e.useState)(!1),{formatMessage:c}=(0,Z.Z)(),{communityEdition:d}=(0,s.L7)(),u=()=>{o(p=>!p)},h=[...gt,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:it.Z,href:d?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(M.x,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(ht,{"aria-label":c(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:u,ref:t},e.createElement(ee.J,{as:a?se.Z:lt.Z,color:"buttonNeutral0"})),a&&e.createElement(oe.h,null,e.createElement(st.M.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(V.i,{onEscape:u},e.createElement(m.k,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ye,{fontWeight:"bold"},c({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(ve,{as:"a",href:fe.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},c(fe.label))),e.createElement(pe.i,null),mt.map(({href:p,duration:g,label:i},I)=>e.createElement(ft,{as:"a",href:p,target:"_blank",rel:"noreferrer noopener",key:p,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(M.x,{paddingRight:5},e.createElement(f.Z,{textColor:"neutral200",variant:"alpha"},I+1)),e.createElement(M.x,{position:"relative"},e.createElement(yt,{src:dt,alt:""}),e.createElement(Et,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(ee.J,{as:ct.Z,color:"buttonNeutral0",width:3,height:3}))),e.createElement(m.k,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(f.Z,{fontWeight:"bold"},c(i)),e.createElement(rt.T,null,":"),e.createElement(f.Z,{textColor:"neutral600",variant:"pi"},g)))),e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:2,paddingLeft:5,paddingTop:2,paddingBottom:5},h.map(({label:p,href:g,icon:i})=>e.createElement(m.k,{gap:3,key:g},e.createElement(ee.J,{as:i,color:"primary600"}),e.createElement(ve,{as:"a",href:g,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},c(p)))))))))};const Ct=(0,e.lazy)(()=>Promise.all([n.e(462),n.e(1657),n.e(994)]).then(n.bind(n,28200))),Tt=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,55129))),Mt=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),St=(0,e.lazy)(()=>n.e(5516).then(n.bind(n,84538))),Ce=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),Pt=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),It=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),Te=(0,e.lazy)(()=>n.e(5895).then(n.bind(n,74750))),Rt=()=>{const{trackUsage:t}=(0,s.rS)(),a=(0,y.I0)(),o=(0,y.v9)(c=>c.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:ot.e}))},[o])};var At=()=>{Rt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:o}=(0,C.H9)(),{menu:c}=(0,s.j1)(),{showTutorials:d}=(0,C.um)(),u=(0,e.useMemo)(()=>c.filter(h=>h.Component).map(({to:h,Component:p,exact:g})=>(0,_.ot)(p,h,g)),[c]);return t?e.createElement(s.dO,null):e.createElement(G.DndProvider,{backend:z.PD},e.createElement(at,{sideNav:e.createElement(et,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(s.dO,null)},e.createElement(E.rs,null,e.createElement(E.AW,{path:"/",component:Tt,exact:!0}),e.createElement(E.AW,{path:"/me",component:It,exact:!0}),e.createElement(E.AW,{path:"/content-manager",component:Ct}),u,e.createElement(E.AW,{path:"/settings/:settingId",component:Te}),e.createElement(E.AW,{path:"/settings",component:Te,exact:!0}),e.createElement(E.AW,{path:"/marketplace"},e.createElement(St,null)),e.createElement(E.AW,{path:"/list-plugins",exact:!0},e.createElement(Mt,null)),e.createElement(E.AW,{path:"/404",component:Ce}),e.createElement(E.AW,{path:"/500",component:Pt}),e.createElement(E.AW,{path:"",component:Ce}))),e.createElement(ze,null),d&&e.createElement(vt,null)))},Lt=t=>({plugins:Object.keys(t).reduce((a,o)=>(a[o]={...t[o]},a),{})}),Ot=n(3040),xt=n.n(Ot);const Me={plugins:null};var bt=(t=Me,a)=>(0,ie.ZP)(t,o=>{switch(a.type){case"SET_PLUGIN_READY":{xt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Dt=()=>{const{plugins:t}=(0,s.j1)(),[{plugins:a},o]=(0,e.useReducer)(bt,Me,()=>Lt(t)),c=(0,e.useRef)(u=>{o({type:"SET_PLUGIN_READY",pluginId:u})});if(Object.keys(a).some(u=>a[u].isReady===!1)){const u=Object.keys(a).reduce((h,p)=>{const g=a[p].initializer;if(g){const i=a[p].pluginId;h.push(e.createElement(g,{key:i,setPlugin:c.current}))}return h},[]);return e.createElement(e.Fragment,null,u,e.createElement(s.dO,null))}return e.createElement(At,null)},Se=n(17367);const kt=()=>({type:Se.l}),Zt=t=>({type:Se.m,permissions:t}),Pe=({children:t,permissions:a,refetchPermissions:o})=>{const{allPermissions:c}=(0,y.v9)(u=>u.rbacProvider),d=(0,y.I0)();return(0,e.useEffect)(()=>(d(Zt(a)),()=>{d(kt())}),[a,d]),c?e.createElement(s.oL.Provider,{value:{allPermissions:c,refetchPermissions:o}},t):e.createElement(s.dO,null)};Pe.propTypes={children:r().element.isRequired,permissions:r().array.isRequired,refetchPermissions:r().func.isRequired};var Bt=Pe,Wt=n(84306),Gt=n(54770),te=n.n(Gt),Ie=(t,a)=>!te().valid(t)||!te().valid(a)?!1:te().lt(t,a);const Re=P.i8,Nt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:ne}=(0,s.tg)(),Ut=async t=>{try{const{data:{tag_name:a}}=await Wt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return Ie(Re,a)&&Nt&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Re}},Ft=async()=>{try{const{data:t,headers:a}=await ne("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},jt=async()=>{try{const{data:t,headers:a}=await ne("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},$t=async()=>{try{const{data:{data:{roles:t}}}=await ne("/admin/users/me");return t}catch(t){throw new Error(t)}},Ae=P.i8;var Qt=()=>{const{setGuidedTourVisibility:t}=(0,s.c1)(),a=(0,s.lm)(),o=s.I8.getUserInfo(),c=O()(o,"username")||(0,_.Pp)(o.firstname,o.lastname),[d,u]=(0,e.useState)(c),[h,p]=(0,e.useState)(null),{showReleaseNotification:g}=(0,C.um)(),[{data:i,status:I},{data:x,isLoading:U},{data:F,status:W,refetch:A,isFetched:j,isFetching:b},{data:R}]=(0,L.useQueries)([{queryKey:"app-infos",queryFn:Ft},{queryKey:"strapi-release",queryFn:()=>Ut(a),enabled:g,initialData:Ae},{queryKey:"admin-users-permission",queryFn:jt,initialData:[]},{queryKey:"user-roles",queryFn:$t}]),D=Ie(Ae,x);return(0,e.useEffect)(()=>{R&&R.find(({code:$})=>$==="strapi-super-admin")&&i?.autoReload&&t(!0)},[R,i,t]),(0,e.useEffect)(()=>{(async()=>{const $=await(0,_.Qy)(o);p($)})()},[o]),U||(b&&j||I==="loading"||W==="loading")?e.createElement(s.dO,null):I==="error"?e.createElement("div",null,"error..."):e.createElement(s.iq,{...i,userId:h,latestStrapiReleaseTag:x,setUserDisplayName:u,shouldUpdateStrapi:D,userDisplayName:d},e.createElement(Bt,{permissions:F,refetchPermissions:A},e.createElement(Dt,null)))}},78024:function(Q,S,n){var e=n(32735),s=n(60216),L=n.n(s),v=n(24989),O=n(72850),P=n(23678);const C=({type:E,...y})=>e.createElement(O.x,{width:(0,v.Q1)(2),height:"100%",background:E===P.VM?"neutral300":"primary500",hasRadius:!0,...y});C.defaultProps={type:P.VM},C.propTypes={type:L().oneOf([P.lW,P.hx,P.VM])},S.Z=C},14317:function(Q,S,n){var e=n(32735),s=n(60216),L=n.n(s),v=n(24989),O=n(87933),P=n(99140),C=n(49372),E=n(66456),y=n(23678);const G=({type:z,number:K})=>z===y.hx?e.createElement(O.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(P.J,{as:E.Z,"aria-hidden":!0,width:(0,v.Q1)(16),color:"neutral0"})):z===y.lW?e.createElement(O.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(C.Z,{fontWeight:"semiBold",textColor:"neutral0"},K)):e.createElement(O.k,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(C.Z,{fontWeight:"semiBold",textColor:"neutral600"},K));G.defaultProps={number:void 0,type:y.VM},G.propTypes={number:L().number,type:L().oneOf([y.lW,y.hx,y.VM])},S.Z=G},23678:function(Q,S,n){n.d(S,{VM:function(){return L},hx:function(){return s},lW:function(){return e}});const e="isActive",s="isDone",L="isNotDone"},58107:function(Q,S){const n={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};S.Z=n}}]);
|
|
79
|
+
`;var vt=()=>{const t=(0,e.useRef)(),[a,o]=(0,e.useState)(!1),{formatMessage:c}=(0,Z.Z)(),{communityEdition:d}=(0,s.L7)(),u=()=>{o(p=>!p)},h=[...gt,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:it.Z,href:d?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(M.x,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(ht,{"aria-label":c(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:u,ref:t},e.createElement(ee.J,{as:a?se.Z:lt.Z,color:"buttonNeutral0"})),a&&e.createElement(oe.h,null,e.createElement(st.M.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(V.i,{onEscape:u},e.createElement(m.k,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ye,{fontWeight:"bold"},c({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(ve,{as:"a",href:fe.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},c(fe.label))),e.createElement(pe.i,null),mt.map(({href:p,duration:g,label:i},I)=>e.createElement(ft,{as:"a",href:p,target:"_blank",rel:"noreferrer noopener",key:p,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(M.x,{paddingRight:5},e.createElement(f.Z,{textColor:"neutral200",variant:"alpha"},I+1)),e.createElement(M.x,{position:"relative"},e.createElement(yt,{src:dt,alt:""}),e.createElement(Et,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(ee.J,{as:ct.Z,color:"buttonNeutral0",width:3,height:3}))),e.createElement(m.k,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(f.Z,{fontWeight:"bold"},c(i)),e.createElement(rt.T,null,":"),e.createElement(f.Z,{textColor:"neutral600",variant:"pi"},g)))),e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:2,paddingLeft:5,paddingTop:2,paddingBottom:5},h.map(({label:p,href:g,icon:i})=>e.createElement(m.k,{gap:3,key:g},e.createElement(ee.J,{as:i,color:"primary600"}),e.createElement(ve,{as:"a",href:g,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},c(p)))))))))};const Ct=(0,e.lazy)(()=>Promise.all([n.e(462),n.e(1657),n.e(9703),n.e(994)]).then(n.bind(n,43011))),Tt=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,55129))),Mt=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),St=(0,e.lazy)(()=>n.e(5516).then(n.bind(n,84538))),Ce=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),Pt=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),It=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),Te=(0,e.lazy)(()=>n.e(5895).then(n.bind(n,74750))),Rt=()=>{const{trackUsage:t}=(0,s.rS)(),a=(0,y.I0)(),o=(0,y.v9)(c=>c.admin_app.status);(0,e.useEffect)(()=>{o==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:ot.e}))},[o])};var At=()=>{Rt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:o}=(0,C.H9)(),{menu:c}=(0,s.j1)(),{showTutorials:d}=(0,C.um)(),u=(0,e.useMemo)(()=>c.filter(h=>h.Component).map(({to:h,Component:p,exact:g})=>(0,_.ot)(p,h,g)),[c]);return t?e.createElement(s.dO,null):e.createElement(G.DndProvider,{backend:z.PD},e.createElement(at,{sideNav:e.createElement(et,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(s.dO,null)},e.createElement(E.rs,null,e.createElement(E.AW,{path:"/",component:Tt,exact:!0}),e.createElement(E.AW,{path:"/me",component:It,exact:!0}),e.createElement(E.AW,{path:"/content-manager",component:Ct}),u,e.createElement(E.AW,{path:"/settings/:settingId",component:Te}),e.createElement(E.AW,{path:"/settings",component:Te,exact:!0}),e.createElement(E.AW,{path:"/marketplace"},e.createElement(St,null)),e.createElement(E.AW,{path:"/list-plugins",exact:!0},e.createElement(Mt,null)),e.createElement(E.AW,{path:"/404",component:Ce}),e.createElement(E.AW,{path:"/500",component:Pt}),e.createElement(E.AW,{path:"",component:Ce}))),e.createElement(ze,null),d&&e.createElement(vt,null)))},Lt=t=>({plugins:Object.keys(t).reduce((a,o)=>(a[o]={...t[o]},a),{})}),Ot=n(3040),xt=n.n(Ot);const Me={plugins:null};var bt=(t=Me,a)=>(0,ie.ZP)(t,o=>{switch(a.type){case"SET_PLUGIN_READY":{xt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Dt=()=>{const{plugins:t}=(0,s.j1)(),[{plugins:a},o]=(0,e.useReducer)(bt,Me,()=>Lt(t)),c=(0,e.useRef)(u=>{o({type:"SET_PLUGIN_READY",pluginId:u})});if(Object.keys(a).some(u=>a[u].isReady===!1)){const u=Object.keys(a).reduce((h,p)=>{const g=a[p].initializer;if(g){const i=a[p].pluginId;h.push(e.createElement(g,{key:i,setPlugin:c.current}))}return h},[]);return e.createElement(e.Fragment,null,u,e.createElement(s.dO,null))}return e.createElement(At,null)},Se=n(17367);const kt=()=>({type:Se.l}),Zt=t=>({type:Se.m,permissions:t}),Pe=({children:t,permissions:a,refetchPermissions:o})=>{const{allPermissions:c}=(0,y.v9)(u=>u.rbacProvider),d=(0,y.I0)();return(0,e.useEffect)(()=>(d(Zt(a)),()=>{d(kt())}),[a,d]),c?e.createElement(s.oL.Provider,{value:{allPermissions:c,refetchPermissions:o}},t):e.createElement(s.dO,null)};Pe.propTypes={children:r().element.isRequired,permissions:r().array.isRequired,refetchPermissions:r().func.isRequired};var Bt=Pe,Wt=n(84306),Gt=n(54770),te=n.n(Gt),Ie=(t,a)=>!te().valid(t)||!te().valid(a)?!1:te().lt(t,a);const Re=P.i8,Nt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:ne}=(0,s.tg)(),Ut=async t=>{try{const{data:{tag_name:a}}=await Wt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return Ie(Re,a)&&Nt&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Re}},Ft=async()=>{try{const{data:t,headers:a}=await ne("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},jt=async()=>{try{const{data:t,headers:a}=await ne("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},$t=async()=>{try{const{data:{data:{roles:t}}}=await ne("/admin/users/me");return t}catch(t){throw new Error(t)}},Ae=P.i8;var Qt=()=>{const{setGuidedTourVisibility:t}=(0,s.c1)(),a=(0,s.lm)(),o=s.I8.getUserInfo(),c=O()(o,"username")||(0,_.Pp)(o.firstname,o.lastname),[d,u]=(0,e.useState)(c),[h,p]=(0,e.useState)(null),{showReleaseNotification:g}=(0,C.um)(),[{data:i,status:I},{data:x,isLoading:U},{data:F,status:W,refetch:A,isFetched:j,isFetching:b},{data:R}]=(0,L.useQueries)([{queryKey:"app-infos",queryFn:Ft},{queryKey:"strapi-release",queryFn:()=>Ut(a),enabled:g,initialData:Ae},{queryKey:"admin-users-permission",queryFn:jt,initialData:[]},{queryKey:"user-roles",queryFn:$t}]),D=Ie(Ae,x);return(0,e.useEffect)(()=>{R&&R.find(({code:$})=>$==="strapi-super-admin")&&i?.autoReload&&t(!0)},[R,i,t]),(0,e.useEffect)(()=>{(async()=>{const $=await(0,_.Qy)(o);p($)})()},[o]),U||(b&&j||I==="loading"||W==="loading")?e.createElement(s.dO,null):I==="error"?e.createElement("div",null,"error..."):e.createElement(s.iq,{...i,userId:h,latestStrapiReleaseTag:x,setUserDisplayName:u,shouldUpdateStrapi:D,userDisplayName:d},e.createElement(Bt,{permissions:F,refetchPermissions:A},e.createElement(Dt,null)))}},78024:function(Q,S,n){var e=n(32735),s=n(60216),L=n.n(s),v=n(24989),O=n(72850),P=n(23678);const C=({type:E,...y})=>e.createElement(O.x,{width:(0,v.Q1)(2),height:"100%",background:E===P.VM?"neutral300":"primary500",hasRadius:!0,...y});C.defaultProps={type:P.VM},C.propTypes={type:L().oneOf([P.lW,P.hx,P.VM])},S.Z=C},14317:function(Q,S,n){var e=n(32735),s=n(60216),L=n.n(s),v=n(24989),O=n(87933),P=n(99140),C=n(49372),E=n(66456),y=n(23678);const G=({type:z,number:K})=>z===y.hx?e.createElement(O.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(P.J,{as:E.Z,"aria-hidden":!0,width:(0,v.Q1)(16),color:"neutral0"})):z===y.lW?e.createElement(O.k,{background:"primary600",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(C.Z,{fontWeight:"semiBold",textColor:"neutral0"},K)):e.createElement(O.k,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,v.Q1)(30),height:(0,v.Q1)(30),justifyContent:"center"},e.createElement(C.Z,{fontWeight:"semiBold",textColor:"neutral600"},K));G.defaultProps={number:void 0,type:y.VM},G.propTypes={number:L().number,type:L().oneOf([y.lW,y.hx,y.VM])},S.Z=G},23678:function(Q,S,n){n.d(S,{VM:function(){return L},hx:function(){return s},lW:function(){return e}});const e="isActive",s="isDone",L="isNotDone"},58107:function(Q,S){const n={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};S.Z=n}}]);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
left: 0;
|
|
7
7
|
right: 0;
|
|
8
8
|
z-index: 1;
|
|
9
|
-
`,it=({setLocalImage:a,goTo:n,next:s,onClose:l})=>{const{formatMessage:u}=(0,d.Z)(),[v,R]=(0,e.useState)(!1),[C,f]=(0,e.useState)(void 0),m=(0,e.useRef)(null),B=()=>R(!0),L=()=>R(!1),W=Q=>{Q.preventDefault(),m.current.click()},Z=async()=>{L();const Q=m.current.files[0];if(Q)try{const N=await vt(Q);a(N),n(s)}catch(N){if(N.displayMessage)f(u(N.displayMessage,{size:$,dimension:G})),m.current.focus();else throw N}},b=()=>v?"primary500":C?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Bt.g,{name:"logo-upload",error:C},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(M.k,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:v?"primary100":"neutral100",borderColor:b(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:B,onDragLeave:L},e.createElement(Ut.J,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:Zt.Z,"aria-hidden":!0}),e.createElement(A.x,{paddingTop:3,paddingBottom:5},e.createElement(c.Z,{variant:"delta",as:"span"},u({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement($t,{accept:X,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:Z,ref:m,id:"logo-upload"}),e.createElement(T.z,{type:"button",onClick:W},u({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(A.x,{paddingTop:6},e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},u({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:$,dimension:G})))),e.createElement(zt.c,null)))))),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:l,variant:"tertiary"},u({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};it.defaultProps={next:null},it.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var jt=it,Nt=t(10369),Gt=t(84306),bt=async a=>{try{const n=await Gt.Z.get(a,{responseType:"blob",timeout:8e3});return new File([n.data],n.config.url,{type:n.headers["content-type"]})}catch(n){throw n.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},n}};const rt=({goTo:a,next:n,onClose:s,setLocalImage:l})=>{const{formatMessage:u}=(0,d.Z)(),[v,R]=(0,e.useState)(""),[C,f]=(0,e.useState)(null),m=L=>{R(L.target.value)},B=async()=>{try{const L=await bt(v),W=await vt(L);l(W),a(n)}catch(L){if(L.displayMessage)f(u(L.displayMessage,{size:$,dimension:G}));else throw L}};return e.createElement("form",{onSubmit:L=>{L.preventDefault(),B()}},e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Nt.o,{label:u({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:C,onChange:m,value:v,name:"logo-url"})),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:s,variant:"tertiary"},u({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(T.z,{type:"submit"},u({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};rt.defaultProps={next:null},rt.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var Ht=rt;const dt=({setLocalImage:a,goTo:n,next:s,onClose:l})=>{const{formatMessage:u}=(0,d.Z)();return e.createElement(Ot.v,{label:u({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(A.x,{paddingLeft:8,paddingRight:8},e.createElement(ot.m,null,e.createElement(ot.O,null,u({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(ot.O,null,u({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(It.i,null)),e.createElement(st.n,null,e.createElement(st.x,null,e.createElement(jt,{onClose:l,setLocalImage:a,goTo:n,next:s})),e.createElement(st.x,null,e.createElement(Ht,{onClose:l,setLocalImage:a,goTo:n,next:s}))))};dt.defaultProps={next:null},dt.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var Vt=dt,Qt=t(42466),Jt=t(20853),Xt=t(2800),Yt=t(26835),wt=t(41048),Ct=t(37083),kt=t(11505);const Mt=({asset:a})=>{const{formatMessage:n}=(0,d.Z)();return e.createElement(Qt.Z,null,e.createElement(Jt.O,null,e.createElement(Xt.H,{size:"S",src:a.url})),e.createElement(Yt.e,null,e.createElement(wt.a,null,e.createElement(Ct.l,null,a.name),e.createElement(Ct._,null,`${a.ext.toUpperCase()} - ${a.width}\u2715${a.height}`)),e.createElement(kt.E,null,n({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};Mt.propTypes={asset:o().shape({name:o().string,url:o().string,width:o().number,height:o().number,ext:o().string}).isRequired};var qt=Mt;const ct=({onClose:a,asset:n,prev:s,next:l,goTo:u,setLocalImage:v,onChangeLogo:R})=>{const{formatMessage:C}=(0,d.Z)(),f=()=>{v(void 0),u(s)},m=()=>{R(n),u(l)};return e.createElement(e.Fragment,null,e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(M.k,{justifyContent:"space-between",paddingBottom:6},e.createElement(M.k,{direction:"column",alignItems:"flex-start"},e.createElement(c.Z,{variant:"pi",fontWeight:"bold"},C({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(c.Z,{variant:"pi",textColor:"neutral500"},C({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(T.z,{onClick:f,variant:"secondary"},C({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(A.x,{maxWidth:(0,i.Q1)(180)},n.url?e.createElement(qt,{asset:n}):null)),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:a,variant:"tertiary"},C({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(T.z,{onClick:m},C({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};ct.defaultProps={next:null,prev:null},ct.propTypes={goTo:o().func.isRequired,asset:o().shape({name:o().string,url:o().string,width:o().number,height:o().number,ext:o().string}).isRequired,next:o().string,onClose:o().func.isRequired,onChangeLogo:o().func.isRequired,prev:o().string,setLocalImage:o().func.isRequired};var _t=ct,te={upload:{Component:Vt,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:_t,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const mt=({canUpdate:a,customLogo:n,defaultLogo:s,hint:l,label:u,onChangeLogo:v,onResetLogo:R})=>{const[{currentStep:C},f]=(0,e.useReducer)(Pt,ft),{Component:m,next:B,prev:L,modalTitle:W}=te[C]||{},{formatMessage:Z}=(0,d.Z)(),b=Q=>{f({type:"GO_TO",to:Q})};return e.createElement(e.Fragment,null,e.createElement(w.F,{label:u,selectedSlide:0,hint:l,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:n?.name||"logo.png",actions:e.createElement(q.b,null,e.createElement(J.h,{disabled:!a,onClick:()=>b(n?"pending":"upload"),label:Z({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(_.Z,null)}),n&&e.createElement(J.h,{disabled:!a,onClick:R,label:Z({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(tt.Z,null)}))},e.createElement(Y.q,{label:Z({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(A.x,{maxHeight:"40%",maxWidth:"40%",as:"img",src:n?.url||s,alt:Z({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(Tt,{Component:m,currentStep:C,onChangeLogo:v,customLogo:n,goTo:b,next:B,prev:L,modalTitle:W}))};mt.defaultProps={canUpdate:!1,customLogo:null,hint:null},mt.propTypes={canUpdate:o().bool,customLogo:o().shape({url:o().string,name:o().string}),label:o().string.isRequired,hint:o().string,defaultLogo:o().string.isRequired,onChangeLogo:o().func.isRequired,onResetLogo:o().func.isRequired};var Lt=mt;const ut={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var ee=(a=ut,n)=>(0,j.ZP)(a,s=>{switch(n.type){case"SET_CUSTOM_MENU_LOGO":{s.menuLogo.display=n.value,s.menuLogo.submit.rawFile=n.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{s.authLogo.display=n.value,s.authLogo.submit.rawFile=n.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{s.menuLogo.display=null,s.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{s.authLogo.display=null,s.authLogo.submit={rawFile:null,isReset:!0};break}default:return s}}),ne=t(86349),ae=t.n(ne),oe=(a,n)=>ae()(a,{menuLogo:{display:n.menuLogo},authLogo:{display:n.authLogo}});const gt=(0,e.forwardRef)(({canUpdate:a,projectSettingsStored:n},s)=>{const{formatMessage:l}=(0,d.Z)(),{trackUsage:u}=(0,i.rS)(),{logos:{menu:v,auth:R}}=(0,h.um)(),[{menuLogo:C,authLogo:f},m]=(0,e.useReducer)(ee,ut,()=>oe(ut,n)),B=b=>{m({type:"SET_CUSTOM_MENU_LOGO",value:b})},L=()=>{u("didClickResetLogo",{logo:"menu"}),m({type:"RESET_CUSTOM_MENU_LOGO"})},W=b=>{m({type:"SET_CUSTOM_AUTH_LOGO",value:b})},Z=()=>{u("didClickResetLogo",{logo:"auth"}),m({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(s,()=>({getValues:()=>({menuLogo:C.submit,authLogo:f.submit})})),e.createElement(A.x,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(c.Z,{variant:"delta",as:"h3"},l({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},l({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:G,size:$})),e.createElement(P.r,{paddingTop:4,gap:4},e.createElement(x.P,{col:6,s:12},e.createElement(Lt,{canUpdate:a,customLogo:C.display,defaultLogo:v.default,hint:l({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:l({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:B,onResetLogo:L})),e.createElement(x.P,{col:6,s:12},e.createElement(Lt,{canUpdate:a,customLogo:f.display,defaultLogo:R.default,hint:l({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:l({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:W,onResetLogo:Z}))))});gt.defaultProps={canUpdate:!1,projectSettingsStored:null},gt.propTypes={canUpdate:o().bool,projectSettingsStored:o().shape({menuLogo:o().shape({url:o().string,name:o().string})})};var se=gt,le=t(48344),ie=t.n(le),yt=a=>ie()(a,(n,s,l)=>{s&&s.url?n[l]={...s,url:(0,i.CR)(s.url)}:n[l]=s},{});const re=async()=>{const{get:a}=(0,i.tg)(),{data:n}=await a("/admin/project-settings");return yt(n)},de=async a=>{const{post:n}=(0,i.tg)(),{data:s}=await n("/admin/project-settings",a,{headers:{"Content-Type":"multipart/form-data"}});return yt(s)};var ce=a=>{const n=new FormData;return Object.entries(a).forEach(([s,l])=>{l&&l.rawFile instanceof File&&n.append(s,l.rawFile),l&&l.isReset&&n.append(s,null)}),n};const me=(()=>window&&window.strapi&&window.strapi.isEE?t(78999).Z:t(17891).Z)();var ue=()=>{const a=(0,e.useRef)(),n=(0,i.lm)(),{trackUsage:s}=(0,i.rS)(),{formatMessage:l}=(0,d.Z)(),u=(0,O.useQueryClient)();(0,i.go)();const v=(0,i.L7)(),{latestStrapiReleaseTag:R,shouldUpdateStrapi:C,strapiVersion:f}=v,{updateProjectSettings:m}=(0,h.um)(),{allowedActions:{canRead:B,canUpdate:L}}=(0,i.ss)(H.Z.settings["project-settings"]),W=B&&L,{data:Z}=(0,O.useQuery)("project-settings",re,{enabled:B}),b=(0,O.useMutation)(N=>de(N),{async onSuccess(N){let{menuLogo:k,authLogo:pt}=N;await u.invalidateQueries("project-settings",{refetchActive:!0}),m({menuLogo:k?.url,authLogo:pt?.url})}}),Q=N=>{if(N.preventDefault(),!L)return;const k=a.current.getValues(),pt=ce(k);b.mutate(pt,{onSuccess(){const{menuLogo:Pe,authLogo:Oe}=k;Pe.rawFile&&s("didChangeLogo",{logo:"menu"}),Oe.rawFile&&s("didChangeLogo",{logo:"auth"}),n({type:"success",message:l({id:"app",defaultMessage:"Saved"})})},onError(){n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(p.A,null,e.createElement(i.SL,{name:"Application"}),e.createElement(U.o,null,e.createElement("form",{onSubmit:Q},e.createElement(F.T,{title:l({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:l({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:W&&e.createElement(T.z,{type:"submit",startIcon:e.createElement(z.Z,null)},l({id:"global.save",defaultMessage:"Save"}))}),e.createElement(S.D,null,e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(c.Z,{variant:"delta",as:"h3"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(P.r,{gap:5,as:"dl"},e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(M.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(c.Z,null,"v",f),C&&e.createElement(I.r,{href:`https://github.com/strapi/strapi/releases/tag/${R}`,isExternal:!0,endIcon:e.createElement(K.Z,null)},l({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(M.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(c.Z,null,l({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:v.communityEdition})),e.createElement(I.r,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(K.Z,null)},l({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(c.Z,{as:"dd"},v.nodeVersion)),e.createElement(me,null))),B&&Z&&e.createElement(se,{canUpdate:L,ref:a,projectSettingsStored:Z}))))))},ge=t(3704),pe=t.n(ge),Ee=a=>pe()(a,s=>s.links).map(s=>(0,g.ot)(s.Component,s.to,s.exact||!1)),fe=a=>a.filter(n=>!n.links.every(s=>s.isDisplayed===!1)),he=[{async Component(){return await t.e(3455).then(t.bind(t,67249))},to:"/settings/roles",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,92034))},to:"/settings/roles/duplicate/:id",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,92034))},to:"/settings/roles/new",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,33778))},to:"/settings/roles/:id",exact:!0},{async Component(){return await t.e(5199).then(t.bind(t,76949))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,40874))},to:"/settings/users/:id",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,33238))},to:"/settings/webhooks/create",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,59021))},to:"/settings/webhooks/:id",exact:!0},{async Component(){return await t.e(4121).then(t.bind(t,74767))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,37168))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(5563),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(5563),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(7259),t.e(4816)]).then(t.bind(t,76411))},to:"/settings/transfer-tokens/create",exact:!0},{async Component(){return await t.e(9600).then(t.bind(t,38286))},to:"/settings/transfer-tokens",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(7259),t.e(2492)]).then(t.bind(t,73607))},to:"/settings/transfer-tokens/:id",exact:!0}],ve=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...he],Ce=t(14911),Me=t(90700),Le=t(78090),ye=t(77013),Se=t(79318),xe=t(66618);const St=({menu:a})=>{const{formatMessage:n}=(0,d.Z)(),{trackUsage:s}=(0,i.rS)(),{pathname:l}=(0,r.TH)(),v=fe(a).map(f=>({...f,title:f.intlLabel,links:f.links.map(m=>({...m,title:m.intlLabel,name:m.id}))})),R=n({id:"global.settings",defaultMessage:"Settings"}),C=(f=null)=>{s("willNavigate",{from:l,to:f})};return e.createElement(Me.m,{ariaLabel:R},e.createElement(Le.p,{label:R}),e.createElement(ye.Z,null,v.map(f=>e.createElement(Se.D,{key:f.id,label:n(f.intlLabel)},f.links.map(m=>e.createElement(xe.E,{as:Ce.OL,withBullet:m.hasNotification,to:m.to,onClick:()=>C(m.to),key:m.id},n(m.intlLabel)))))))};St.propTypes={menu:o().array.isRequired};var Re=St;function xt(){const{settingId:a}=(0,r.UO)(),{settings:n}=(0,i.j1)(),{formatMessage:s}=(0,d.Z)(),{isLoading:l,menu:u}=(0,h.Te)(),v=(0,e.useMemo)(()=>(0,g.WW)(ve.map(({to:f,Component:m,exact:B})=>(0,g.ot)(m,f,B))),[]),R=Ee(n);if(l)return e.createElement(i.dO,null);if(!a)return e.createElement(r.l_,{to:"/settings/application-infos"});const C=s({id:"global.settings",defaultMessage:"Settings"});return e.createElement(p.A,{sideNav:e.createElement(Re,{menu:u})},e.createElement(y.q,{title:C}),e.createElement(r.rs,null,e.createElement(r.AW,{path:"/settings/application-infos",component:ue,exact:!0}),v,R))}var Te=(0,e.memo)(xt)},17891:function(D,E){"use strict";const t=()=>null;E.Z=t},75936:function(D,E){"use strict";const t=[];E.Z=t},78999:function(D,E,t){"use strict";var e=t(32735),i=t(67879),r=t(5803),p=t(49372),d=t(87933),y=t(63919),h=t(99140),g=t(41502),O=t(69932),U=t(47361),F=t(24989),T=t(58414);const S="https://cloud.strapi.io/profile/billing",M="https://strapi.io/billing/request-seats",c=()=>{const{formatMessage:P}=(0,i.Z)(),{license:x}=(0,T.q5)(),{licenseLimitStatus:I,enforcementUserCount:z,permittedSeats:K,isHostedOnStrapiCloud:H}=x?.data??{};return K?e.createElement(r.P,{col:6,s:12},e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},P({id:"Settings.application.admin-seats",defaultMessage:"Admin seats"})),e.createElement(d.k,{gap:2},e.createElement(d.k,null,e.createElement(p.Z,{as:"p"},P({id:"Settings.application.ee.admin-seats.count",defaultMessage:"<text>{enforcementUserCount}</text>/{permittedSeats}"},{permittedSeats:K,enforcementUserCount:z,text:V=>e.createElement(p.Z,{fontWeight:"semiBold",textColor:z>K?"danger500":null},V)}))),I==="OVER_LIMIT"&&e.createElement(y.u,{description:P({id:"Settings.application.ee.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"})},e.createElement(h.J,{width:`${(0,F.Q1)(14)}rem`,height:`${(0,F.Q1)(14)}rem`,color:"danger500",as:O.Z}))),e.createElement(g.r,{href:H?S:M,isExternal:!0,endIcon:e.createElement(U.Z,null)},P({id:"Settings.application.ee.admin-seats.add-seats",defaultMessage:"{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}"},{isHostedOnStrapiCloud:H}))):null};E.Z=c},63775:function(D,E,t){"use strict";const e=[];window.strapi.features.isEnabled(window.strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)&&e.push({async Component(){return await t.e(8155).then(t.bind(t,16633))},to:"/settings/review-workflows",exact:!0}),window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),E.Z=e},3704:function(D,E,t){var e=t(40314),i=t(37213);function r(p,d){return e(i(p,d),1)}D.exports=r},37213:function(D,E,t){var e=t(26460),i=t(88904),r=t(52920),p=t(77236);function d(y,h){var g=p(y)?e:r;return g(y,i(h,3))}D.exports=d},96709:function(D,E,t){"use strict";t.d(E,{A:function(){return h}});var e=t(32735),i=t(60216),r=t(8471),p=t(72850);const d=(0,r.ZP)(p.x)`
|
|
9
|
+
`,it=({setLocalImage:a,goTo:n,next:s,onClose:l})=>{const{formatMessage:u}=(0,d.Z)(),[v,R]=(0,e.useState)(!1),[C,f]=(0,e.useState)(void 0),m=(0,e.useRef)(null),B=()=>R(!0),L=()=>R(!1),W=Q=>{Q.preventDefault(),m.current.click()},Z=async()=>{L();const Q=m.current.files[0];if(Q)try{const N=await vt(Q);a(N),n(s)}catch(N){if(N.displayMessage)f(u(N.displayMessage,{size:$,dimension:G})),m.current.focus();else throw N}},b=()=>v?"primary500":C?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Bt.g,{name:"logo-upload",error:C},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(M.k,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:v?"primary100":"neutral100",borderColor:b(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:B,onDragLeave:L},e.createElement(Ut.J,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:Zt.Z,"aria-hidden":!0}),e.createElement(A.x,{paddingTop:3,paddingBottom:5},e.createElement(c.Z,{variant:"delta",as:"span"},u({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement($t,{accept:X,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:Z,ref:m,id:"logo-upload"}),e.createElement(T.z,{type:"button",onClick:W},u({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(A.x,{paddingTop:6},e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},u({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:$,dimension:G})))),e.createElement(zt.c,null)))))),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:l,variant:"tertiary"},u({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};it.defaultProps={next:null},it.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var jt=it,Nt=t(10369),Gt=t(84306),bt=async a=>{try{const n=await Gt.Z.get(a,{responseType:"blob",timeout:8e3});return new File([n.data],n.config.url,{type:n.headers["content-type"]})}catch(n){throw n.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},n}};const rt=({goTo:a,next:n,onClose:s,setLocalImage:l})=>{const{formatMessage:u}=(0,d.Z)(),[v,R]=(0,e.useState)(""),[C,f]=(0,e.useState)(null),m=L=>{R(L.target.value)},B=async()=>{try{const L=await bt(v),W=await vt(L);l(W),a(n)}catch(L){if(L.displayMessage)f(u(L.displayMessage,{size:$,dimension:G}));else throw L}};return e.createElement("form",{onSubmit:L=>{L.preventDefault(),B()}},e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(Nt.o,{label:u({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:C,onChange:m,value:v,name:"logo-url"})),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:s,variant:"tertiary"},u({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(T.z,{type:"submit"},u({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};rt.defaultProps={next:null},rt.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var Ht=rt;const dt=({setLocalImage:a,goTo:n,next:s,onClose:l})=>{const{formatMessage:u}=(0,d.Z)();return e.createElement(Ot.v,{label:u({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(A.x,{paddingLeft:8,paddingRight:8},e.createElement(ot.m,null,e.createElement(ot.O,null,u({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(ot.O,null,u({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(It.i,null)),e.createElement(st.n,null,e.createElement(st.x,null,e.createElement(jt,{onClose:l,setLocalImage:a,goTo:n,next:s})),e.createElement(st.x,null,e.createElement(Ht,{onClose:l,setLocalImage:a,goTo:n,next:s}))))};dt.defaultProps={next:null},dt.propTypes={goTo:o().func.isRequired,next:o().string,onClose:o().func.isRequired,setLocalImage:o().func.isRequired};var Vt=dt,Qt=t(42466),Jt=t(20853),Xt=t(2800),Yt=t(26835),wt=t(41048),Ct=t(37083),kt=t(11505);const Mt=({asset:a})=>{const{formatMessage:n}=(0,d.Z)();return e.createElement(Qt.Z,null,e.createElement(Jt.O,null,e.createElement(Xt.H,{size:"S",src:a.url})),e.createElement(Yt.e,null,e.createElement(wt.a,null,e.createElement(Ct.l,null,a.name),e.createElement(Ct._,null,`${a.ext.toUpperCase()} - ${a.width}\u2715${a.height}`)),e.createElement(kt.E,null,n({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};Mt.propTypes={asset:o().shape({name:o().string,url:o().string,width:o().number,height:o().number,ext:o().string}).isRequired};var qt=Mt;const ct=({onClose:a,asset:n,prev:s,next:l,goTo:u,setLocalImage:v,onChangeLogo:R})=>{const{formatMessage:C}=(0,d.Z)(),f=()=>{v(void 0),u(s)},m=()=>{R(n),u(l)};return e.createElement(e.Fragment,null,e.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(M.k,{justifyContent:"space-between",paddingBottom:6},e.createElement(M.k,{direction:"column",alignItems:"flex-start"},e.createElement(c.Z,{variant:"pi",fontWeight:"bold"},C({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(c.Z,{variant:"pi",textColor:"neutral500"},C({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(T.z,{onClick:f,variant:"secondary"},C({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(A.x,{maxWidth:(0,i.Q1)(180)},n.url?e.createElement(qt,{asset:n}):null)),e.createElement(lt.m,{startActions:e.createElement(T.z,{onClick:a,variant:"tertiary"},C({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(T.z,{onClick:m},C({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};ct.defaultProps={next:null,prev:null},ct.propTypes={goTo:o().func.isRequired,asset:o().shape({name:o().string,url:o().string,width:o().number,height:o().number,ext:o().string}).isRequired,next:o().string,onClose:o().func.isRequired,onChangeLogo:o().func.isRequired,prev:o().string,setLocalImage:o().func.isRequired};var _t=ct,te={upload:{Component:Vt,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:_t,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const mt=({canUpdate:a,customLogo:n,defaultLogo:s,hint:l,label:u,onChangeLogo:v,onResetLogo:R})=>{const[{currentStep:C},f]=(0,e.useReducer)(Pt,ft),{Component:m,next:B,prev:L,modalTitle:W}=te[C]||{},{formatMessage:Z}=(0,d.Z)(),b=Q=>{f({type:"GO_TO",to:Q})};return e.createElement(e.Fragment,null,e.createElement(w.F,{label:u,selectedSlide:0,hint:l,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:n?.name||"logo.png",actions:e.createElement(q.b,null,e.createElement(J.h,{disabled:!a,onClick:()=>b(n?"pending":"upload"),label:Z({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(_.Z,null)}),n&&e.createElement(J.h,{disabled:!a,onClick:R,label:Z({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(tt.Z,null)}))},e.createElement(Y.q,{label:Z({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(A.x,{maxHeight:"40%",maxWidth:"40%",as:"img",src:n?.url||s,alt:Z({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(Tt,{Component:m,currentStep:C,onChangeLogo:v,customLogo:n,goTo:b,next:B,prev:L,modalTitle:W}))};mt.defaultProps={canUpdate:!1,customLogo:null,hint:null},mt.propTypes={canUpdate:o().bool,customLogo:o().shape({url:o().string,name:o().string}),label:o().string.isRequired,hint:o().string,defaultLogo:o().string.isRequired,onChangeLogo:o().func.isRequired,onResetLogo:o().func.isRequired};var Lt=mt;const ut={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var ee=(a=ut,n)=>(0,j.ZP)(a,s=>{switch(n.type){case"SET_CUSTOM_MENU_LOGO":{s.menuLogo.display=n.value,s.menuLogo.submit.rawFile=n.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{s.authLogo.display=n.value,s.authLogo.submit.rawFile=n.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{s.menuLogo.display=null,s.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{s.authLogo.display=null,s.authLogo.submit={rawFile:null,isReset:!0};break}default:return s}}),ne=t(86349),ae=t.n(ne),oe=(a,n)=>ae()(a,{menuLogo:{display:n.menuLogo},authLogo:{display:n.authLogo}});const gt=(0,e.forwardRef)(({canUpdate:a,projectSettingsStored:n},s)=>{const{formatMessage:l}=(0,d.Z)(),{trackUsage:u}=(0,i.rS)(),{logos:{menu:v,auth:R}}=(0,h.um)(),[{menuLogo:C,authLogo:f},m]=(0,e.useReducer)(ee,ut,()=>oe(ut,n)),B=b=>{m({type:"SET_CUSTOM_MENU_LOGO",value:b})},L=()=>{u("didClickResetLogo",{logo:"menu"}),m({type:"RESET_CUSTOM_MENU_LOGO"})},W=b=>{m({type:"SET_CUSTOM_AUTH_LOGO",value:b})},Z=()=>{u("didClickResetLogo",{logo:"auth"}),m({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(s,()=>({getValues:()=>({menuLogo:C.submit,authLogo:f.submit})})),e.createElement(A.x,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(c.Z,{variant:"delta",as:"h3"},l({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},l({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:G,size:$})),e.createElement(P.r,{paddingTop:4,gap:4},e.createElement(x.P,{col:6,s:12},e.createElement(Lt,{canUpdate:a,customLogo:C.display,defaultLogo:v.default,hint:l({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:l({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:B,onResetLogo:L})),e.createElement(x.P,{col:6,s:12},e.createElement(Lt,{canUpdate:a,customLogo:f.display,defaultLogo:R.default,hint:l({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:l({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:W,onResetLogo:Z}))))});gt.defaultProps={canUpdate:!1,projectSettingsStored:null},gt.propTypes={canUpdate:o().bool,projectSettingsStored:o().shape({menuLogo:o().shape({url:o().string,name:o().string})})};var se=gt,le=t(48344),ie=t.n(le),yt=a=>ie()(a,(n,s,l)=>{s&&s.url?n[l]={...s,url:(0,i.CR)(s.url)}:n[l]=s},{});const re=async()=>{const{get:a}=(0,i.tg)(),{data:n}=await a("/admin/project-settings");return yt(n)},de=async a=>{const{post:n}=(0,i.tg)(),{data:s}=await n("/admin/project-settings",a,{headers:{"Content-Type":"multipart/form-data"}});return yt(s)};var ce=a=>{const n=new FormData;return Object.entries(a).forEach(([s,l])=>{l&&l.rawFile instanceof File&&n.append(s,l.rawFile),l&&l.isReset&&n.append(s,null)}),n};const me=(()=>window&&window.strapi&&window.strapi.isEE?t(78999).Z:t(17891).Z)();var ue=()=>{const a=(0,e.useRef)(),n=(0,i.lm)(),{trackUsage:s}=(0,i.rS)(),{formatMessage:l}=(0,d.Z)(),u=(0,O.useQueryClient)();(0,i.go)();const v=(0,i.L7)(),{latestStrapiReleaseTag:R,shouldUpdateStrapi:C,strapiVersion:f}=v,{updateProjectSettings:m}=(0,h.um)(),{allowedActions:{canRead:B,canUpdate:L}}=(0,i.ss)(H.Z.settings["project-settings"]),W=B&&L,{data:Z}=(0,O.useQuery)("project-settings",re,{enabled:B}),b=(0,O.useMutation)(N=>de(N),{async onSuccess(N){let{menuLogo:k,authLogo:pt}=N;await u.invalidateQueries("project-settings",{refetchActive:!0}),m({menuLogo:k?.url,authLogo:pt?.url})}}),Q=N=>{if(N.preventDefault(),!L)return;const k=a.current.getValues(),pt=ce(k);b.mutate(pt,{onSuccess(){const{menuLogo:Pe,authLogo:Oe}=k;Pe.rawFile&&s("didChangeLogo",{logo:"menu"}),Oe.rawFile&&s("didChangeLogo",{logo:"auth"}),n({type:"success",message:l({id:"app",defaultMessage:"Saved"})})},onError(){n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(p.A,null,e.createElement(i.SL,{name:"Application"}),e.createElement(U.o,null,e.createElement("form",{onSubmit:Q},e.createElement(F.T,{title:l({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:l({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:W&&e.createElement(T.z,{type:"submit",startIcon:e.createElement(z.Z,null)},l({id:"global.save",defaultMessage:"Save"}))}),e.createElement(S.D,null,e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(M.k,{direction:"column",alignItems:"stretch",gap:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(c.Z,{variant:"delta",as:"h3"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(P.r,{gap:5,as:"dl"},e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(M.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(c.Z,null,"v",f),C&&e.createElement(I.r,{href:`https://github.com/strapi/strapi/releases/tag/${R}`,isExternal:!0,endIcon:e.createElement(K.Z,null)},l({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(M.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(c.Z,null,l({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:v.communityEdition})),e.createElement(I.r,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(K.Z,null)},l({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(x.P,{col:6,s:12},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(c.Z,{as:"dd"},v.nodeVersion)),e.createElement(me,null))),B&&Z&&e.createElement(se,{canUpdate:L,ref:a,projectSettingsStored:Z}))))))},ge=t(3704),pe=t.n(ge),Ee=a=>pe()(a,s=>s.links).map(s=>(0,g.ot)(s.Component,s.to,s.exact||!1)),fe=a=>a.filter(n=>!n.links.every(s=>s.isDisplayed===!1)),he=[{async Component(){return await t.e(3455).then(t.bind(t,67249))},to:"/settings/roles",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,92034))},to:"/settings/roles/duplicate/:id",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,92034))},to:"/settings/roles/new",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(2544)]).then(t.bind(t,33778))},to:"/settings/roles/:id",exact:!0},{async Component(){return await t.e(5199).then(t.bind(t,76949))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,40874))},to:"/settings/users/:id",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,33238))},to:"/settings/webhooks/create",exact:!0},{async Component(){return await t.e(5162).then(t.bind(t,59021))},to:"/settings/webhooks/:id",exact:!0},{async Component(){return await t.e(4121).then(t.bind(t,74767))},to:"/settings/webhooks",exact:!0},{async Component(){return await t.e(8056).then(t.bind(t,37168))},to:"/settings/api-tokens",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(5563),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(5563),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(7259),t.e(4816)]).then(t.bind(t,76411))},to:"/settings/transfer-tokens/create",exact:!0},{async Component(){return await t.e(9600).then(t.bind(t,38286))},to:"/settings/transfer-tokens",exact:!0},{async Component(){return await Promise.all([t.e(1387),t.e(4628),t.e(7259),t.e(2492)]).then(t.bind(t,73607))},to:"/settings/transfer-tokens/:id",exact:!0}],ve=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...he],Ce=t(14911),Me=t(90700),Le=t(78090),ye=t(77013),Se=t(79318),xe=t(66618);const St=({menu:a})=>{const{formatMessage:n}=(0,d.Z)(),{trackUsage:s}=(0,i.rS)(),{pathname:l}=(0,r.TH)(),v=fe(a).map(f=>({...f,title:f.intlLabel,links:f.links.map(m=>({...m,title:m.intlLabel,name:m.id}))})),R=n({id:"global.settings",defaultMessage:"Settings"}),C=(f=null)=>{s("willNavigate",{from:l,to:f})};return e.createElement(Me.m,{ariaLabel:R},e.createElement(Le.p,{label:R}),e.createElement(ye.Z,null,v.map(f=>e.createElement(Se.D,{key:f.id,label:n(f.intlLabel)},f.links.map(m=>e.createElement(xe.E,{as:Ce.OL,withBullet:m.hasNotification,to:m.to,onClick:()=>C(m.to),key:m.id},n(m.intlLabel)))))))};St.propTypes={menu:o().array.isRequired};var Re=St;function xt(){const{settingId:a}=(0,r.UO)(),{settings:n}=(0,i.j1)(),{formatMessage:s}=(0,d.Z)(),{isLoading:l,menu:u}=(0,h.Te)(),v=(0,e.useMemo)(()=>(0,g.WW)(ve.map(({to:f,Component:m,exact:B})=>(0,g.ot)(m,f,B))),[]),R=Ee(n);if(l)return e.createElement(i.dO,null);if(!a)return e.createElement(r.l_,{to:"/settings/application-infos"});const C=s({id:"global.settings",defaultMessage:"Settings"});return e.createElement(p.A,{sideNav:e.createElement(Re,{menu:u})},e.createElement(y.q,{title:C}),e.createElement(r.rs,null,e.createElement(r.AW,{path:"/settings/application-infos",component:ue,exact:!0}),v,R))}var Te=(0,e.memo)(xt)},17891:function(D,E){"use strict";const t=()=>null;E.Z=t},75936:function(D,E){"use strict";const t=[];E.Z=t},78999:function(D,E,t){"use strict";var e=t(32735),i=t(67879),r=t(5803),p=t(49372),d=t(87933),y=t(63919),h=t(99140),g=t(41502),O=t(69932),U=t(47361),F=t(24989),T=t(58414);const S="https://cloud.strapi.io/profile/billing",M="https://strapi.io/billing/request-seats",c=()=>{const{formatMessage:P}=(0,i.Z)(),{license:x}=(0,T.q5)(),{licenseLimitStatus:I,enforcementUserCount:z,permittedSeats:K,isHostedOnStrapiCloud:H}=x?.data??{};return K?e.createElement(r.P,{col:6,s:12},e.createElement(p.Z,{variant:"sigma",textColor:"neutral600"},P({id:"Settings.application.admin-seats",defaultMessage:"Admin seats"})),e.createElement(d.k,{gap:2},e.createElement(d.k,null,e.createElement(p.Z,{as:"p"},P({id:"Settings.application.ee.admin-seats.count",defaultMessage:"<text>{enforcementUserCount}</text>/{permittedSeats}"},{permittedSeats:K,enforcementUserCount:z,text:V=>e.createElement(p.Z,{fontWeight:"semiBold",textColor:z>K?"danger500":null},V)}))),I==="OVER_LIMIT"&&e.createElement(y.u,{description:P({id:"Settings.application.ee.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"})},e.createElement(h.J,{width:`${(0,F.Q1)(14)}rem`,height:`${(0,F.Q1)(14)}rem`,color:"danger500",as:O.Z}))),e.createElement(g.r,{href:H?S:M,isExternal:!0,endIcon:e.createElement(U.Z,null)},P({id:"Settings.application.ee.admin-seats.add-seats",defaultMessage:"{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}"},{isHostedOnStrapiCloud:H}))):null};E.Z=c},63775:function(D,E,t){"use strict";const e=[];window.strapi.features.isEnabled(window.strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)&&e.push({async Component(){return await Promise.all([t.e(6858),t.e(9703),t.e(8155)]).then(t.bind(t,89945))},to:"/settings/review-workflows",exact:!0}),window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),E.Z=e},3704:function(D,E,t){var e=t(40314),i=t(37213);function r(p,d){return e(i(p,d),1)}D.exports=r},37213:function(D,E,t){var e=t(26460),i=t(88904),r=t(52920),p=t(77236);function d(y,h){var g=p(y)?e:r;return g(y,i(h,3))}D.exports=d},96709:function(D,E,t){"use strict";t.d(E,{A:function(){return h}});var e=t(32735),i=t(60216),r=t(8471),p=t(72850);const d=(0,r.ZP)(p.x)`
|
|
10
10
|
display: grid;
|
|
11
11
|
grid-template-columns: ${({hasSideNav:g})=>g?"auto 1fr":"1fr"};
|
|
12
12
|
`,y=(0,r.ZP)(p.x)`
|