@strapi/admin 4.8.1 → 4.8.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/admin/src/translations/zh-Hans.json +895 -693
- package/build/{Admin-authenticatedApp.1f2fd68f.chunk.js → Admin-authenticatedApp.26f0eff6.chunk.js} +2 -2
- package/build/{Admin_marketplace.0f6c8ee2.chunk.js → Admin_marketplace.02608d56.chunk.js} +1 -1
- package/build/{Admin_settingsPage.caf3b9ab.chunk.js → Admin_settingsPage.7450acfc.chunk.js} +1 -1
- package/build/{admin-app.4b313104.chunk.js → admin-app.c0729915.chunk.js} +2 -2
- package/build/{content-manager.84afc839.chunk.js → content-manager.b2578b87.chunk.js} +1 -1
- package/build/{content-type-builder.55dac849.chunk.js → content-type-builder.a93f97ba.chunk.js} +9 -9
- package/build/index.html +1 -1
- package/build/{main.5b92c1d6.js → main.ed856941.js} +226 -226
- package/build/{runtime~main.a3892432.js → runtime~main.05f8f4a1.js} +1 -1
- package/build/{upload-settings.0200561d.chunk.js → upload-settings.0875e973.chunk.js} +1 -1
- package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +1 -0
- package/build/zh-Hans-json.4cfef87d.chunk.js +1 -0
- package/package.json +11 -11
- package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +0 -1
- package/build/zh-Hans-json.4c9706a6.chunk.js +0 -1
package/build/{Admin-authenticatedApp.1f2fd68f.chunk.js → Admin-authenticatedApp.26f0eff6.chunk.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(K,M,n){n.r(M),n.d(M,{default:function(){return It}});var e=n(32735),r=n(13478),S=n(84968),E=n(33795),z=n.n(E),y={i8:"4.8.
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(K,M,n){n.r(M),n.d(M,{default:function(){return It}});var e=n(32735),r=n(13478),S=n(84968),E=n(33795),z=n.n(E),y={i8:"4.8.2"},k=n(8888),d=n(5141),x=n(4409),R=n(74506),b=n(51968),$=n(88311),U=n.n($),Ce=n(58107),v=n(83292),Me=n(60216),i=n.n(Me),F=n(5636),o=n(39161),C=n(57269);const Re=(0,v.default)(o.Flex)`
|
|
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 tt=()=>{const t=(0,e.useRef)(),[a,s]=(0,e.useState)(!1),{formatMessage:l}=(0,F.useIntl)(),{communityEdition:g}=(0,r.useAppInfos)(),p=()=>{s(m=>!m)},f=[...Je,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:C.Message,href:g?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(o.Box,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(Xe,{"aria-label":l(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:p,ref:t},e.createElement(o.Icon,{as:a?C.Cross:C.Question,color:"buttonNeutral0"})),a&&e.createElement(o.Portal,null,e.createElement(o.PopoverPrimitives.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(o.FocusTrap,{onEscape:p},e.createElement(o.Flex,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ue,{fontWeight:"bold"},l({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(pe,{as:"a",href:de.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},l(de.label))),e.createElement(o.Divider,null),Ye.map(({href:m,duration:h,label:u},T)=>e.createElement(_e,{as:"a",href:m,target:"_blank",rel:"noreferrer noopener",key:m,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(o.Box,{paddingRight:5},e.createElement(o.Typography,{textColor:"neutral200",variant:"alpha"},T+1)),e.createElement(o.Box,{position:"relative"},e.createElement(et,{src:Qe,alt:""}),e.createElement(qe,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(o.Icon,{as:C.Play,color:"buttonNeutral0",width:3,height:3}))),e.createElement(o.Flex,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(o.Typography,{fontWeight:"bold"},l(u)),e.createElement(o.VisuallyHidden,null,":"),e.createElement(o.Typography,{textColor:"neutral600",variant:"pi"},h)))),e.createElement(o.Flex,{direction:"column",alignItems:"stretch",gap:2,paddingLeft:5,paddingTop:2,paddingBottom:5},f.map(({label:m,href:h,icon:u})=>e.createElement(o.Flex,{gap:3,key:h},e.createElement(o.Icon,{as:u,color:"primary600"}),e.createElement(pe,{as:"a",href:h,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},l(m)))))))))};const nt=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(8580),n.e(994)]).then(n.bind(n,58153))),at=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,12016))),ot=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),st=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5516)]).then(n.bind(n,92698))),me=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),rt=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),it=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),ge=(0,e.lazy)(()=>n.e(5895).then(n.bind(n,61056))),lt=()=>{const{trackUsage:t}=(0,r.useTracking)(),a=(0,x.useDispatch)(),s=(0,x.useSelector)(l=>l.admin_app.status);(0,e.useEffect)(()=>{s==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:Ze.e}))},[s])};var ct=()=>{lt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:s}=(0,k.H9)(),{menu:l}=(0,r.useStrapiApp)(),{showTutorials:g}=(0,k.um)(),p=(0,e.useMemo)(()=>l.filter(f=>f.Component).map(({to:f,Component:m,exact:h})=>(0,Y.ot)(m,f,h)),[l]);return t?e.createElement(r.LoadingIndicatorPage,null):e.createElement(R.DndProvider,{backend:b.PD},e.createElement(we,{sideNav:e.createElement(ze,{generalSectionLinks:a,pluginsSectionLinks:s})},e.createElement(e.Suspense,{fallback:e.createElement(r.LoadingIndicatorPage,null)},e.createElement(d.Switch,null,e.createElement(d.Route,{path:"/",component:at,exact:!0}),e.createElement(d.Route,{path:"/me",component:it,exact:!0}),e.createElement(d.Route,{path:"/content-manager",component:nt}),p,e.createElement(d.Route,{path:"/settings/:settingId",component:ge}),e.createElement(d.Route,{path:"/settings",component:ge,exact:!0}),e.createElement(d.Route,{path:"/marketplace"},e.createElement(st,null)),e.createElement(d.Route,{path:"/list-plugins",exact:!0},e.createElement(ot,null)),e.createElement(d.Route,{path:"/404",component:me}),e.createElement(d.Route,{path:"/500",component:rt}),e.createElement(d.Route,{path:"",component:me}))),e.createElement(Ge,null),g&&e.createElement(tt,null)))},dt=t=>({plugins:Object.keys(t).reduce((a,s)=>(a[s]={...t[s]},a),{})}),ut=n(3040),pt=n.n(ut);const he={plugins:null};var mt=(t=he,a)=>(0,ne.default)(t,s=>{switch(a.type){case"SET_PLUGIN_READY":{pt()(s,["plugins",a.pluginId,"isReady"],!0);break}default:return s}}),gt=()=>{const{plugins:t}=(0,r.useStrapiApp)(),[{plugins:a},s]=(0,e.useReducer)(mt,he,()=>dt(t)),l=(0,e.useRef)(p=>{s({type:"SET_PLUGIN_READY",pluginId:p})});if(Object.keys(a).some(p=>a[p].isReady===!1)){const p=Object.keys(a).reduce((f,m)=>{const h=a[m].initializer;if(h){const u=a[m].pluginId;f.push(e.createElement(h,{key:u,setPlugin:l.current}))}return f},[]);return e.createElement(e.Fragment,null,p,e.createElement(r.LoadingIndicatorPage,null))}return e.createElement(ct,null)},fe=n(17367);const ht=()=>({type:fe.l}),ft=t=>({type:fe.m,permissions:t}),Ee=({children:t,permissions:a,refetchPermissions:s})=>{const{allPermissions:l}=(0,x.useSelector)(p=>p.rbacProvider),g=(0,x.useDispatch)();return(0,e.useEffect)(()=>(g(ft(a)),()=>{g(ht())}),[a,g]),l?e.createElement(r.RBACProviderContext.Provider,{value:{allPermissions:l,refetchPermissions:s}},t):e.createElement(r.LoadingIndicatorPage,null)};Ee.propTypes={children:i().element.isRequired,permissions:i().array.isRequired,refetchPermissions:i().func.isRequired};var Et=Ee,yt=n(55721),Tt=n(54770),J=n.n(Tt),ye=(t,a)=>!J().valid(t)||!J().valid(a)?!1:J().lt(t,a);const Te=y.i8,vt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:X}=(0,r.getFetchClient)(),Ct=async t=>{try{const{data:{tag_name:a}}=await yt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return ye(Te,a)&&vt&&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 Te}},Mt=async()=>{try{const{data:t,headers:a}=await X("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},Rt=async()=>{try{const{data:t,headers:a}=await X("/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)}},xt=async()=>{try{const{data:{data:{roles:t}}}=await X("/admin/users/me");return t}catch(t){throw new Error(t)}},ve=y.i8;var It=()=>{const{setGuidedTourVisibility:t}=(0,r.useGuidedTour)(),a=(0,r.useNotification)(),s=(0,e.useRef)(t),l=r.auth.getUserInfo(),g=z()(l,"username")||(0,Y.Pp)(l.firstname,l.lastname),[p,f]=(0,e.useState)(g),[m,h]=(0,e.useState)(null),{showReleaseNotification:u}=(0,k.um)(),[{data:T,status:O},{data:A,isLoading:W},{data:N,status:I,refetch:j,isFetched:D,isFetching:L},{data:P}]=(0,S.useQueries)([{queryKey:"app-infos",queryFn:Mt},{queryKey:"strapi-release",queryFn:()=>Ct(a),enabled:u,initialData:ve},{queryKey:"admin-users-permission",queryFn:Rt,initialData:[]},{queryKey:"user-roles",queryFn:xt}]),c=(0,e.useMemo)(()=>ye(ve,A),[A]);(0,e.useEffect)(()=>{P&&P.find(({code:ee})=>ee==="strapi-super-admin")&&T?.autoReload&&s.current(!0)},[P,T]),(0,e.useEffect)(()=>{(async()=>{const ee=await(0,Y.Qy)(l);h(ee)})()},[l]);const V=W||(L&&D||O==="loading"||I==="loading"),q=(0,e.useMemo)(()=>({...T,userId:m,latestStrapiReleaseTag:A,setUserDisplayName:f,shouldUpdateStrapi:c,userDisplayName:p}),[T,A,c,p,m]);return V?e.createElement(r.LoadingIndicatorPage,null):O==="error"?e.createElement("div",null,"error..."):e.createElement(r.AppInfosContext.Provider,{value:q},e.createElement(Et,{permissions:N,refetchPermissions:j},e.createElement(gt,null)))}},78024:function(K,M,n){var e=n(32735),r=n(60216),S=n.n(r),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(23678);const x=({type:R,...b})=>e.createElement(y.Box,{width:(0,E.pxToRem)(2),height:"100%",background:R===d.VM?"neutral300":"primary500",hasRadius:!0,...b});x.defaultProps={type:d.VM},x.propTypes={type:S().oneOf([d.lW,d.hx,d.VM])},M.Z=x},14317:function(K,M,n){var e=n(32735),r=n(60216),S=n.n(r),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(57269),x=n.n(d),R=n(23678);const b=({type:$,number:U})=>$===R.hx?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Icon,{as:d.Check,"aria-hidden":!0,width:(0,E.pxToRem)(16),color:"neutral0"})):$===R.lW?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral0"},U)):e.createElement(y.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral600"},U));b.defaultProps={number:void 0,type:R.VM},b.propTypes={number:S().number,type:S().oneOf([R.lW,R.hx,R.VM])},M.Z=b},23678:function(K,M,n){n.d(M,{VM:function(){return S},hx:function(){return r},lW:function(){return e}});const e="isActive",r="isDone",S="isNotDone"},58107:function(K,M){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"}}};M.Z=n}}]);
|
|
79
|
+
`;var tt=()=>{const t=(0,e.useRef)(),[a,s]=(0,e.useState)(!1),{formatMessage:l}=(0,F.useIntl)(),{communityEdition:g}=(0,r.useAppInfos)(),p=()=>{s(m=>!m)},f=[...Je,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:C.Message,href:g?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(o.Box,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(Xe,{"aria-label":l(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:p,ref:t},e.createElement(o.Icon,{as:a?C.Cross:C.Question,color:"buttonNeutral0"})),a&&e.createElement(o.Portal,null,e.createElement(o.PopoverPrimitives.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(o.FocusTrap,{onEscape:p},e.createElement(o.Flex,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ue,{fontWeight:"bold"},l({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(pe,{as:"a",href:de.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},l(de.label))),e.createElement(o.Divider,null),Ye.map(({href:m,duration:h,label:u},T)=>e.createElement(_e,{as:"a",href:m,target:"_blank",rel:"noreferrer noopener",key:m,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(o.Box,{paddingRight:5},e.createElement(o.Typography,{textColor:"neutral200",variant:"alpha"},T+1)),e.createElement(o.Box,{position:"relative"},e.createElement(et,{src:Qe,alt:""}),e.createElement(qe,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(o.Icon,{as:C.Play,color:"buttonNeutral0",width:3,height:3}))),e.createElement(o.Flex,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(o.Typography,{fontWeight:"bold"},l(u)),e.createElement(o.VisuallyHidden,null,":"),e.createElement(o.Typography,{textColor:"neutral600",variant:"pi"},h)))),e.createElement(o.Flex,{direction:"column",alignItems:"stretch",gap:2,paddingLeft:5,paddingTop:2,paddingBottom:5},f.map(({label:m,href:h,icon:u})=>e.createElement(o.Flex,{gap:3,key:h},e.createElement(o.Icon,{as:u,color:"primary600"}),e.createElement(pe,{as:"a",href:h,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},l(m)))))))))};const nt=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(8580),n.e(994)]).then(n.bind(n,58153))),at=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,12016))),ot=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),st=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5516)]).then(n.bind(n,92698))),me=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),rt=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),it=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),ge=(0,e.lazy)(()=>n.e(5895).then(n.bind(n,61056))),lt=()=>{const{trackUsage:t}=(0,r.useTracking)(),a=(0,x.useDispatch)(),s=(0,x.useSelector)(l=>l.admin_app.status);(0,e.useEffect)(()=>{s==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:Ze.e}))},[s])};var ct=()=>{lt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:s}=(0,k.H9)(),{menu:l}=(0,r.useStrapiApp)(),{showTutorials:g}=(0,k.um)(),p=(0,e.useMemo)(()=>l.filter(f=>f.Component).map(({to:f,Component:m,exact:h})=>(0,Y.ot)(m,f,h)),[l]);return t?e.createElement(r.LoadingIndicatorPage,null):e.createElement(R.DndProvider,{backend:b.PD},e.createElement(we,{sideNav:e.createElement(ze,{generalSectionLinks:a,pluginsSectionLinks:s})},e.createElement(e.Suspense,{fallback:e.createElement(r.LoadingIndicatorPage,null)},e.createElement(d.Switch,null,e.createElement(d.Route,{path:"/",component:at,exact:!0}),e.createElement(d.Route,{path:"/me",component:it,exact:!0}),e.createElement(d.Route,{path:"/content-manager",component:nt}),p,e.createElement(d.Route,{path:"/settings/:settingId",component:ge}),e.createElement(d.Route,{path:"/settings",component:ge,exact:!0}),e.createElement(d.Route,{path:"/marketplace"},e.createElement(st,null)),e.createElement(d.Route,{path:"/list-plugins",exact:!0},e.createElement(ot,null)),e.createElement(d.Route,{path:"/404",component:me}),e.createElement(d.Route,{path:"/500",component:rt}),e.createElement(d.Route,{path:"",component:me}))),e.createElement(Ge,null),g&&e.createElement(tt,null)))},dt=t=>({plugins:Object.keys(t).reduce((a,s)=>(a[s]={...t[s]},a),{})}),ut=n(3040),pt=n.n(ut);const he={plugins:null};var mt=(t=he,a)=>(0,ne.default)(t,s=>{switch(a.type){case"SET_PLUGIN_READY":{pt()(s,["plugins",a.pluginId,"isReady"],!0);break}default:return s}}),gt=()=>{const{plugins:t}=(0,r.useStrapiApp)(),[{plugins:a},s]=(0,e.useReducer)(mt,he,()=>dt(t)),l=(0,e.useRef)(p=>{s({type:"SET_PLUGIN_READY",pluginId:p})});if(Object.keys(a).some(p=>a[p].isReady===!1)){const p=Object.keys(a).reduce((f,m)=>{const h=a[m].initializer;if(h){const u=a[m].pluginId;f.push(e.createElement(h,{key:u,setPlugin:l.current}))}return f},[]);return e.createElement(e.Fragment,null,p,e.createElement(r.LoadingIndicatorPage,null))}return e.createElement(ct,null)},fe=n(17367);const ht=()=>({type:fe.l}),ft=t=>({type:fe.m,permissions:t}),Ee=({children:t,permissions:a,refetchPermissions:s})=>{const{allPermissions:l}=(0,x.useSelector)(p=>p.rbacProvider),g=(0,x.useDispatch)();return(0,e.useEffect)(()=>(g(ft(a)),()=>{g(ht())}),[a,g]),l?e.createElement(r.RBACProviderContext.Provider,{value:{allPermissions:l,refetchPermissions:s}},t):e.createElement(r.LoadingIndicatorPage,null)};Ee.propTypes={children:i().element.isRequired,permissions:i().array.isRequired,refetchPermissions:i().func.isRequired};var Et=Ee,yt=n(84306),Tt=n(54770),J=n.n(Tt),ye=(t,a)=>!J().valid(t)||!J().valid(a)?!1:J().lt(t,a);const Te=y.i8,vt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:X}=(0,r.getFetchClient)(),Ct=async t=>{try{const{data:{tag_name:a}}=await yt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return ye(Te,a)&&vt&&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 Te}},Mt=async()=>{try{const{data:t,headers:a}=await X("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},Rt=async()=>{try{const{data:t,headers:a}=await X("/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)}},xt=async()=>{try{const{data:{data:{roles:t}}}=await X("/admin/users/me");return t}catch(t){throw new Error(t)}},ve=y.i8;var It=()=>{const{setGuidedTourVisibility:t}=(0,r.useGuidedTour)(),a=(0,r.useNotification)(),s=(0,e.useRef)(t),l=r.auth.getUserInfo(),g=z()(l,"username")||(0,Y.Pp)(l.firstname,l.lastname),[p,f]=(0,e.useState)(g),[m,h]=(0,e.useState)(null),{showReleaseNotification:u}=(0,k.um)(),[{data:T,status:O},{data:A,isLoading:W},{data:N,status:I,refetch:j,isFetched:D,isFetching:L},{data:P}]=(0,S.useQueries)([{queryKey:"app-infos",queryFn:Mt},{queryKey:"strapi-release",queryFn:()=>Ct(a),enabled:u,initialData:ve},{queryKey:"admin-users-permission",queryFn:Rt,initialData:[]},{queryKey:"user-roles",queryFn:xt}]),c=(0,e.useMemo)(()=>ye(ve,A),[A]);(0,e.useEffect)(()=>{P&&P.find(({code:ee})=>ee==="strapi-super-admin")&&T?.autoReload&&s.current(!0)},[P,T]),(0,e.useEffect)(()=>{(async()=>{const ee=await(0,Y.Qy)(l);h(ee)})()},[l]);const V=W||(L&&D||O==="loading"||I==="loading"),q=(0,e.useMemo)(()=>({...T,userId:m,latestStrapiReleaseTag:A,setUserDisplayName:f,shouldUpdateStrapi:c,userDisplayName:p}),[T,A,c,p,m]);return V?e.createElement(r.LoadingIndicatorPage,null):O==="error"?e.createElement("div",null,"error..."):e.createElement(r.AppInfosContext.Provider,{value:q},e.createElement(Et,{permissions:N,refetchPermissions:j},e.createElement(gt,null)))}},78024:function(K,M,n){var e=n(32735),r=n(60216),S=n.n(r),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(23678);const x=({type:R,...b})=>e.createElement(y.Box,{width:(0,E.pxToRem)(2),height:"100%",background:R===d.VM?"neutral300":"primary500",hasRadius:!0,...b});x.defaultProps={type:d.VM},x.propTypes={type:S().oneOf([d.lW,d.hx,d.VM])},M.Z=x},14317:function(K,M,n){var e=n(32735),r=n(60216),S=n.n(r),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(57269),x=n.n(d),R=n(23678);const b=({type:$,number:U})=>$===R.hx?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Icon,{as:d.Check,"aria-hidden":!0,width:(0,E.pxToRem)(16),color:"neutral0"})):$===R.lW?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral0"},U)):e.createElement(y.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral600"},U));b.defaultProps={number:void 0,type:R.VM},b.propTypes={number:S().number,type:S().oneOf([R.lW,R.hx,R.VM])},M.Z=b},23678:function(K,M,n){n.d(M,{VM:function(){return S},hx:function(){return r},lW:function(){return e}});const e="isActive",r="isDone",S="isNotDone"},58107:function(K,M){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"}}};M.Z=n}}]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5516],{92698:function(Qe,O,p){p.r(O),p.d(O,{MarketPlacePage:function(){return _},default:function(){return Ae}});var e=p(32735),E=p(5636),oe=p(99357),C=p(58469),u=p(13478),t=p(39161),ce=p(60216),a=p.n(ce),f=p(57269),T=p(83292);const de=(0,T.default)(t.Box)`
|
|
2
2
|
background: ${({theme:n})=>`linear-gradient(180deg, rgba(234, 234, 239, 0) 0%, ${n.colors.neutral150} 100%)`};
|
|
3
3
|
opacity: 0.33;
|
|
4
|
-
`,ue=()=>e.createElement(t.GridLayout,null,Array(12).fill(null).map((n,s)=>e.createElement(de,{key:`empty-plugin-card-${s}`,height:"234px",hasRadius:!0}))),$=({content:n})=>e.createElement(t.Box,{position:"relative"},e.createElement(ue,null),e.createElement(t.Box,{position:"absolute",top:11,width:"100%"},e.createElement(t.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},e.createElement(t.Icon,{as:f.EmptyStateDocument,color:"",width:"160px",height:"88px"}),e.createElement(t.Box,{paddingTop:6},e.createElement(t.Typography,{variant:"delta",as:"p",textColor:"neutral600"},n)))));$.propTypes={content:a().string.isRequired};var V=$,j=p(95489);const x=({isOnline:n,npmPackageType:s})=>{const{formatMessage:r}=(0,E.useIntl)(),{trackUsage:i}=(0,u.useTracking)(),o=s==="provider"?"didSubmitProvider":"didSubmitPlugin";return e.createElement(t.HeaderLayout,{title:r({id:"global.marketplace",defaultMessage:"Marketplace"}),subtitle:r({id:"admin.pages.MarketPlacePage.subtitle",defaultMessage:"Get more out of Strapi"}),primaryAction:n&&e.createElement(j.Q,{startIcon:e.createElement(f.Upload,null),variant:"tertiary",href:`https://market.strapi.io/submit-${s}`,onClick:()=>i(o),isExternal:!0},r({id:`admin.pages.MarketPlacePage.submit.${s}.link`,defaultMessage:`Submit ${s}`}))})};var z=x;x.defaultProps={npmPackageType:"plugin"},x.propTypes={isOnline:a().bool.isRequired,npmPackageType:a().string};var G=p(84968),H=p(
|
|
4
|
+
`,ue=()=>e.createElement(t.GridLayout,null,Array(12).fill(null).map((n,s)=>e.createElement(de,{key:`empty-plugin-card-${s}`,height:"234px",hasRadius:!0}))),$=({content:n})=>e.createElement(t.Box,{position:"relative"},e.createElement(ue,null),e.createElement(t.Box,{position:"absolute",top:11,width:"100%"},e.createElement(t.Flex,{alignItems:"center",justifyContent:"center",direction:"column"},e.createElement(t.Icon,{as:f.EmptyStateDocument,color:"",width:"160px",height:"88px"}),e.createElement(t.Box,{paddingTop:6},e.createElement(t.Typography,{variant:"delta",as:"p",textColor:"neutral600"},n)))));$.propTypes={content:a().string.isRequired};var V=$,j=p(95489);const x=({isOnline:n,npmPackageType:s})=>{const{formatMessage:r}=(0,E.useIntl)(),{trackUsage:i}=(0,u.useTracking)(),o=s==="provider"?"didSubmitProvider":"didSubmitPlugin";return e.createElement(t.HeaderLayout,{title:r({id:"global.marketplace",defaultMessage:"Marketplace"}),subtitle:r({id:"admin.pages.MarketPlacePage.subtitle",defaultMessage:"Get more out of Strapi"}),primaryAction:n&&e.createElement(j.Q,{startIcon:e.createElement(f.Upload,null),variant:"tertiary",href:`https://market.strapi.io/submit-${s}`,onClick:()=>i(o),isExternal:!0},r({id:`admin.pages.MarketPlacePage.submit.${s}.link`,defaultMessage:`Submit ${s}`}))})};var z=x;x.defaultProps={npmPackageType:"plugin"},x.propTypes={isOnline:a().bool.isRequired,npmPackageType:a().string};var G=p(84968),H=p(84306);const pe="https://market-api.strapi.io",ge=async(n={})=>{const{data:s}=await H.Z.get(`${pe}/providers`,{params:n});return s};var me=(n,s)=>{const r=(0,u.useNotification)();return(0,G.useQuery)(["list-marketplace-providers",s],()=>ge(s),{onSuccess(){n&&n()},onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};const fe="https://market-api.strapi.io",he=async(n={})=>{const{data:s}=await H.Z.get(`${fe}/plugins`,{params:n});return{...s,data:s.data.filter(i=>i.attributes.strapiCompatibility==="v4")}};var Pe=(n,s)=>{const r=(0,u.useNotification)();return(0,G.useQuery)(["list-marketplace-plugins",s],()=>he(s),{onSuccess(){n&&n()},onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})},Ee=p(72041),ke=p.p+"9d5d788027e86620c234.svg",ye=()=>{const n=typeof navigator<"u"&&typeof navigator.onLine=="boolean"?navigator.onLine:!0,[s,r]=(0,e.useState)(n),i=()=>r(!0),o=()=>r(!1);return(0,e.useEffect)(()=>(window.addEventListener("online",i),window.addEventListener("offline",o),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",o)}),[]),s},ve=()=>{const{formatMessage:n}=(0,E.useIntl)(),{trackUsage:s}=(0,u.useTracking)();return e.createElement("a",{href:"https://strapi.canny.io/plugin-requests",target:"_blank",rel:"noopener noreferrer nofollow",style:{textDecoration:"none"},onClick:()=>s("didMissMarketplacePlugin")},e.createElement(u.ContentBox,{title:n({id:"admin.pages.MarketPlacePage.missingPlugin.title",defaultMessage:"Documentation"}),subtitle:n({id:"admin.pages.MarketPlacePage.missingPlugin.description",defaultMessage:"Tell us what plugin you are looking for and we'll let our community plugin developers know in case they are in search for inspiration!"}),icon:e.createElement(f.GlassesSquare,null),iconBackground:"alternative100",endAction:e.createElement(t.Icon,{as:f.ExternalLink,color:"neutral600",width:3,height:3,marginLeft:2})}))},Me=p(24443),be=p.n(Me),Re=p(47750),Te=p(54770),U=p.n(Te);const S=({description:n,installMessage:s,disabled:r,handleCopy:i,pluginName:o})=>e.createElement(t.Tooltip,{"data-testid":`tooltip-${o}`,description:n},e.createElement(t.Box,null,e.createElement(t.Button,{size:"S",startIcon:e.createElement(f.Duplicate,null),variant:"secondary",disabled:r,onClick:i},s))),I=({strapiPeerDepVersion:n,strapiAppVersion:s,handleCopy:r,pluginName:i})=>{const{formatMessage:o}=(0,E.useIntl)(),d=U().validRange(n),c=U().satisfies(s,d),l=o({id:"admin.pages.MarketPlacePage.plugin.copy",defaultMessage:"Copy install command"});if(s){if(!d)return e.createElement(S,{installMessage:l,pluginName:i,description:o({id:"admin.pages.MarketPlacePage.plugin.version.null",defaultMessage:'Unable to verify compatibility with your Strapi version: "{strapiAppVersion}"'},{strapiAppVersion:s}),handleCopy:r});if(!c)return e.createElement(S,{installMessage:l,pluginName:i,description:o({id:"admin.pages.MarketPlacePage.plugin.version",defaultMessage:'Update your Strapi version: "{strapiAppVersion}" to: "{versionRange}"'},{strapiAppVersion:s,versionRange:d}),disabled:!0})}return e.createElement(t.Button,{size:"S",startIcon:e.createElement(f.Duplicate,null),variant:"secondary",onClick:r},l)};S.defaultProps={disabled:!1,handleCopy:null},S.propTypes={description:a().string.isRequired,installMessage:a().string.isRequired,disabled:a().bool,handleCopy:a().func,pluginName:a().string.isRequired},I.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},I.propTypes={strapiAppVersion:a().string,strapiPeerDepVersion:a().string,handleCopy:a().func.isRequired,pluginName:a().string.isRequired};var Se=I;const B=({isInstalled:n,isInDevelopmentMode:s,commandToCopy:r,strapiAppVersion:i,strapiPeerDepVersion:o,pluginName:d})=>{const c=(0,u.useNotification)(),{formatMessage:l}=(0,E.useIntl)(),{trackUsage:g}=(0,u.useTracking)(),m=()=>{navigator.clipboard.writeText(r),g("willInstallPlugin"),c({type:"success",message:{id:"admin.pages.MarketPlacePage.plugin.copy.success"}})};return n?e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Icon,{as:f.Check,marginRight:2,width:12,height:12,color:"success600"}),e.createElement(t.Typography,{variant:"omega",textColor:"success600",fontWeight:"bold"},l({id:"admin.pages.MarketPlacePage.plugin.installed",defaultMessage:"Installed"}))):s?e.createElement(Se,{strapiAppVersion:i,strapiPeerDepVersion:o,handleCopy:m,pluginName:d}):null};B.defaultProps={strapiAppVersion:null,strapiPeerDepVersion:null},B.propTypes={isInstalled:a().bool.isRequired,isInDevelopmentMode:a().bool.isRequired,commandToCopy:a().string.isRequired,strapiAppVersion:a().string,strapiPeerDepVersion:a().string,pluginName:a().string.isRequired};var Ce=B;const xe=(0,T.default)(t.Divider)`
|
|
5
5
|
width: ${(0,u.pxToRem)(12)};
|
|
6
6
|
transform: rotate(90deg);
|
|
7
7
|
`,w=({githubStars:n,npmDownloads:s,npmPackageType:r})=>{const{formatMessage:i}=(0,E.useIntl)();return e.createElement(t.Flex,{gap:1},!!n&&e.createElement(e.Fragment,null,e.createElement(t.Icon,{as:f.Github,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),"aria-hidden":!0}),e.createElement(t.Icon,{as:f.Star,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),color:"warning500","aria-hidden":!0}),e.createElement("p",{"aria-label":i({id:`admin.pages.MarketPlacePage.${r}.githubStars`,defaultMessage:"This {package} was starred {starsCount} on GitHub"},{starsCount:n,package:r})},e.createElement(t.Typography,{variant:"pi",textColor:"neutral800",lineHeight:16},n)),e.createElement(xe,{unsetMargin:!1,background:"neutral200"})),e.createElement(t.Icon,{as:f.Download,height:(0,u.pxToRem)(12),width:(0,u.pxToRem)(12),"aria-hidden":!0}),e.createElement("p",{"aria-label":i({id:`admin.pages.MarketPlacePage.${r}.downloads`,defaultMessage:"This {package} has {downloadsCount} weekly downloads"},{downloadsCount:s,package:r})},e.createElement(t.Typography,{variant:"pi",textColor:"neutral800",lineHeight:16},s)))};w.defaultProps={githubStars:0,npmDownloads:0},w.propTypes={githubStars:a().number,npmDownloads:a().number,npmPackageType:a().string.isRequired};var Ie=w;const Be=(0,T.default)(t.Typography)`
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
left: 0;
|
|
7
7
|
right: 0;
|
|
8
8
|
z-index: 1;
|
|
9
|
-
`,K=({setLocalImage:a,goTo:o,next:s,onClose:l})=>{const{formatMessage:d}=(0,E.useIntl)(),[u,h]=(0,e.useState)(!1),[m,c]=(0,e.useState)(void 0),r=(0,e.useRef)(null),y=()=>h(!0),p=()=>h(!1),L=A=>{A.preventDefault(),r.current.click()},M=async()=>{p();const A=r.current.files[0];if(A)try{const C=await q(A);a(C),o(s)}catch(C){if(C.displayMessage)c(d(C.displayMessage,{size:O,dimension:v})),r.current.focus();else throw C}},T=()=>u?"primary500":m?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.Field,{name:"logo-upload",error:m},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(n.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:u?"primary100":"neutral100",borderColor:T(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:y,onDragLeave:p},e.createElement(n.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:F.PicturePlus,"aria-hidden":!0}),e.createElement(n.Box,{paddingTop:3,paddingBottom:5},e.createElement(n.Typography,{variant:"delta",as:"span"},d({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(ce,{accept:B,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:M,ref:r,id:"logo-upload"}),e.createElement(n.Button,{type:"button",onClick:L},d({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(n.Box,{paddingTop:6},e.createElement(n.Typography,{variant:"pi",textColor:"neutral600"},d({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:O,dimension:v})))),e.createElement(n.FieldError,null)))))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:l,variant:"tertiary"},d({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};K.defaultProps={next:null},K.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var ue=K,me=t(55721),ge=async a=>{try{const o=await me.Z.get(a,{responseType:"blob",timeout:8e3});return new File([o.data],o.config.url,{type:o.headers["content-type"]})}catch(o){throw o.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},o}};const Z=({goTo:a,next:o,onClose:s,setLocalImage:l})=>{const{formatMessage:d}=(0,E.useIntl)(),[u,h]=(0,e.useState)(""),[m,c]=(0,e.useState)(null),r=p=>{h(p.target.value)},y=async()=>{try{const p=await ge(u),L=await q(p);l(L),a(o)}catch(p){if(p.displayMessage)c(d(p.displayMessage,{size:O,dimension:v}));else throw p}};return e.createElement("form",{onSubmit:p=>{p.preventDefault(),y()}},e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.TextInput,{label:d({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:m,onChange:r,value:u,name:"logo-url"})),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:s,variant:"tertiary"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{type:"submit"},d({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};Z.defaultProps={next:null},Z.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var pe=Z;const $=({setLocalImage:a,goTo:o,next:s,onClose:l})=>{const{formatMessage:d}=(0,E.useIntl)();return e.createElement(n.TabGroup,{label:d({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(n.Box,{paddingLeft:8,paddingRight:8},e.createElement(n.Tabs,null,e.createElement(n.Tab,null,d({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(n.Tab,null,d({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(n.Divider,null)),e.createElement(n.TabPanels,null,e.createElement(n.TabPanel,null,e.createElement(ue,{onClose:l,setLocalImage:a,goTo:o,next:s})),e.createElement(n.TabPanel,null,e.createElement(pe,{onClose:l,setLocalImage:a,goTo:o,next:s}))))};$.defaultProps={next:null},$.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var fe=$;const _=({asset:a})=>{const{formatMessage:o}=(0,E.useIntl)();return e.createElement(n.Card,null,e.createElement(n.CardHeader,null,e.createElement(n.CardAsset,{size:"S",src:a.url})),e.createElement(n.CardBody,null,e.createElement(n.CardContent,null,e.createElement(n.CardTitle,null,a.name),e.createElement(n.CardSubtitle,null,`${a.ext.toUpperCase()} - ${a.width}\u2715${a.height}`)),e.createElement(n.CardBadge,null,o({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};_.propTypes={asset:i().shape({name:i().string,url:i().string,width:i().number,height:i().number,ext:i().string}).isRequired};var he=_;const V=({onClose:a,asset:o,prev:s,next:l,goTo:d,setLocalImage:u,onChangeLogo:h})=>{const{formatMessage:m}=(0,E.useIntl)(),c=()=>{u(void 0),d(s)},r=()=>{h(o),d(l)};return e.createElement(e.Fragment,null,e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(n.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(n.Typography,{variant:"pi",fontWeight:"bold"},m({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(n.Typography,{variant:"pi",textColor:"neutral500"},m({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(n.Button,{onClick:c,variant:"secondary"},m({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(n.Box,{maxWidth:(0,g.pxToRem)(180)},e.createElement(he,{asset:o}))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:a,variant:"tertiary"},m({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{onClick:r},m({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};V.defaultProps={next:null,prev:null},V.propTypes={goTo:i().func.isRequired,asset:i().shape({name:i().string,url:i().string,width:i().number,height:i().number,ext:i().string}).isRequired,next:i().string,onClose:i().func.isRequired,onChangeLogo:i().func.isRequired,prev:i().string,setLocalImage:i().func.isRequired};var Ee=V,ye={upload:{Component:fe,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Ee,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const Q=({canUpdate:a,customLogo:o,defaultLogo:s,hint:l,label:d,onChangeLogo:u,onResetLogo:h})=>{const[{currentStep:m},c]=(0,e.useReducer)(se,Y),{Component:r,next:y,prev:p,modalTitle:L}=ye[m]||{},{formatMessage:M}=(0,E.useIntl)(),T=A=>{c({type:"GO_TO",to:A})};return e.createElement(e.Fragment,null,e.createElement(n.CarouselInput,{label:d,selectedSlide:0,hint:l,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:o?.name||"logo.png",actions:e.createElement(n.CarouselActions,null,e.createElement(n.IconButton,{disabled:!a,onClick:()=>T(o?"pending":"upload"),label:M({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(F.Plus,null)}),o&&e.createElement(n.IconButton,{disabled:!a,onClick:h,label:M({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(F.Refresh,null)}))},e.createElement(n.CarouselSlide,{label:M({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(n.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:o?.url||s,alt:M({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(ae,{Component:r,currentStep:m,onChangeLogo:u,customLogo:o,goTo:T,next:y,prev:p,modalTitle:L}))};Q.defaultProps={canUpdate:!1,customLogo:null,hint:null},Q.propTypes={canUpdate:i().bool,customLogo:i().shape({url:i().string,name:i().string}),label:i().string.isRequired,hint:i().string,defaultLogo:i().string.isRequired,onChangeLogo:i().func.isRequired,onResetLogo:i().func.isRequired};var ee=Q;const w={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var Me=(a=w,o)=>(0,U.default)(a,s=>{switch(o.type){case"SET_CUSTOM_MENU_LOGO":{s.menuLogo.display=o.value,s.menuLogo.submit.rawFile=o.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{s.authLogo.display=o.value,s.authLogo.submit.rawFile=o.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}}),Se=t(86349),Le=t.n(Se),ve=(a,o)=>Le()(a,{menuLogo:{display:o.menuLogo},authLogo:{display:o.authLogo}});const J=(0,e.forwardRef)(({canUpdate:a,projectSettingsStored:o},s)=>{const{formatMessage:l}=(0,E.useIntl)(),{trackUsage:d}=(0,g.useTracking)(),{logos:{menu:u,auth:h}}=(0,z.um)(),[{menuLogo:m,authLogo:c},r]=(0,e.useReducer)(Me,w,()=>ve(w,o)),y=T=>{r({type:"SET_CUSTOM_MENU_LOGO",value:T})},p=()=>{d("didClickResetLogo",{logo:"menu"}),r({type:"RESET_CUSTOM_MENU_LOGO"})},L=T=>{r({type:"SET_CUSTOM_AUTH_LOGO",value:T})},M=()=>{d("didClickResetLogo",{logo:"auth"}),r({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(s,()=>({getValues:()=>({menuLogo:m.submit,authLogo:c.submit})})),e.createElement(n.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(n.Typography,{variant:"delta",as:"h3"},l({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(n.Typography,{variant:"pi",textColor:"neutral600"},l({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:v,size:O})),e.createElement(n.Grid,{paddingTop:4,gap:4},e.createElement(n.GridItem,{col:6,s:12},e.createElement(ee,{canUpdate:a,customLogo:m.display,defaultLogo:u.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:y,onResetLogo:p})),e.createElement(n.GridItem,{col:6,s:12},e.createElement(ee,{canUpdate:a,customLogo:c.display,defaultLogo:h.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:L,onResetLogo:M}))))});J.defaultProps={canUpdate:!1,projectSettingsStored:null},J.propTypes={canUpdate:i().bool,projectSettingsStored:i().shape({menuLogo:i().shape({url:i().string,name:i().string})})};var Ce=J,Te=t(48344),xe=t.n(Te),te=a=>xe()(a,(o,s,l)=>{s&&s.url?o[l]={...s,url:(0,g.prefixFileUrlWithBackendUrl)(s.url)}:o[l]=s},{});const Re=async()=>{const{get:a}=(0,g.getFetchClient)(),{data:o}=await a("/admin/project-settings");return te(o)},Ie=async a=>{const{post:o}=(0,g.getFetchClient)(),{data:s}=await o("/admin/project-settings",a,{headers:{"Content-Type":"multipart/form-data"}});return te(s)};var Fe=a=>{const o=new FormData;return Object.entries(a).forEach(([s,l])=>{l&&l.rawFile instanceof File&&o.append(s,l.rawFile),l&&l.isReset&&o.append(s,null)}),o};const Ae=(()=>window&&window.strapi&&window.strapi.isEE?t(78999).Z:t(17891).Z)();var Oe=()=>{const a=(0,e.useRef)(),o=(0,g.useNotification)(),{trackUsage:s}=(0,g.useTracking)(),{formatMessage:l}=(0,E.useIntl)(),d=(0,P.useQueryClient)();(0,g.useFocusWhenNavigate)();const u=(0,g.useAppInfos)(),{latestStrapiReleaseTag:h,shouldUpdateStrapi:m,strapiVersion:c}=u,{updateProjectSettings:r}=(0,z.um)(),{allowedActions:{canRead:y,canUpdate:p}}=(0,g.useRBAC)(G.Z.settings["project-settings"]),L=y&&p,{data:M}=(0,P.useQuery)("project-settings",Re,{enabled:y}),T=(0,P.useMutation)(C=>Ie(C),{async onSuccess(C){let{menuLogo:b,authLogo:X}=C;await d.invalidateQueries("project-settings",{refetchActive:!0}),r({menuLogo:b?.url,authLogo:X?.url})}}),A=C=>{if(C.preventDefault(),!p)return;const b=a.current.getValues(),X=Fe(b);T.mutate(X,{onSuccess(){const{menuLogo:$e,authLogo:Ve}=b;$e.rawFile&&s("didChangeLogo",{logo:"menu"}),Ve.rawFile&&s("didChangeLogo",{logo:"auth"}),o({type:"success",message:l({id:"app",defaultMessage:"Saved"})})},onError(){o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(n.Layout,null,e.createElement(g.SettingsPageTitle,{name:"Application"}),e.createElement(n.Main,null,e.createElement("form",{onSubmit:A},e.createElement(n.HeaderLayout,{title:l({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:l({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:L&&e.createElement(n.Button,{type:"submit",startIcon:e.createElement(F.Check,null)},l({id:"global.save",defaultMessage:"Save"}))}),e.createElement(n.ContentLayout,null,e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(n.Typography,{variant:"delta",as:"h3"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(n.Grid,{gap:5,as:"dl"},e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(n.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(n.Typography,null,"v",c),m&&e.createElement(n.Link,{href:`https://github.com/strapi/strapi/releases/tag/${h}`,isExternal:!0,endIcon:e.createElement(F.ExternalLink,null)},l({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(n.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(n.Typography,null,l({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:u.communityEdition})),e.createElement(n.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(F.ExternalLink,null)},l({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(n.Typography,{as:"dd"},u.nodeVersion)),e.createElement(Ae,null))),y&&M&&e.createElement(Ce,{canUpdate:p,ref:a,projectSettingsStored:M}))))))},ze=t(3704),Ue=t.n(ze),De=a=>Ue()(a,s=>s.links).map(s=>(0,x.ot)(s.Component,s.to,s.exact||!1)),Pe=a=>a.filter(o=>!o.links.every(s=>s.isDisplayed===!1)),Be=[{async Component(){return await Promise.all([t.e(8469),t.e(3455)]).then(t.bind(t,67249))},to:"/settings/roles",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,92034))},to:"/settings/roles/duplicate/:id",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,92034))},to:"/settings/roles/new",exact:!0},{async Component(){return await 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,54865))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,34669))},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,70791))},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(4049),t.e(4649),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(4049),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(4049),t.e(7259),t.e(2492)]).then(t.bind(t,32392))},to:"/settings/transfer-tokens/:id",exact:!0}],be=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...Be],Ge=t(61590),Ne=t(43110),We=t(77013),je=t(79318),He=t(66618);const ne=({menu:a})=>{const{formatMessage:o}=(0,E.useIntl)(),{trackUsage:s}=(0,g.useTracking)(),{pathname:l}=(0,f.useLocation)(),u=Pe(a).map(c=>({...c,title:c.intlLabel,links:c.links.map(r=>({...r,title:r.intlLabel,name:r.id}))})),h=o({id:"global.settings",defaultMessage:"Settings"}),m=(c=null)=>{s("willNavigate",{from:l,to:c})};return e.createElement(Ge.m,{ariaLabel:h},e.createElement(Ne.p,{label:h}),e.createElement(We.Z,null,u.map(c=>e.createElement(je.D,{key:c.id,label:o(c.intlLabel)},c.links.map(r=>e.createElement(He.E,{as:f.NavLink,withBullet:r.hasNotification,to:r.to,onClick:()=>m(r.to),key:r.id},o(r.intlLabel)))))))};ne.propTypes={menu:i().array.isRequired};var Ke=ne;function oe(){const{settingId:a}=(0,f.useParams)(),{settings:o}=(0,g.useStrapiApp)(),{formatMessage:s}=(0,E.useIntl)(),{isLoading:l,menu:d}=(0,z.Te)(),u=(0,e.useMemo)(()=>(0,x.WW)(be.map(({to:c,Component:r,exact:y})=>(0,x.ot)(r,c,y))),[]),h=De(o);if(l)return e.createElement(g.LoadingIndicatorPage,null);if(!a)return e.createElement(f.Redirect,{to:"/settings/application-infos"});const m=s({id:"global.settings",defaultMessage:"Settings"});return e.createElement(n.Layout,{sideNav:e.createElement(Ke,{menu:d})},e.createElement(I.Helmet,{title:m}),e.createElement(f.Switch,null,e.createElement(f.Route,{path:"/settings/application-infos",component:Oe,exact:!0}),u,h))}var Ze=(0,e.memo)(oe)},17891:function(R,S){"use strict";const t=()=>null;S.Z=t},75936:function(R,S){"use strict";const t=[];S.Z=t},78999:function(R,S,t){"use strict";var e=t(32735),g=t(5636),f=t(39161),n=t.n(f),E=t(41502),I=t(57269),z=t.n(I),x=t(13478),P=t.n(x),F=t(58414);const G="https://cloud.strapi.io/profile/billing",N="https://strapi.io/billing/request-seats",i=()=>{const{formatMessage:v}=(0,g.useIntl)(),{license:O}=(0,F.q5)(),{licenseLimitStatus:B,enforcementUserCount:U,permittedSeats:D,isHostedOnStrapiCloud:W}=O?.data??{};return D?e.createElement(f.GridItem,{col:6,s:12},e.createElement(f.Typography,{variant:"sigma",textColor:"neutral600"},v({id:"Settings.application.admin-seats",defaultMessage:"Admin seats"})),e.createElement(f.Flex,{gap:2},e.createElement(f.Flex,null,e.createElement(f.Typography,{as:"p"},v({id:"Settings.application.ee.admin-seats.count",defaultMessage:"<text>{enforcementUserCount}</text>/{permittedSeats}"},{permittedSeats:D,enforcementUserCount:U,text:j=>e.createElement(f.Typography,{fontWeight:"semiBold",textColor:U>D?"danger500":null},j)}))),B==="OVER_LIMIT"&&e.createElement(f.Tooltip,{description:v({id:"Settings.application.ee.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"})},e.createElement(f.Icon,{width:`${(0,x.pxToRem)(14)}rem`,height:`${(0,x.pxToRem)(14)}rem`,color:"danger500",as:I.ExclamationMarkCircle}))),e.createElement(E.r,{href:W?G:N,isExternal:!0,endIcon:e.createElement(I.ExternalLink,null)},v({id:"Settings.application.ee.admin-seats.add-seats",defaultMessage:"{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}"},{isHostedOnStrapiCloud:W}))):null};S.Z=i},63775:function(R,S,t){"use strict";const e=[];strapi.features.isEnabled(strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),S.Z=e},3704:function(R,S,t){var e=t(40314),g=t(37213);function f(n,E){return e(g(n,E),1)}R.exports=f},37213:function(R,S,t){var e=t(26460),g=t(88904),f=t(52920),n=t(77236);function E(I,z){var x=n(I)?e:f;return x(I,g(z,3))}R.exports=E}}]);
|
|
9
|
+
`,K=({setLocalImage:a,goTo:o,next:s,onClose:l})=>{const{formatMessage:d}=(0,E.useIntl)(),[u,h]=(0,e.useState)(!1),[m,c]=(0,e.useState)(void 0),r=(0,e.useRef)(null),y=()=>h(!0),p=()=>h(!1),L=A=>{A.preventDefault(),r.current.click()},M=async()=>{p();const A=r.current.files[0];if(A)try{const C=await q(A);a(C),o(s)}catch(C){if(C.displayMessage)c(d(C.displayMessage,{size:O,dimension:v})),r.current.focus();else throw C}},T=()=>u?"primary500":m?"danger600":"neutral300";return e.createElement(e.Fragment,null,e.createElement("form",null,e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.Field,{name:"logo-upload",error:m},e.createElement("label",{htmlFor:"logo-upload"},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(n.Flex,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:u?"primary100":"neutral100",borderColor:T(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:y,onDragLeave:p},e.createElement(n.Icon,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:F.PicturePlus,"aria-hidden":!0}),e.createElement(n.Box,{paddingTop:3,paddingBottom:5},e.createElement(n.Typography,{variant:"delta",as:"span"},d({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),e.createElement(ce,{accept:B,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:M,ref:r,id:"logo-upload"}),e.createElement(n.Button,{type:"button",onClick:L},d({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),e.createElement(n.Box,{paddingTop:6},e.createElement(n.Typography,{variant:"pi",textColor:"neutral600"},d({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:O,dimension:v})))),e.createElement(n.FieldError,null)))))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:l,variant:"tertiary"},d({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};K.defaultProps={next:null},K.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var ue=K,me=t(84306),ge=async a=>{try{const o=await me.Z.get(a,{responseType:"blob",timeout:8e3});return new File([o.data],o.config.url,{type:o.headers["content-type"]})}catch(o){throw o.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},o}};const Z=({goTo:a,next:o,onClose:s,setLocalImage:l})=>{const{formatMessage:d}=(0,E.useIntl)(),[u,h]=(0,e.useState)(""),[m,c]=(0,e.useState)(null),r=p=>{h(p.target.value)},y=async()=>{try{const p=await ge(u),L=await q(p);l(L),a(o)}catch(p){if(p.displayMessage)c(d(p.displayMessage,{size:O,dimension:v}));else throw p}};return e.createElement("form",{onSubmit:p=>{p.preventDefault(),y()}},e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.TextInput,{label:d({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:m,onChange:r,value:u,name:"logo-url"})),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:s,variant:"tertiary"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{type:"submit"},d({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};Z.defaultProps={next:null},Z.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var pe=Z;const $=({setLocalImage:a,goTo:o,next:s,onClose:l})=>{const{formatMessage:d}=(0,E.useIntl)();return e.createElement(n.TabGroup,{label:d({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},e.createElement(n.Box,{paddingLeft:8,paddingRight:8},e.createElement(n.Tabs,null,e.createElement(n.Tab,null,d({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),e.createElement(n.Tab,null,d({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),e.createElement(n.Divider,null)),e.createElement(n.TabPanels,null,e.createElement(n.TabPanel,null,e.createElement(ue,{onClose:l,setLocalImage:a,goTo:o,next:s})),e.createElement(n.TabPanel,null,e.createElement(pe,{onClose:l,setLocalImage:a,goTo:o,next:s}))))};$.defaultProps={next:null},$.propTypes={goTo:i().func.isRequired,next:i().string,onClose:i().func.isRequired,setLocalImage:i().func.isRequired};var fe=$;const _=({asset:a})=>{const{formatMessage:o}=(0,E.useIntl)();return e.createElement(n.Card,null,e.createElement(n.CardHeader,null,e.createElement(n.CardAsset,{size:"S",src:a.url})),e.createElement(n.CardBody,null,e.createElement(n.CardContent,null,e.createElement(n.CardTitle,null,a.name),e.createElement(n.CardSubtitle,null,`${a.ext.toUpperCase()} - ${a.width}\u2715${a.height}`)),e.createElement(n.CardBadge,null,o({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};_.propTypes={asset:i().shape({name:i().string,url:i().string,width:i().number,height:i().number,ext:i().string}).isRequired};var he=_;const V=({onClose:a,asset:o,prev:s,next:l,goTo:d,setLocalImage:u,onChangeLogo:h})=>{const{formatMessage:m}=(0,E.useIntl)(),c=()=>{u(void 0),d(s)},r=()=>{h(o),d(l)};return e.createElement(e.Fragment,null,e.createElement(n.Box,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},e.createElement(n.Flex,{justifyContent:"space-between",paddingBottom:6},e.createElement(n.Flex,{direction:"column",alignItems:"flex-start"},e.createElement(n.Typography,{variant:"pi",fontWeight:"bold"},m({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),e.createElement(n.Typography,{variant:"pi",textColor:"neutral500"},m({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),e.createElement(n.Button,{onClick:c,variant:"secondary"},m({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),e.createElement(n.Box,{maxWidth:(0,g.pxToRem)(180)},e.createElement(he,{asset:o}))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:a,variant:"tertiary"},m({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{onClick:r},m({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};V.defaultProps={next:null,prev:null},V.propTypes={goTo:i().func.isRequired,asset:i().shape({name:i().string,url:i().string,width:i().number,height:i().number,ext:i().string}).isRequired,next:i().string,onClose:i().func.isRequired,onChangeLogo:i().func.isRequired,prev:i().string,setLocalImage:i().func.isRequired};var Ee=V,ye={upload:{Component:fe,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:Ee,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const Q=({canUpdate:a,customLogo:o,defaultLogo:s,hint:l,label:d,onChangeLogo:u,onResetLogo:h})=>{const[{currentStep:m},c]=(0,e.useReducer)(se,Y),{Component:r,next:y,prev:p,modalTitle:L}=ye[m]||{},{formatMessage:M}=(0,E.useIntl)(),T=A=>{c({type:"GO_TO",to:A})};return e.createElement(e.Fragment,null,e.createElement(n.CarouselInput,{label:d,selectedSlide:0,hint:l,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:o?.name||"logo.png",actions:e.createElement(n.CarouselActions,null,e.createElement(n.IconButton,{disabled:!a,onClick:()=>T(o?"pending":"upload"),label:M({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:e.createElement(F.Plus,null)}),o&&e.createElement(n.IconButton,{disabled:!a,onClick:h,label:M({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:e.createElement(F.Refresh,null)}))},e.createElement(n.CarouselSlide,{label:M({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},e.createElement(n.Box,{maxHeight:"40%",maxWidth:"40%",as:"img",src:o?.url||s,alt:M({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),e.createElement(ae,{Component:r,currentStep:m,onChangeLogo:u,customLogo:o,goTo:T,next:y,prev:p,modalTitle:L}))};Q.defaultProps={canUpdate:!1,customLogo:null,hint:null},Q.propTypes={canUpdate:i().bool,customLogo:i().shape({url:i().string,name:i().string}),label:i().string.isRequired,hint:i().string,defaultLogo:i().string.isRequired,onChangeLogo:i().func.isRequired,onResetLogo:i().func.isRequired};var ee=Q;const w={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var Me=(a=w,o)=>(0,U.default)(a,s=>{switch(o.type){case"SET_CUSTOM_MENU_LOGO":{s.menuLogo.display=o.value,s.menuLogo.submit.rawFile=o.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{s.authLogo.display=o.value,s.authLogo.submit.rawFile=o.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}}),Se=t(86349),Le=t.n(Se),ve=(a,o)=>Le()(a,{menuLogo:{display:o.menuLogo},authLogo:{display:o.authLogo}});const J=(0,e.forwardRef)(({canUpdate:a,projectSettingsStored:o},s)=>{const{formatMessage:l}=(0,E.useIntl)(),{trackUsage:d}=(0,g.useTracking)(),{logos:{menu:u,auth:h}}=(0,z.um)(),[{menuLogo:m,authLogo:c},r]=(0,e.useReducer)(Me,w,()=>ve(w,o)),y=T=>{r({type:"SET_CUSTOM_MENU_LOGO",value:T})},p=()=>{d("didClickResetLogo",{logo:"menu"}),r({type:"RESET_CUSTOM_MENU_LOGO"})},L=T=>{r({type:"SET_CUSTOM_AUTH_LOGO",value:T})},M=()=>{d("didClickResetLogo",{logo:"auth"}),r({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,e.useImperativeHandle)(s,()=>({getValues:()=>({menuLogo:m.submit,authLogo:c.submit})})),e.createElement(n.Box,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(n.Typography,{variant:"delta",as:"h3"},l({id:"Settings.application.customization",defaultMessage:"Customization"})),e.createElement(n.Typography,{variant:"pi",textColor:"neutral600"},l({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:v,size:O})),e.createElement(n.Grid,{paddingTop:4,gap:4},e.createElement(n.GridItem,{col:6,s:12},e.createElement(ee,{canUpdate:a,customLogo:m.display,defaultLogo:u.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:y,onResetLogo:p})),e.createElement(n.GridItem,{col:6,s:12},e.createElement(ee,{canUpdate:a,customLogo:c.display,defaultLogo:h.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:L,onResetLogo:M}))))});J.defaultProps={canUpdate:!1,projectSettingsStored:null},J.propTypes={canUpdate:i().bool,projectSettingsStored:i().shape({menuLogo:i().shape({url:i().string,name:i().string})})};var Ce=J,Te=t(48344),xe=t.n(Te),te=a=>xe()(a,(o,s,l)=>{s&&s.url?o[l]={...s,url:(0,g.prefixFileUrlWithBackendUrl)(s.url)}:o[l]=s},{});const Re=async()=>{const{get:a}=(0,g.getFetchClient)(),{data:o}=await a("/admin/project-settings");return te(o)},Ie=async a=>{const{post:o}=(0,g.getFetchClient)(),{data:s}=await o("/admin/project-settings",a,{headers:{"Content-Type":"multipart/form-data"}});return te(s)};var Fe=a=>{const o=new FormData;return Object.entries(a).forEach(([s,l])=>{l&&l.rawFile instanceof File&&o.append(s,l.rawFile),l&&l.isReset&&o.append(s,null)}),o};const Ae=(()=>window&&window.strapi&&window.strapi.isEE?t(78999).Z:t(17891).Z)();var Oe=()=>{const a=(0,e.useRef)(),o=(0,g.useNotification)(),{trackUsage:s}=(0,g.useTracking)(),{formatMessage:l}=(0,E.useIntl)(),d=(0,P.useQueryClient)();(0,g.useFocusWhenNavigate)();const u=(0,g.useAppInfos)(),{latestStrapiReleaseTag:h,shouldUpdateStrapi:m,strapiVersion:c}=u,{updateProjectSettings:r}=(0,z.um)(),{allowedActions:{canRead:y,canUpdate:p}}=(0,g.useRBAC)(G.Z.settings["project-settings"]),L=y&&p,{data:M}=(0,P.useQuery)("project-settings",Re,{enabled:y}),T=(0,P.useMutation)(C=>Ie(C),{async onSuccess(C){let{menuLogo:b,authLogo:X}=C;await d.invalidateQueries("project-settings",{refetchActive:!0}),r({menuLogo:b?.url,authLogo:X?.url})}}),A=C=>{if(C.preventDefault(),!p)return;const b=a.current.getValues(),X=Fe(b);T.mutate(X,{onSuccess(){const{menuLogo:$e,authLogo:Ve}=b;$e.rawFile&&s("didChangeLogo",{logo:"menu"}),Ve.rawFile&&s("didChangeLogo",{logo:"auth"}),o({type:"success",message:l({id:"app",defaultMessage:"Saved"})})},onError(){o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}})};return e.createElement(n.Layout,null,e.createElement(g.SettingsPageTitle,{name:"Application"}),e.createElement(n.Main,null,e.createElement("form",{onSubmit:A},e.createElement(n.HeaderLayout,{title:l({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:l({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:L&&e.createElement(n.Button,{type:"submit",startIcon:e.createElement(F.Check,null)},l({id:"global.save",defaultMessage:"Save"}))}),e.createElement(n.ContentLayout,null,e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},e.createElement(n.Typography,{variant:"delta",as:"h3"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(n.Grid,{gap:5,as:"dl"},e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),e.createElement(n.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(n.Typography,null,"v",c),m&&e.createElement(n.Link,{href:`https://github.com/strapi/strapi/releases/tag/${h}`,isExternal:!0,endIcon:e.createElement(F.ExternalLink,null)},l({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.edition-title",defaultMessage:"current plan"})),e.createElement(n.Flex,{gap:3,direction:"column",alignItems:"start",as:"dd"},e.createElement(n.Typography,null,l({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:u.communityEdition})),e.createElement(n.Link,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:e.createElement(F.ExternalLink,null)},l({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),e.createElement(n.GridItem,{col:6,s:12},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600",as:"dt"},l({id:"Settings.application.node-version",defaultMessage:"node version"})),e.createElement(n.Typography,{as:"dd"},u.nodeVersion)),e.createElement(Ae,null))),y&&M&&e.createElement(Ce,{canUpdate:p,ref:a,projectSettingsStored:M}))))))},ze=t(3704),Ue=t.n(ze),De=a=>Ue()(a,s=>s.links).map(s=>(0,x.ot)(s.Component,s.to,s.exact||!1)),Pe=a=>a.filter(o=>!o.links.every(s=>s.isDisplayed===!1)),Be=[{async Component(){return await Promise.all([t.e(8469),t.e(3455)]).then(t.bind(t,67249))},to:"/settings/roles",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,92034))},to:"/settings/roles/duplicate/:id",exact:!0},{async Component(){return await t.e(2544).then(t.bind(t,92034))},to:"/settings/roles/new",exact:!0},{async Component(){return await 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,54865))},to:"/settings/users",exact:!0},{async Component(){return await t.e(4263).then(t.bind(t,34669))},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,70791))},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(4049),t.e(4649),t.e(4299)]).then(t.bind(t,3330))},to:"/settings/api-tokens/create",exact:!0},{async Component(){return await Promise.all([t.e(4049),t.e(4649),t.e(92)]).then(t.bind(t,97841))},to:"/settings/api-tokens/:id",exact:!0},{async Component(){return await Promise.all([t.e(4049),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(4049),t.e(7259),t.e(2492)]).then(t.bind(t,32392))},to:"/settings/transfer-tokens/:id",exact:!0}],be=[...(()=>window&&window.strapi&&window.strapi.isEE?t(63775).Z:t(75936).Z)(),...Be],Ge=t(61590),Ne=t(43110),We=t(77013),je=t(79318),He=t(66618);const ne=({menu:a})=>{const{formatMessage:o}=(0,E.useIntl)(),{trackUsage:s}=(0,g.useTracking)(),{pathname:l}=(0,f.useLocation)(),u=Pe(a).map(c=>({...c,title:c.intlLabel,links:c.links.map(r=>({...r,title:r.intlLabel,name:r.id}))})),h=o({id:"global.settings",defaultMessage:"Settings"}),m=(c=null)=>{s("willNavigate",{from:l,to:c})};return e.createElement(Ge.m,{ariaLabel:h},e.createElement(Ne.p,{label:h}),e.createElement(We.Z,null,u.map(c=>e.createElement(je.D,{key:c.id,label:o(c.intlLabel)},c.links.map(r=>e.createElement(He.E,{as:f.NavLink,withBullet:r.hasNotification,to:r.to,onClick:()=>m(r.to),key:r.id},o(r.intlLabel)))))))};ne.propTypes={menu:i().array.isRequired};var Ke=ne;function oe(){const{settingId:a}=(0,f.useParams)(),{settings:o}=(0,g.useStrapiApp)(),{formatMessage:s}=(0,E.useIntl)(),{isLoading:l,menu:d}=(0,z.Te)(),u=(0,e.useMemo)(()=>(0,x.WW)(be.map(({to:c,Component:r,exact:y})=>(0,x.ot)(r,c,y))),[]),h=De(o);if(l)return e.createElement(g.LoadingIndicatorPage,null);if(!a)return e.createElement(f.Redirect,{to:"/settings/application-infos"});const m=s({id:"global.settings",defaultMessage:"Settings"});return e.createElement(n.Layout,{sideNav:e.createElement(Ke,{menu:d})},e.createElement(I.Helmet,{title:m}),e.createElement(f.Switch,null,e.createElement(f.Route,{path:"/settings/application-infos",component:Oe,exact:!0}),u,h))}var Ze=(0,e.memo)(oe)},17891:function(R,S){"use strict";const t=()=>null;S.Z=t},75936:function(R,S){"use strict";const t=[];S.Z=t},78999:function(R,S,t){"use strict";var e=t(32735),g=t(5636),f=t(39161),n=t.n(f),E=t(41502),I=t(57269),z=t.n(I),x=t(13478),P=t.n(x),F=t(58414);const G="https://cloud.strapi.io/profile/billing",N="https://strapi.io/billing/request-seats",i=()=>{const{formatMessage:v}=(0,g.useIntl)(),{license:O}=(0,F.q5)(),{licenseLimitStatus:B,enforcementUserCount:U,permittedSeats:D,isHostedOnStrapiCloud:W}=O?.data??{};return D?e.createElement(f.GridItem,{col:6,s:12},e.createElement(f.Typography,{variant:"sigma",textColor:"neutral600"},v({id:"Settings.application.admin-seats",defaultMessage:"Admin seats"})),e.createElement(f.Flex,{gap:2},e.createElement(f.Flex,null,e.createElement(f.Typography,{as:"p"},v({id:"Settings.application.ee.admin-seats.count",defaultMessage:"<text>{enforcementUserCount}</text>/{permittedSeats}"},{permittedSeats:D,enforcementUserCount:U,text:j=>e.createElement(f.Typography,{fontWeight:"semiBold",textColor:U>D?"danger500":null},j)}))),B==="OVER_LIMIT"&&e.createElement(f.Tooltip,{description:v({id:"Settings.application.ee.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"})},e.createElement(f.Icon,{width:`${(0,x.pxToRem)(14)}rem`,height:`${(0,x.pxToRem)(14)}rem`,color:"danger500",as:I.ExclamationMarkCircle}))),e.createElement(E.r,{href:W?G:N,isExternal:!0,endIcon:e.createElement(I.ExternalLink,null)},v({id:"Settings.application.ee.admin-seats.add-seats",defaultMessage:"{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}"},{isHostedOnStrapiCloud:W}))):null};S.Z=i},63775:function(R,S,t){"use strict";const e=[];strapi.features.isEnabled(strapi.features.SSO)&&e.push({async Component(){return await t.e(302).then(t.bind(t,26930))},to:"/settings/single-sign-on",exact:!0}),strapi.features.isEnabled(strapi.features.AUDIT_LOGS)&&e.push({async Component(){return await t.e(2812).then(t.bind(t,71765))},to:"/settings/audit-logs",exact:!0}),S.Z=e},3704:function(R,S,t){var e=t(40314),g=t(37213);function f(n,E){return e(g(n,E),1)}R.exports=f},37213:function(R,S,t){var e=t(26460),g=t(88904),f=t(52920),n=t(77236);function E(I,z){var x=n(I)?e:f;return x(I,g(z,3))}R.exports=E}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{90597:function(I,E,t){"use strict";t.r(E),t.d(E,{default:function(){return As}});var e=t(32735),r=t(5141),n=t(39161),f=t(86349),m=t.n(f),g=t(88423),d=t.n(g),B=t(93839),R=t.n(B),j=t(56784),v=t.n(j),x=t(99357),T=t(463),W=()=>{const u=[];return{register(s){u.push(s)},delete(s){u.splice(u.indexOf(s),1)},runWaterfall(s,o){return u.reduce((i,c)=>c(i,o),s)},async runWaterfallAsync(s,o){let i=s;for(const c of u)i=await c(i,o);return i},runSeries(...s){return u.map(o=>o(...s))},async runSeriesAsync(...s){const o=[];for(const i of u)o.push(await i(...s));return o},runParallel(...s){return Promise.all(u.map(o=>o(...s)))}}},L=t(13055);const w=(u,s)=>{let o=L.compose;const i=[];u.forEach(y=>{i.push(y())});const c=(0,L.createStore)($(s,{}),{},o((0,L.applyMiddleware)(...i)));return c.asyncReducers={},c.injectReducer=(y,A)=>{c.asyncReducers[y]=A,c.replaceReducer($(s,c.asyncReducers))},c},$=(u,s)=>(0,L.combineReducers)({...u,...s});var Q=w,fe=t(20284),P=t(13478),oe=t(
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{90597:function(I,E,t){"use strict";t.r(E),t.d(E,{default:function(){return As}});var e=t(32735),r=t(5141),n=t(39161),f=t(86349),m=t.n(f),g=t(88423),d=t.n(g),B=t(93839),R=t.n(B),j=t(56784),v=t.n(j),x=t(99357),T=t(463),W=()=>{const u=[];return{register(s){u.push(s)},delete(s){u.splice(u.indexOf(s),1)},runWaterfall(s,o){return u.reduce((i,c)=>c(i,o),s)},async runWaterfallAsync(s,o){let i=s;for(const c of u)i=await c(i,o);return i},runSeries(...s){return u.map(o=>o(...s))},async runSeriesAsync(...s){const o=[];for(const i of u)o.push(await i(...s));return o},runParallel(...s){return Promise.all(u.map(o=>o(...s)))}}},L=t(13055);const w=(u,s)=>{let o=L.compose;const i=[];u.forEach(y=>{i.push(y())});const c=(0,L.createStore)($(s,{}),{},o((0,L.applyMiddleware)(...i)));return c.asyncReducers={},c.injectReducer=(y,A)=>{c.asyncReducers[y]=A,c.replaceReducer($(s,c.asyncReducers))},c},$=(u,s)=>(0,L.combineReducers)({...u,...s});var Q=w,fe=t(20284),P=t(13478),oe=t(84306),Y=t(5636),ue=t(60216),a=t.n(ue);const D=({component:u,path:s,...o})=>{const{pathname:i,search:c}=(0,r.useLocation)();return e.createElement(r.Route,{path:s,render:y=>P.auth.getToken()!==null?e.createElement(u,{...o,...y}):e.createElement(r.Redirect,{to:{pathname:"/auth/login",search:i!=="/"&&`?redirectTo=${encodeURIComponent(`${i}${c}`)}`}})})};D.propTypes={component:a().any.isRequired,path:a().string.isRequired};var b=(0,e.memo)(D),H=t(64421),ve=t(20011),le=t(39935),ce=t.n(le),de=t(33795),z=t.n(de),qe=t(9086),et=t.n(qe);const Ge="GUIDED_TOUR_CURRENT_STEP",_="GUIDED_TOUR_COMPLETED_STEPS",Oe="GUIDED_TOUR_SKIPPED",ae=JSON.parse,Se=JSON.stringify;var he={clear(){localStorage.removeItem(Ge),localStorage.removeItem(_)},addCompletedStep(u){const s=ae(localStorage.getItem(_))?.slice()||[];s.includes(u)||(s.push(u),localStorage.setItem(_,Se(s)))},addCurrentStep(u){localStorage.setItem(Ge,Se(u))},setSkipped(u){localStorage.setItem(Oe,Se(u))},get(u){return ae(localStorage.getItem(u))}},me=t(20139),Be=t(41832),te=u=>u,Le=t(97889),Ue=t(92891);const ze={formErrors:{},modifiedData:{},requestError:null},Ke=(u,s)=>(0,Le.default)(u,o=>{switch(s.type){case"ON_CHANGE":{(0,Ue.set)(o.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return ze;case"SET_DATA":{o.modifiedData=s.data;break}case"SET_ERRORS":{o.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{o.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return o}}),Ve=(()=>window&&window.strapi&&window.strapi.isEE?t(7277).Z:t(56355).Z)(),He=u=>{let{hasAdmin:s,setHasAdmin:o}=u;const{push:i,location:{search:c}}=(0,r.useHistory)(),{changeLocale:y}=(0,me.Z)(),{setSkipped:A}=(0,P.useGuidedTour)(),{trackUsage:S}=(0,P.useTracking)(),{params:{authType:k}}=(0,r.useRouteMatch)("/auth/:authType"),V=(0,P.useQuery)(),{Component:G,endPoint:O,fieldsToDisable:X,fieldsToOmit:K,inputsPrefix:ne,schema:N,...Ee}=z()(Ve,k,{}),[{formErrors:be,modifiedData:at,requestError:rt},$e]=(0,e.useReducer)(Ke,ze,te),We=oe.Z.CancelToken.source();(0,e.useEffect)(()=>()=>{We.cancel("Component unmounted")},[]),(0,e.useEffect)(()=>{$e({type:"RESET_PROPS"})},[k]);const Cs=re=>{let{target:{name:Me,value:Pe}}=re;$e({type:"ON_CHANGE",keys:Me,value:Pe})},Ls=async(re,Me)=>{let{setSubmitting:Pe,setErrors:Ie}=Me;Pe(!0);const xe=et()(re,K),ee=`/admin/${O}`;k==="login"&&await Ss(re,ee,{setSubmitting:Pe,setErrors:Ie}),(k==="register"||k==="register-admin")&&await Ds(re,ee,{setSubmitting:Pe,setErrors:Ie}),k==="forgot-password"&&await Ms(xe,ee,{setSubmitting:Pe,setErrors:Ie}),k==="reset-password"&&await bs(xe,ee,{setSubmitting:Pe,setErrors:Ie})},Ms=async(re,Me,Pe)=>{let{setSubmitting:Ie,setErrors:xe}=Pe;try{await(0,oe.Z)({method:"POST",url:`${strapi.backendURL}${Me}`,data:re,cancelToken:We.token}),i("/auth/forgot-password-success")}catch(ee){console.error(ee),xe({errorMessage:"notification.error"})}finally{Ie(!1)}},Ss=async(re,Me,Pe)=>{let{setSubmitting:Ie,setErrors:xe}=Pe;try{const{data:{data:{token:ee,user:ye}}}=await(0,oe.Z)({method:"POST",url:`${strapi.backendURL}${Me}`,data:et()(re,K),cancelToken:We.token});ye.preferedLanguage&&y(ye.preferedLanguage),P.auth.setToken(ee,re.rememberMe),P.auth.setUserInfo(ye,re.rememberMe),Jt()}catch(ee){if(ee.response){const ye=z()(ee,["response","data","error","message"],"Something went wrong");if(ce()(ye).toLowerCase()==="usernotactive"){i("/auth/oops"),$e({type:"RESET_PROPS"});return}xe({errorMessage:ye})}}finally{Ie(!1)}},Ds=async(re,Me,Pe)=>{let{setSubmitting:Ie,setErrors:xe}=Pe;try{S("willCreateFirstAdmin");const{data:{data:{token:ee,user:ye}}}=await(0,oe.Z)({method:"POST",url:`${strapi.backendURL}${Me}`,data:et()(re,K),cancelToken:We.token});P.auth.setToken(ee,!1),P.auth.setUserInfo(ye,!1),Ie(!1),o(!0);const{roles:Xe}=ye;if(Xe&&Xe.find(Is=>{let{code:Os}=Is;return Os==="strapi-super-admin"})&&(he.setSkipped(!1),A(!1),S("didLaunchGuidedtour")),k==="register"&&re.userInfo.news===!0||k==="register-admin"&&re.news===!0){i({pathname:"/usecase",search:`?hasAdmin=${s}`});return}Jt()}catch(ee){if(S("didNotCreateFirstAdmin"),ee.response){const{data:ye}=ee.response,Xe=(0,Be.Z)(ye);xe({apiErrors:Xe})}}},bs=async(re,Me,Pe)=>{let{setErrors:Ie,setSubmitting:xe}=Pe;try{const{data:{data:{token:ee,user:ye}}}=await(0,oe.Z)({method:"POST",url:`${strapi.backendURL}${Me}`,data:{...re,resetPasswordToken:V.get("code")},cancelToken:We.token});P.auth.setToken(ee,!1),P.auth.setUserInfo(ye,!1),i("/")}catch(ee){if(ee.response){const ye=z()(ee,["response","data","message"],"Something went wrong"),Xe=z()(ee,["response","data","statusCode"],400);$e({type:"SET_REQUEST_ERROR",errorMessage:ye,errorStatus:Xe}),Ie({errorMessage:ye})}}finally{xe(!1)}},Jt=()=>{if(k==="login"){const re=V.get("redirectTo"),Me=re?decodeURIComponent(re):"/";i(Me)}else i("/")};return!Ve[k]||s&&k==="register-admin"||P.auth.getToken()?e.createElement(r.Redirect,{to:"/"}):!s&&k!=="register-admin"?e.createElement(r.Redirect,{to:{pathname:"/auth/register-admin",search:c}}):e.createElement(G,(0,ve.Z)({},Ee,{authType:k,fieldsToDisable:X,formErrors:be,inputsPrefix:ne,modifiedData:at,onChange:Cs,onSubmit:Ls,requestError:rt,schema:N}))};He.defaultProps={hasAdmin:!1},He.propTypes={hasAdmin:a().bool,setHasAdmin:a().func.isRequired};var J=He,gt=t(53951),pe=t(83292),Re=t(33348),se=t(10190),Te=t(954);const we=[{intlLabel:{id:"Usecase.front-end",defaultMessage:"Front-end developer"},value:"front_end_developer"},{intlLabel:{id:"Usecase.back-end",defaultMessage:"Back-end developer"},value:"back_end_developer"},{intlLabel:{id:"Usecase.full-stack",defaultMessage:"Full-stack developer"},value:"full_stack_developer"},{intlLabel:{id:"global.content-manager",defaultMessage:"Content Manager"},value:"content_manager"},{intlLabel:{id:"Usecase.content-creator",defaultMessage:"Content Creator"},value:"content_creator"},{intlLabel:{id:"Usecase.other",defaultMessage:"Other"},value:"other"}],Qe=(0,pe.default)(n.Typography)`
|
|
2
2
|
text-align: center;
|
|
3
3
|
`;var It=()=>{const u=(0,P.useNotification)(),{push:s,location:o}=(0,r.useHistory)(),{formatMessage:i}=(0,Y.useIntl)(),[c,y]=(0,e.useState)(),[A,S]=(0,e.useState)(""),{firstname:k,email:V}=P.auth.getUserInfo(),{hasAdmin:G}=(0,Re.parse)(o?.search,{ignoreQueryPrefix:!0}),O=c==="other",X=K=>{try{(0,oe.Z)({method:"POST",url:"https://analytics.strapi.io/register",data:{email:V,username:k,firstAdmin:Boolean(!G),persona:{role:K?void 0:c,otherRole:K?void 0:A}}}),u({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return e.createElement(Te.ZP,null,e.createElement(n.Main,{labelledBy:"usecase-title"},e.createElement(Te.bU,null,e.createElement("form",{onSubmit:()=>X(!1)},e.createElement(n.Flex,{direction:"column",paddingBottom:7},e.createElement(se.Z,null),e.createElement(n.Box,{paddingTop:6,paddingBottom:1,width:(0,P.pxToRem)(250)},e.createElement(Qe,{variant:"alpha",as:"h1",id:"usecase-title"},i({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(n.Select,{id:"usecase","data-testid":"usecase",label:i({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:y,value:c},we.map(({intlLabel:K,value:ne})=>e.createElement(n.Option,{key:ne,value:ne},i(K)))),O&&e.createElement(n.TextInput,{name:"other",label:i({id:"Usecase.other",defaultMessage:"Other"}),value:A,onChange:K=>S(K.target.value),"data-testid":"other"}),e.createElement(n.Button,{type:"submit",size:"L",fullWidth:!0,disabled:!c},i({id:"global.finish",defaultMessage:"Finish"}))))),e.createElement(n.Flex,{justifyContent:"center"},e.createElement(n.Box,{paddingTop:4},e.createElement(n.TextButton,{onClick:()=>X(!0)},i({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},ft=t(61605),ht=async()=>`web-fingerprint-${(await(await ft.ZP.load()).get()).visitorId}`,Et=[],yt=[...(()=>window&&window.strapi&&window.strapi.isEE?t(68944).Z:t(56761).Z)(),...Et],tt=t(8888);const it=(0,e.lazy)(()=>Promise.all([t.e(9816),t.e(801)]).then(t.bind(t,29761)));function vt(){const u=(0,P.useNotification)(),{updateProjectSettings:s}=(0,tt.um)(),{formatMessage:o}=(0,Y.useIntl)(),[{isLoading:i,hasAdmin:c,uuid:y,deviceId:A},S]=(0,e.useState)({isLoading:!0,hasAdmin:!1}),k=(0,P.useAppInfos)(),{get:V}=(0,P.useFetchClient)(),G=(0,e.useMemo)(()=>(0,H.WW)(yt.map(({to:N,Component:Ee,exact:be})=>(0,H.ot)(Ee,N,be))),[]),[O,X]=(0,e.useState)(null);(0,e.useEffect)(()=>{const N=P.auth.getToken();N&&(async()=>{try{const{data:{token:be}}=await(0,P.request)("/admin/renew-token",{method:"POST",body:{token:N}});P.auth.updateToken(be)}catch{P.auth.clearAppStorage(),window.location.reload()}})()},[]),(0,e.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:Ee,uuid:be,menuLogo:at,authLogo:rt}}}=await oe.Z.get(`${strapi.backendURL}/admin/init`);s({menuLogo:(0,P.prefixFileUrlWithBackendUrl)(at),authLogo:(0,P.prefixFileUrlWithBackendUrl)(rt)});const $e=await ht();if(be){const{data:{data:Dt}}=await V("/admin/telemetry-properties",{validateStatus:We=>We<500});X(Dt);try{await fetch("https://analytics.strapi.io/api/v2/track",{method:"POST",body:JSON.stringify({event:"didInitializeAdministration",userId:"",deviceId:$e,eventPropeties:{},userProperties:{environment:k.currentEnvironment},groupProperties:{...Dt,projectId:be}}),headers:{"Content-Type":"application/json"}})}catch{}}S({isLoading:!1,hasAdmin:Ee,uuid:be,deviceId:$e})}catch{u({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[u,s]);const K=N=>S(Ee=>({...Ee,hasAdmin:N})),ne=(0,e.useMemo)(()=>({uuid:y,telemetryProperties:O,deviceId:A}),[y,O,A]);return i?e.createElement(P.LoadingIndicatorPage,null):e.createElement(e.Suspense,{fallback:e.createElement(P.LoadingIndicatorPage,null)},e.createElement(n.SkipToContent,null,o({id:"skipToContent"})),e.createElement(P.TrackingProvider,{value:ne},e.createElement(r.Switch,null,G,e.createElement(r.Route,{path:"/auth/:authType",render:N=>e.createElement(J,{...N,setHasAdmin:K,hasAdmin:c}),exact:!0}),e.createElement(b,{path:"/usecase",component:It}),e.createElement(b,{path:"/",component:it}),e.createElement(r.Route,{path:"",component:gt.default}))))}var kt=vt,lt=t(47750),Tt=t(84968),Pt=t(4409),ut=t(66694);const ct={menuLogo:null,authLogo:null};var Ut=(u=ct,s)=>(0,Le.default)(u,o=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(o,s.values);break}default:return o}});const Rt=({children:u,authLogo:s,menuLogo:o,showReleaseNotification:i,showTutorials:c})=>{const[{menuLogo:y,authLogo:A},S]=(0,e.useReducer)(Ut,ct),k=(0,e.useCallback)(({menuLogo:G,authLogo:O})=>S({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:G||o,authLogo:O||s}}),[s,o]),V=(0,e.useMemo)(()=>({logos:{menu:{custom:y,default:o},auth:{custom:A,default:s}},updateProjectSettings:k,showReleaseNotification:i,showTutorials:c}),[y,o,A,s,k,i,c]);return e.createElement(ut._5.Provider,{value:V},u)};Rt.propTypes={authLogo:a().string.isRequired,children:a().element.isRequired,menuLogo:a().string.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired};var jt=Rt,At=t(58732),xt=t.n(At),Ct=t(5985);const h=({changeLocale:u,children:s,localeNames:o,messages:i})=>e.createElement(Ct.Z.Provider,{value:{changeLocale:u,localeNames:o,messages:i}},s);h.propTypes={changeLocale:a().func.isRequired,children:a().element.isRequired,localeNames:a().object.isRequired,messages:a().object.isRequired};var p=h,C="strapi-admin-language",F=u=>{const s=window.localStorage.getItem(C);return{locale:u[s]?s:"en",localeNames:u}};const Z={localeNames:{en:"English"},locale:"en"};var ie=(u=Z,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:o}=s;return u.localeNames[o]?{...u,locale:o}:u}default:return u}};const De=({children:u,localeNames:s,messages:o})=>{const[{locale:i},c]=(0,e.useReducer)(ie,Z,()=>F(s));(0,e.useEffect)(()=>{window.localStorage.setItem(C,i),document.documentElement.setAttribute("lang",i)},[i]);const y=S=>{c({type:"CHANGE_LOCALE",locale:S})},A=xt()(o[i],o.en);return e.createElement(Y.IntlProvider,{locale:i,defaultLocale:"en",messages:A,textComponent:"span"},e.createElement(p,{changeLocale:y,localeNames:s,messages:A},u))};De.propTypes={children:a().element.isRequired,localeNames:a().objectOf(a().string).isRequired,messages:a().object.isRequired};var Ae=De,Ne=(u,s)=>{const o=Object.entries(s),i=o.findIndex(([y])=>y===u);return o.slice(0,i).every(([,y])=>Object.values(y).every(Boolean))},st=(u,s)=>{const o=u.split("."),i=o[1],c=Object.entries(s[o[0]]),y=c.findIndex(([S])=>S===i);return c.slice(0,y).every(([,S])=>S)};const nt={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var ot=(u=nt,s)=>(0,Le.default)(u,o=>{switch(s.type){case"SET_CURRENT_STEP":{o.currentStep=s.step;break}case"SET_STEP_STATE":{const[i,c]=s.currentStep.split(".");o.guidedTourState[i][c]=s.value;break}case"SET_SKIPPED":{o.isSkipped=s.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{o.isGuidedTourVisible=s.value;break}default:return o}}),Fe=t(3040),ge=t.n(Fe),je=u=>{const s={...u},o=he.get(_),i=he.get(Ge),c=he.get(Oe);if(o&&o.forEach(y=>{const[A,S]=y.split(".");ge()(s,["guidedTourState",A,S],!0)}),i){const[y,A]=i.split(".");ge()(s,["guidedTourState",y,A],!0),he.addCompletedStep(i),he.addCurrentStep(null)}return c!==null&&ge()(s,"isSkipped",c),s};const Je=({children:u})=>{const[{currentStep:s,guidedTourState:o,isGuidedTourVisible:i,isSkipped:c},y]=(0,e.useReducer)(ot,nt,je),A=O=>{if(O!==null){const X=z()(o,O),K=st(O,o);if(X||c||!K)return null}return he.addCurrentStep(O),y({type:"SET_CURRENT_STEP",step:O})},S=O=>{y({type:"SET_GUIDED_TOUR_VISIBILITY",value:O})},k=(O,X)=>{he.addCompletedStep(O),y({type:"SET_STEP_STATE",currentStep:O,value:X})},V=O=>{const X=o[O];if(X){const K=Ne(O,o),ne=Object.keys(X)[0],N=X[ne];if(K&&!s&&!N)return A(`${O}.${ne}`)}return null},G=O=>{he.setSkipped(O),y({type:"SET_SKIPPED",value:O})};return e.createElement(P.GuidedTourProvider,{guidedTourState:o,currentStep:s,setCurrentStep:A,setGuidedTourVisibility:S,setSkipped:G,setStepState:k,startSection:V,isGuidedTourVisible:i,isSkipped:c},u)};Je.propTypes={children:a().element.isRequired};var es=Je,Bt=t(12788),_t=t(57269),Nt=t(41502);const ts=(0,pe.default)(n.Box)`
|
|
4
4
|
position: fixed;
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
}
|
|
98
98
|
`,v=({provider:T})=>e.createElement(f.Tooltip,{label:T.displayName},e.createElement(R,{href:`${strapi.backendURL}/admin/connect/${T.uid}`},T.icon?e.createElement("img",{src:T.icon,"aria-hidden":!0,alt:"",height:"32px"}):e.createElement(f.Typography,null,T.displayName)));v.propTypes={provider:n().shape({icon:n().string,displayName:n().string.isRequired,uid:n().string.isRequired}).isRequired};const x=({providers:T,displayAllProviders:M})=>{const{formatMessage:W}=(0,d.useIntl)();return M?e.createElement(f.Grid,{gap:4},T.map(L=>e.createElement(f.GridItem,{key:L.uid,col:4},e.createElement(v,{provider:L})))):T.length>2&&!M?e.createElement(f.Grid,{gap:4},T.slice(0,2).map(L=>e.createElement(f.GridItem,{key:L.uid,col:4},e.createElement(v,{provider:L}))),e.createElement(f.GridItem,{col:4},e.createElement(f.Tooltip,{label:W({id:"global.see-more"})},e.createElement(R,{as:B.Link,to:"/auth/providers"},e.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):e.createElement(j,{justifyContent:"center"},T.map(L=>e.createElement(v,{key:L.uid,provider:L})))};x.defaultProps={displayAllProviders:!0},x.propTypes={providers:n().arrayOf(n().object).isRequired,displayAllProviders:n().bool},E.Z=x},7277:function(I,E,t){"use strict";t.d(E,{Z:function(){return L}});var e=t(32735),r=t(5141),n=t(83292),f=t(13478),m=t(39161),g=t(5636),d=t(58414),B=t(954),R=t(33205),j=t(10190);const v=(0,n.default)(m.Divider)`
|
|
99
99
|
flex: 1;
|
|
100
|
-
`;var T=()=>{const w=strapi.features.isEnabled(strapi.features.SSO),{push:$}=(0,r.useHistory)(),{formatMessage:Q}=(0,g.useIntl)(),{isLoading:fe,data:P}=(0,d.pl)({ssoEnabled:w}),oe=()=>{$("/auth/login")};return!w||!fe&&P.length===0?e.createElement(r.Redirect,{to:"/auth/login"}):e.createElement(B.ZP,null,e.createElement(m.Main,null,e.createElement(B.bU,null,e.createElement(B.sg,null,e.createElement(j.Z,null),e.createElement(m.Box,{paddingTop:6,paddingBottom:1},e.createElement(m.Typography,{as:"h1",variant:"alpha"},Q({id:"Auth.form.welcome.title"}))),e.createElement(m.Box,{paddingBottom:7},e.createElement(m.Typography,{variant:"epsilon",textColor:"neutral600"},Q({id:"Auth.login.sso.subtitle"})))),e.createElement(m.Flex,{direction:"column",alignItems:"stretch",gap:7},fe?e.createElement(m.Flex,{justifyContent:"center"},e.createElement(m.Loader,null,Q({id:"Auth.login.sso.loading"}))):e.createElement(R.Z,{providers:P}),e.createElement(m.Flex,null,e.createElement(v,null),e.createElement(m.Box,{paddingLeft:3,paddingRight:3},e.createElement(m.Typography,{variant:"sigma",textColor:"neutral600"},Q({id:"or"}))),e.createElement(v,null)),e.createElement(m.Button,{fullWidth:!0,size:"L",onClick:oe},Q({id:"Auth.form.button.login.strapi"})))),e.createElement(m.Flex,{justifyContent:"center"},e.createElement(m.Box,{paddingTop:4},e.createElement(f.Link,{to:"/auth/forgot-password"},e.createElement(m.Typography,{variant:"pi"},Q({id:"Auth.link.forgot-password"})))))))},M=t(56355),L={...M.Z,providers:{Component:T,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""}}},99568:function(I,E){"use strict";const t={settings:{auditLogs:{main:[{action:"admin::audit-logs.read",subject:null}],read:[{action:"admin::audit-logs.read",subject:null}]},sso:{main:[{action:"admin::provider-login.read",subject:null}],read:[{action:"admin::provider-login.read",subject:null}],update:[{action:"admin::provider-login.update",subject:null}]}}};E.Z=t},48224:function(I,E,t){var e={"./ar.json":[38677,7958],"./ca.json":[90169,3516],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./eu.json":[69511,8360],"./fr.json":[8399,8006],"./gu.json":[10182,2248],"./he.json":[21757,830],"./hi.json":[43206,6332],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./ml.json":[11309,9903],"./ms.json":[75973,3025],"./nl.json":[80381,2671],"./no.json":[82446,562],"./pl.json":[84008,7846],"./pt-BR.json":[91417,9647],"./pt.json":[41830,3340],"./ru.json":[57098,123],"./sa.json":[92900,9726],"./sk.json":[52204,606],"./sv.json":[43211,9303],"./th.json":[49582,749],"./tr.json":[99154,395],"./uk.json":[2987,7403],"./vi.json":[50576,3278],"./zh-Hans.json":[35964,2553],"./zh.json":[91999,1011]};function r(n){if(!t.o(e,n))return Promise.resolve().then(function(){var g=new Error("Cannot find module '"+n+"'");throw g.code="MODULE_NOT_FOUND",g});var f=e[n],m=f[0];return t.e(f[1]).then(function(){return t.t(m,19)})}r.keys=function(){return Object.keys(e)},r.id=48224,I.exports=r},56355:function(I,E,t){"use strict";t.d(E,{Z:function(){return Ge}});var e=t(5173),r=t(13478),n=t(32735),f=t(5636),m=t(60216),g=t.n(m),d=t(39161),B=t(83281),R=t(954),j=t(10190);const v=({onSubmit:_,schema:Oe})=>{const{formatMessage:ae}=(0,f.useIntl)();return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(B.Formik,{enableReinitialize:!0,initialValues:{email:""},onSubmit:_,validationSchema:Oe,validateOnChange:!1},({values:Se,errors:Ce,handleChange:he})=>n.createElement(r.Form,{noValidate:!0},n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},ae({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),Ce.errorMessage&&n.createElement(d.Typography,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ae({id:Ce.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(d.Flex,{direction:"column",alignItems:"stretch",gap:6},n.createElement(d.TextInput,{error:Ce.email?ae({id:Ce.email,defaultMessage:"This email is invalid."}):"",value:Se.email,onChange:he,label:ae({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:ae({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),n.createElement(d.Button,{type:"submit",fullWidth:!0},ae({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},ae({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};v.defaultProps={onSubmit:_=>_.preventDefault()},v.propTypes={onSubmit:g().func,schema:g().shape({type:g().string.isRequired}).isRequired};var x=v,M=()=>{const{formatMessage:_}=(0,f.useIntl)();return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},_({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),n.createElement(d.Typography,null,_({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),n.createElement(d.Box,{paddingTop:4},n.createElement(d.Typography,null,_({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},_({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},L=()=>{const{formatMessage:_}=(0,f.useIntl)(),ae=(0,r.useQuery)().get("info")||_({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},_({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),n.createElement(d.Typography,null,ae),n.createElement(d.Box,{paddingTop:4},n.createElement(d.Typography,null,_({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},_({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},w=t(83292),$=t(33795),Q=t.n($),fe=t(9086),P=t.n(fe),oe=t(5141),Y=t(
|
|
100
|
+
`;var T=()=>{const w=strapi.features.isEnabled(strapi.features.SSO),{push:$}=(0,r.useHistory)(),{formatMessage:Q}=(0,g.useIntl)(),{isLoading:fe,data:P}=(0,d.pl)({ssoEnabled:w}),oe=()=>{$("/auth/login")};return!w||!fe&&P.length===0?e.createElement(r.Redirect,{to:"/auth/login"}):e.createElement(B.ZP,null,e.createElement(m.Main,null,e.createElement(B.bU,null,e.createElement(B.sg,null,e.createElement(j.Z,null),e.createElement(m.Box,{paddingTop:6,paddingBottom:1},e.createElement(m.Typography,{as:"h1",variant:"alpha"},Q({id:"Auth.form.welcome.title"}))),e.createElement(m.Box,{paddingBottom:7},e.createElement(m.Typography,{variant:"epsilon",textColor:"neutral600"},Q({id:"Auth.login.sso.subtitle"})))),e.createElement(m.Flex,{direction:"column",alignItems:"stretch",gap:7},fe?e.createElement(m.Flex,{justifyContent:"center"},e.createElement(m.Loader,null,Q({id:"Auth.login.sso.loading"}))):e.createElement(R.Z,{providers:P}),e.createElement(m.Flex,null,e.createElement(v,null),e.createElement(m.Box,{paddingLeft:3,paddingRight:3},e.createElement(m.Typography,{variant:"sigma",textColor:"neutral600"},Q({id:"or"}))),e.createElement(v,null)),e.createElement(m.Button,{fullWidth:!0,size:"L",onClick:oe},Q({id:"Auth.form.button.login.strapi"})))),e.createElement(m.Flex,{justifyContent:"center"},e.createElement(m.Box,{paddingTop:4},e.createElement(f.Link,{to:"/auth/forgot-password"},e.createElement(m.Typography,{variant:"pi"},Q({id:"Auth.link.forgot-password"})))))))},M=t(56355),L={...M.Z,providers:{Component:T,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""}}},99568:function(I,E){"use strict";const t={settings:{auditLogs:{main:[{action:"admin::audit-logs.read",subject:null}],read:[{action:"admin::audit-logs.read",subject:null}]},sso:{main:[{action:"admin::provider-login.read",subject:null}],read:[{action:"admin::provider-login.read",subject:null}],update:[{action:"admin::provider-login.update",subject:null}]}}};E.Z=t},48224:function(I,E,t){var e={"./ar.json":[38677,7958],"./ca.json":[90169,3516],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./eu.json":[69511,8360],"./fr.json":[8399,8006],"./gu.json":[10182,2248],"./he.json":[21757,830],"./hi.json":[43206,6332],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./ml.json":[11309,9903],"./ms.json":[75973,3025],"./nl.json":[80381,2671],"./no.json":[82446,562],"./pl.json":[84008,7846],"./pt-BR.json":[91417,9647],"./pt.json":[41830,3340],"./ru.json":[57098,123],"./sa.json":[92900,9726],"./sk.json":[52204,606],"./sv.json":[43211,9303],"./th.json":[49582,749],"./tr.json":[99154,395],"./uk.json":[2987,7403],"./vi.json":[50576,3278],"./zh-Hans.json":[35964,2553],"./zh.json":[91999,1011]};function r(n){if(!t.o(e,n))return Promise.resolve().then(function(){var g=new Error("Cannot find module '"+n+"'");throw g.code="MODULE_NOT_FOUND",g});var f=e[n],m=f[0];return t.e(f[1]).then(function(){return t.t(m,19)})}r.keys=function(){return Object.keys(e)},r.id=48224,I.exports=r},56355:function(I,E,t){"use strict";t.d(E,{Z:function(){return Ge}});var e=t(5173),r=t(13478),n=t(32735),f=t(5636),m=t(60216),g=t.n(m),d=t(39161),B=t(83281),R=t(954),j=t(10190);const v=({onSubmit:_,schema:Oe})=>{const{formatMessage:ae}=(0,f.useIntl)();return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(B.Formik,{enableReinitialize:!0,initialValues:{email:""},onSubmit:_,validationSchema:Oe,validateOnChange:!1},({values:Se,errors:Ce,handleChange:he})=>n.createElement(r.Form,{noValidate:!0},n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},ae({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),Ce.errorMessage&&n.createElement(d.Typography,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ae({id:Ce.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(d.Flex,{direction:"column",alignItems:"stretch",gap:6},n.createElement(d.TextInput,{error:Ce.email?ae({id:Ce.email,defaultMessage:"This email is invalid."}):"",value:Se.email,onChange:he,label:ae({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:ae({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),n.createElement(d.Button,{type:"submit",fullWidth:!0},ae({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},ae({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};v.defaultProps={onSubmit:_=>_.preventDefault()},v.propTypes={onSubmit:g().func,schema:g().shape({type:g().string.isRequired}).isRequired};var x=v,M=()=>{const{formatMessage:_}=(0,f.useIntl)();return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},_({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),n.createElement(d.Typography,null,_({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),n.createElement(d.Box,{paddingTop:4},n.createElement(d.Typography,null,_({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},_({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},L=()=>{const{formatMessage:_}=(0,f.useIntl)(),ae=(0,r.useQuery)().get("info")||_({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return n.createElement(R.ZP,null,n.createElement(d.Main,null,n.createElement(R.bU,null,n.createElement(R.sg,null,n.createElement(j.Z,null),n.createElement(d.Box,{paddingTop:6,paddingBottom:7},n.createElement(d.Typography,{as:"h1",variant:"alpha"},_({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),n.createElement(d.Typography,null,ae),n.createElement(d.Box,{paddingTop:4},n.createElement(d.Typography,null,_({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),n.createElement(d.Flex,{justifyContent:"center"},n.createElement(d.Box,{paddingTop:4},n.createElement(r.Link,{to:"/auth/login"},_({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},w=t(83292),$=t(33795),Q=t.n($),fe=t(9086),P=t.n(fe),oe=t(5141),Y=t(84306),ue=t(57269),a=t(72218);const D=(0,w.default)(d.Box)`
|
|
101
101
|
text-align: center;
|
|
102
102
|
`,b=w.default.a`
|
|
103
103
|
color: ${({theme:_})=>_.colors.primary600};
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
margin-right: ${({theme:e})=>e.spaces[2]};
|
|
112
112
|
background-color: ${({theme:e,isDraft:r})=>e.colors[r?"secondary600":"success600"]};
|
|
113
113
|
border-radius: 50%;
|
|
114
|
-
`,dr=e=>{const{formatMessage:r}=(0,Z.useIntl)(),o=bs.components.Option,{publicationState:s,mainField:a,id:c}=e.data;if(s){const l=s==="draft",d={id:C("components.Select.draft-info-title"),defaultMessage:"State: Draft"},u={id:C("components.Select.publish-info-title"),defaultMessage:"State: Published"},m=r(l?d:u);return t.createElement(o,{...e},t.createElement(i.Flex,null,t.createElement(Es,{title:m,isDraft:l}),t.createElement(i.Typography,{ellipsis:!0},a??c)))}return t.createElement(o,{...e},a??c)};dr.propTypes={isFocused:n().bool.isRequired,data:n().shape({id:n().number.isRequired,isDraft:n().bool,mainField:n().string,publicationState:n().oneOfType([n().string,n().bool])}).isRequired};var le=D(4409),ur=e=>e["content-manager_editViewLayoutManager"].currentLayout,De=()=>{const e=(0,le.useSelector)(ur),r=(0,t.useCallback)(o=>(0,te.get)(e,["components",o],{}),[e]);return{...e,getComponentLayout:r}},ye=D(
|
|
114
|
+
`,dr=e=>{const{formatMessage:r}=(0,Z.useIntl)(),o=bs.components.Option,{publicationState:s,mainField:a,id:c}=e.data;if(s){const l=s==="draft",d={id:C("components.Select.draft-info-title"),defaultMessage:"State: Draft"},u={id:C("components.Select.publish-info-title"),defaultMessage:"State: Published"},m=r(l?d:u);return t.createElement(o,{...e},t.createElement(i.Flex,null,t.createElement(Es,{title:m,isDraft:l}),t.createElement(i.Typography,{ellipsis:!0},a??c)))}return t.createElement(o,{...e},a??c)};dr.propTypes={isFocused:n().bool.isRequired,data:n().shape({id:n().number.isRequired,isDraft:n().bool,mainField:n().string,publicationState:n().oneOfType([n().string,n().bool])}).isRequired};var le=D(4409),ur=e=>e["content-manager_editViewLayoutManager"].currentLayout,De=()=>{const e=(0,le.useSelector)(ur),r=(0,t.useCallback)(o=>(0,te.get)(e,["components",o],{}),[e]);return{...e,getComponentLayout:r}},ye=D(84306);const mr=(e,r)=>r.find(o=>o.uid===e),Cs=(e,r)=>{const o=Rs(e,r),s=pr(o.contentType,r),a=vs(o.contentType,o.components);return(0,te.set)(o,["contentType","layouts","edit"],s),(0,te.set)(o,["contentType","layouts","list"],a),Object.keys(o.components).forEach(c=>{const l=pr(o.components[c],r);(0,te.set)(o,["components",c,"layouts","edit"],l)}),o},Rs=(e,r)=>{const o=ar((0,te.cloneDeep)(e),r,"contentType"),{components:s,contentType:a}=o,c=l=>Object.keys(l.metadatas).reduce((d,u)=>{const m=(0,te.get)(l,["attributes",u],{});let g=l.metadatas[u];if(m.type==="relation"){const f=mr(m.targetModel,r),p=g.edit.mainField,y={name:p,schema:(0,te.get)(f,["attributes",p])};g={list:{...g.list,mainField:y},edit:{...g.edit,mainField:y}}}return d[u]=g,d},{});return(0,te.set)(o,["contentType","metadatas"],c(a)),Object.keys(s).forEach(l=>{const d=s[l],u=c(d);(0,te.set)(o,["components",l,"metadatas"],u)}),o},pr=(e,r)=>e.layouts.edit.reduce((o,s)=>{const a=s.map(c=>{const l=(0,te.get)(e,["attributes",c.name],{}),d={...c,fieldSchema:l,metadatas:(0,te.get)(e,["metadatas",c.name,"edit"],{})};if(l.type==="relation"){const m=mr(l.targetModel,r).pluginOptions||{};(0,te.set)(d,"targetModelPluginOptions",m),(0,te.set)(d,"queryInfos",{shouldDisplayRelationLink:Ts(e,c.name,r)})}return d});return o.push(a),o},[]),vs=(e,r)=>e.layouts.list.reduce((s,a)=>{const c=(0,te.get)(e,["attributes",a],{}),l=(0,te.get)(e,["metadatas",a,"list"],{}),d=c.type;if(d==="relation")return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:l}),s;if(d==="component"){const u=r[c.component],m=u.settings.mainField,g=u.attributes[m];return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:{...l,mainField:{...g,name:m}}}),s}return s.push({key:`__${a}_key__`,name:a,fieldSchema:c,metadatas:l}),s},[]),Ts=(e,r,o)=>{const s=(0,te.get)(e,["attributes",r,"targetModel"],"");return Ms(o).includes(s)},Ms=e=>e.filter(r=>r.isDisplayed).map(({uid:r})=>r);var gr=Cs,lt=D(97889);const Ds={error:null,isLoading:!0,layout:{},layouts:{}};var ks=(e,r)=>(0,lt.default)(e,o=>{switch(r.type){case"GET_DATA":{o.isLoading=!0,o.error=null,o.layout={};break}case"GET_DATA_SUCCEEDED":{const s=r.data.contentType.uid;o.layout=r.data,o.layouts[s]=r.data,o.isLoading=!1;break}case"GET_DATA_ERROR":{o.isLoading=!1,o.error=r.error;break}case"SET_LAYOUT_FROM_STATE":{o.error=null,o.layout=e.layouts[r.uid];break}case"UPDATE_LAYOUT":{const s=e.layout;o.layout={...s,contentType:{uid:s.contentType.uid,...r.newLayout.contentType}},o.layouts[s.contentType.uid]={...s,contentType:{uid:s.contentType.uid,...r.newLayout.contentType}};break}default:return o}}),He=D(98178),Is=D(34947);const Ge=()=>e=>e["content-manager_app"]||Is.E,Yu=()=>createSelector(Ge(),e=>e),Xu=()=>createSelector(Ge(),e=>e.models),xs=()=>(0,He.P1)(Ge(),e=>({collectionTypeLinks:e.collectionTypeLinks,singleTypeLinks:e.singleTypeLinks})),Ft=()=>(0,He.P1)(Ge(),({components:e,models:r})=>({schemas:[...e,...r]}));var Ju=null,fr=e=>{const[{error:r,isLoading:o,layout:s,layouts:a},c]=(0,t.useReducer)(ks,Ds),l=(0,t.useMemo)(Ft,[]),{schemas:d}=(0,le.useSelector)(p=>l(p),le.shallowEqual),u=(0,t.useRef)(!0),{get:m}=(0,h.useFetchClient)(),g=(0,t.useCallback)(async(p,y)=>{if(a[p]){c({type:"SET_LAYOUT_FROM_STATE",uid:p});return}c({type:"GET_DATA"});try{const b=ce(`content-types/${p}/configuration`),{data:{data:v}}=await m(b,{cancelToken:y.token});c({type:"GET_DATA_SUCCEEDED",data:gr(v,d)})}catch(b){if(ye.Z.isCancel(b))return;u.current&&console.error(b),u.current&&c({type:"GET_DATA_ERROR",error:b})}},[a,d,m]);(0,t.useEffect)(()=>()=>{u.current=!1},[]),(0,t.useEffect)(()=>{const y=ye.Z.CancelToken.source();return g(e,y),()=>{y.cancel("Operation canceled by the user.")}},[e,g]);const f=(0,t.useCallback)(p=>{c({type:"UPDATE_LAYOUT",newLayout:gr(p,d)})},[d]);return{error:r,isLoading:o,layout:s,updateLayout:f}},ws=e=>e["content-manager_app"].collectionTypeLinks,Me=D(33348),Fs=D(33795),P=D.n(Fs),Ls=D(85973),hr=D.n(Ls);const yr=(e,r)=>Object.keys(e).reduce((o,s)=>{const a=e[s],c=P()(r,[s],a);return hr()(a)?{...o,[s]:yr(a,c)}:(o[s]=c,o)},{});var Ss=(e,r,o)=>{const s=e.find(({to:g})=>g.includes(r));if(!s)return"/";const{to:a,search:c}=s,l=(0,Me.parse)(c),d=(0,Me.parse)(o.substring(1)),u=yr(l,d);return`${a}?${(0,Me.stringify)(u,{encode:!1})}`},br=e=>{const[{rawQuery:r}]=(0,h.useQueryParams)(),o=(0,le.useSelector)(ws);return Ss(o,e,r)},Pe=()=>(0,t.useContext)(Kn),Er=()=>{const{search:e}=(0,oe.useLocation)(),r=e?(0,Me.parse)(e.substring(1)):{};return r.plugins?(0,Me.stringify)({plugins:r.plugins},{encode:!1}):""},Cr=D(89334);const Ps=(e,r,o)=>({type:Cr.m,permissions:e,__meta__:{plugins:r,containerName:o}}),As=()=>({type:Cr.Q}),Os=e=>e["content-manager_rbacManager"].permissions,$s=e=>e.rbacProvider.collectionTypesRelatedPermissions;var Rr=(e,r,o="listView")=>{const s=(0,le.useSelector)($s),a=(0,le.useSelector)(Os),c=(0,le.useDispatch)(),l=s[r];return(0,t.useEffect)(()=>l?(c(Ps(l,e?e.plugins:null,o)),()=>{c(As())}):()=>{},[l,c,e,o]),a};const im=(0,t.createContext)();var lm=null;const cm=()=>useContext(WysiwygContext);var dm=null;const vr=e=>{const r=(0,t.useRef)();return(0,t.useEffect)(()=>{r.current=e},[e]),r.current},Tr=(0,q.default)(i.Link)`
|
|
115
115
|
display: block;
|
|
116
116
|
|
|
117
117
|
> span {
|