@strapi/admin 4.7.0 → 4.7.2-exp.24dd7d95972fa822bf43e9b095b51027402c229e

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.
Files changed (137) hide show
  1. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +4 -4
  2. package/admin/src/components/AutoReloadOverlayBlockerProvider/Overlay.js +2 -2
  3. package/admin/src/components/GuidedTour/Homepage/index.js +3 -3
  4. package/admin/src/components/GuidedTour/Modal/components/Content.js +35 -23
  5. package/admin/src/components/GuidedTour/Modal/components/Modal.js +6 -4
  6. package/admin/src/components/LeftMenu/index.js +3 -3
  7. package/admin/src/components/Notifications/index.js +6 -4
  8. package/admin/src/components/UpgradePlanModal/index.js +6 -7
  9. package/admin/src/content-manager/components/ComponentInitializer/index.js +3 -3
  10. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +3 -3
  11. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDelete/index.js +3 -11
  12. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +3 -11
  13. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +4 -4
  14. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +3 -4
  15. package/admin/src/content-manager/components/DynamicZone/index.js +3 -3
  16. package/admin/src/content-manager/components/FieldComponent/index.js +3 -3
  17. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +3 -3
  18. package/admin/src/content-manager/components/RelationInput/components/Relation.js +9 -3
  19. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +4 -4
  20. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +12 -6
  21. package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -2
  22. package/admin/src/content-manager/components/Wysiwyg/index.js +5 -5
  23. package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +3 -3
  24. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +5 -5
  25. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +3 -3
  26. package/admin/src/content-manager/pages/EditSettingsView/index.js +3 -3
  27. package/admin/src/content-manager/pages/EditView/Header/index.js +6 -7
  28. package/admin/src/content-manager/pages/EditView/Information/index.js +9 -9
  29. package/admin/src/content-manager/pages/EditView/index.js +9 -9
  30. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +3 -3
  31. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +3 -3
  32. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +5 -5
  33. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +3 -11
  34. package/admin/src/pages/Admin/Onboarding/index.js +11 -5
  35. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +3 -3
  36. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +3 -12
  37. package/admin/src/pages/AuthPage/components/Register/index.js +2 -3
  38. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +3 -3
  39. package/admin/src/pages/HomePage/ContentBlocks.js +3 -3
  40. package/admin/src/pages/HomePage/HomeHeader.js +3 -7
  41. package/admin/src/pages/HomePage/SocialLinks.js +5 -5
  42. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +3 -3
  43. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +3 -3
  44. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +3 -3
  45. package/admin/src/pages/ProfilePage/index.js +11 -11
  46. package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +3 -3
  47. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +5 -5
  48. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +5 -5
  49. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +3 -3
  50. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +3 -3
  51. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +3 -3
  52. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +2 -3
  53. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +7 -6
  54. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +4 -6
  55. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +2 -3
  56. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +5 -5
  57. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +3 -3
  58. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +3 -3
  59. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +7 -7
  60. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +5 -5
  61. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +3 -3
  62. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +2 -3
  63. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +9 -9
  64. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +7 -7
  65. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +158 -165
  66. package/admin/src/pages/UseCasePage/index.js +2 -3
  67. package/admin/src/translations/zh-Hans.json +31 -1
  68. package/build/{4849.7abafe52.chunk.js → 3094.1cac9087.chunk.js} +2 -2
  69. package/build/{4049.16583eee.chunk.js → 4049.64715f20.chunk.js} +1 -1
  70. package/build/4649.daa290f6.chunk.js +30 -0
  71. package/build/{6487.83e219bf.chunk.js → 6891.ef7464be.chunk.js} +6 -6
  72. package/build/7259.63e91b59.chunk.js +1 -0
  73. package/build/Admin-authenticatedApp.884faefa.chunk.js +79 -0
  74. package/build/Admin_homePage.1411fb7c.chunk.js +68 -0
  75. package/build/{Admin_marketplace.a8ea585f.chunk.js → Admin_marketplace.0f6c8ee2.chunk.js} +4 -4
  76. package/build/Admin_profilePage.d2a8f9ab.chunk.js +15 -0
  77. package/build/{Admin_settingsPage.f6d02df6.chunk.js → Admin_settingsPage.6814a96e.chunk.js} +17 -18
  78. package/build/admin-app.d9d96db4.chunk.js +112 -0
  79. package/build/admin-edit-roles-page.bf130aaf.chunk.js +1 -0
  80. package/build/{admin-edit-users.f06c4a53.chunk.js → admin-edit-users.48031e30.chunk.js} +2 -2
  81. package/build/admin-users.77b4188a.chunk.js +11 -0
  82. package/build/{content-manager.6ed87531.chunk.js → content-manager.d792c194.chunk.js} +40 -40
  83. package/build/{content-type-builder-list-view.c2f917b6.chunk.js → content-type-builder-list-view.cf38fe2f.chunk.js} +9 -9
  84. package/build/content-type-builder-translation-zh-Hans-json.415577fb.chunk.js +1 -0
  85. package/build/content-type-builder.cdd117c3.chunk.js +126 -0
  86. package/build/email-settings-page.4bdbef9a.chunk.js +3 -0
  87. package/build/{i18n-settings-page.c7bc29fc.chunk.js → i18n-settings-page.2bb5be96.chunk.js} +1 -1
  88. package/build/index.html +1 -1
  89. package/build/main.64fe0c37.js +3928 -0
  90. package/build/{runtime~main.bc7de2d8.js → runtime~main.684b5fed.js} +1 -1
  91. package/build/sso-settings-page.5a8588ef.chunk.js +1 -0
  92. package/build/upload-settings.0200561d.chunk.js +1 -0
  93. package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +1 -0
  94. package/build/upload.c7da1611.chunk.js +13 -0
  95. package/build/{users-advanced-settings-page.677e1973.chunk.js → users-advanced-settings-page.c0cae03a.chunk.js} +1 -1
  96. package/build/users-providers-settings-page.5f86e45c.chunk.js +1 -0
  97. package/build/users-roles-settings-page.b02986df.chunk.js +30 -0
  98. package/build/webhook-edit-page.a2a2b7bb.chunk.js +23 -0
  99. package/build/webhook-list-page.029957a4.chunk.js +1 -0
  100. package/build/zh-Hans-json.993d085f.chunk.js +1 -0
  101. package/ee/admin/hooks/useLicenseLimitNotification/index.js +2 -1
  102. package/ee/admin/pages/AuthPage/components/Login/index.js +3 -3
  103. package/ee/admin/pages/AuthPage/components/Providers/index.js +3 -3
  104. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +3 -3
  105. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +6 -7
  106. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +11 -3
  107. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +5 -4
  108. package/ee/server/controllers/admin.js +4 -3
  109. package/ee/server/controllers/user.js +2 -2
  110. package/ee/server/services/seat-enforcement.js +2 -2
  111. package/package.json +13 -12
  112. package/server/content-types/User.js +4 -0
  113. package/server/content-types/api-token.js +1 -0
  114. package/server/controllers/user.js +7 -1
  115. package/server/services/permission/permissions-manager/index.js +9 -5
  116. package/server/services/permission/permissions-manager/sanitize.js +101 -4
  117. package/build/4649.ffa2f59a.chunk.js +0 -30
  118. package/build/7259.cd2f7bad.chunk.js +0 -1
  119. package/build/Admin-authenticatedApp.bce108cd.chunk.js +0 -79
  120. package/build/Admin_homePage.cec3f510.chunk.js +0 -70
  121. package/build/Admin_profilePage.b27e40f6.chunk.js +0 -15
  122. package/build/admin-app.d3b3237b.chunk.js +0 -112
  123. package/build/admin-edit-roles-page.fd041d89.chunk.js +0 -1
  124. package/build/admin-users.8c9bfda4.chunk.js +0 -11
  125. package/build/content-type-builder-translation-zh-Hans-json.52a30266.chunk.js +0 -1
  126. package/build/content-type-builder.b7fb1e65.chunk.js +0 -126
  127. package/build/email-settings-page.884cfb8b.chunk.js +0 -3
  128. package/build/main.8009bfe8.js +0 -3930
  129. package/build/sso-settings-page.82d84043.chunk.js +0 -1
  130. package/build/upload-settings.c18b010f.chunk.js +0 -1
  131. package/build/upload-translation-zh-Hans-json.3da5cf56.chunk.js +0 -1
  132. package/build/upload.0876ab69.chunk.js +0 -13
  133. package/build/users-providers-settings-page.87a9c77d.chunk.js +0 -1
  134. package/build/users-roles-settings-page.79c19845.chunk.js +0 -30
  135. package/build/webhook-edit-page.cfbdd3fd.chunk.js +0 -23
  136. package/build/webhook-list-page.3daa4fe2.chunk.js +0 -1
  137. package/build/zh-Hans-json.6e26e359.chunk.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3552],{98225:function(re,A,m){m.r(A),m.d(A,{default:function(){return ce}});var e=m(32735),g=m(13478),q=m(60216),c=m.n(q),f=m(5636),t=m(39161),h=m(57269),N=m(74552),s=m(60255),L=m(83281),b=m(5173),P=(0,b.Ry)().shape({code:(0,b.Z_)().required(),displayName:(0,b.Z_)().max(50,"Settings.locales.modal.locales.displayName.error").required(g.translatedErrors.required)}),T=m(4409),S=m(9494);const G=async(a,n,o)=>{try{const l=await(0,g.request)(`/i18n/locales/${a}`,{method:"PUT",body:n});return o({type:"success",message:{id:(0,s.O)("Settings.locales.modal.edit.success")}}),l}catch{return o({type:"warning",message:{id:"notification.error"}}),null}};var V=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isEditing:a,editLocale:async(d,r)=>{n(!0);const u=await G(d,r,l);o({type:S.OT,editedLocale:u}),n(!1)}}},H=m(84968);const U=async a=>{try{return await(0,g.request)("/i18n/iso-locales",{method:"GET"})}catch{return a({type:"warning",message:{id:"notification.error"}}),[]}};var R=()=>{const{formatMessage:a}=(0,f.useIntl)(),{notifyStatus:n}=(0,t.useNotifyAT)(),o=(0,g.useNotification)(),{isLoading:l,data:i}=(0,H.useQuery)("default-locales",()=>U(o).then(d=>(n(a({id:(0,s.O)("Settings.locales.modal.locales.loaded"),defaultMessage:"The locales have been successfully loaded."})),d)));return{defaultLocales:i,isLoading:l}};const x=({locale:a})=>{const{formatMessage:n}=(0,f.useIntl)(),{values:o,handleChange:l,errors:i}=(0,L.useFormikContext)(),{defaultLocales:d,isLoading:r}=R(),u=!r&&d.find(y=>y.code===a.code);return e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.Select,{label:n({id:(0,s.O)("Settings.locales.modal.locales.label"),defaultMessage:"Locales"}),value:u?.code||a.code,disabled:!0},e.createElement(t.Option,{value:u?.code||a.code},u?.name||a.code))),e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"displayName",label:n({id:(0,s.O)("Settings.locales.modal.locales.displayName"),defaultMessage:"Locale display name"}),hint:n({id:(0,s.O)("Settings.locales.modal.locales.displayName.description"),defaultMessage:"Locale will be displayed under that name in the administration panel"}),error:i.displayName?n({id:(0,s.O)("Settings.locales.modal.locales.displayName.error"),defaultMessage:"The locale display name can only be less than 50 characters."}):void 0,value:o.displayName,onChange:l})))};var Z=x;x.propTypes={locale:c().shape({id:c().number.isRequired,name:c().string.isRequired,code:c().string.isRequired,isDefault:c().bool.isRequired}).isRequired};const I=({isDefaultLocale:a})=>{const{values:n,setFieldValue:o}=(0,L.useFormikContext)(),{formatMessage:l}=(0,f.useIntl)();return e.createElement(t.Checkbox,{name:"isDefault",hint:l({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault.hint"),defaultMessage:"One default locale is required, change it by selecting another one"}),onChange:()=>o("isDefault",!n.isDefault),value:n.isDefault,disabled:a},l({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault"),defaultMessage:"Set as default locale"}))};I.propTypes={isDefaultLocale:c().bool.isRequired};var j=I;const M=({locale:a,onClose:n})=>{const{refetchPermissions:o}=(0,g.useRBACProvider)(),{isEditing:l,editLocale:i}=V(),{formatMessage:d}=(0,f.useIntl)(),r=async({displayName:u,isDefault:y})=>{await i(a.id,{name:u,isDefault:y}),await o()};return e.createElement(t.ModalLayout,{onClose:n,labelledBy:"edit-locale-title"},e.createElement(L.Formik,{initialValues:{code:a?.code,displayName:a?.name||"",isDefault:Boolean(a?.isDefault)},onSubmit:r,validationSchema:P},e.createElement(g.Form,null,e.createElement(t.ModalHeader,null,e.createElement(t.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"edit-locale-title"},d({id:(0,s.O)("Settings.list.actions.edit"),defaultMessage:"Edit a locale"}))),e.createElement(t.ModalBody,null,e.createElement(t.TabGroup,{label:d({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"}),id:"tabs",variant:"simple"},e.createElement(t.Flex,{justifyContent:"space-between"},e.createElement(t.Typography,{as:"h2"},d({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"})),e.createElement(t.Tabs,null,e.createElement(t.Tab,null,d({id:(0,s.O)("Settings.locales.modal.base"),defaultMessage:"Basic settings"})),e.createElement(t.Tab,null,d({id:(0,s.O)("Settings.locales.modal.advanced"),defaultMessage:"Advanced settings"})))),e.createElement(t.Divider,null),e.createElement(t.Box,{paddingTop:7,paddingBottom:7},e.createElement(t.TabPanels,null,e.createElement(t.TabPanel,null,e.createElement(Z,{locale:a})),e.createElement(t.TabPanel,null,e.createElement(j,{isDefaultLocale:Boolean(a&&a.isDefault)})))))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{variant:"tertiary",onClick:n},d({id:"app.components.Button.cancel"})),endActions:e.createElement(t.Button,{type:"submit",startIcon:e.createElement(h.Check,null),disabled:l},d({id:"global.save"}))}))))};M.defaultProps={locale:void 0},M.propTypes={locale:c().shape({id:c().number.isRequired,name:c().string.isRequired,code:c().string.isRequired,isDefault:c().bool.isRequired}),onClose:c().func.isRequired};var z=M;const W=async(a,n)=>{try{const o=await(0,g.request)(`/i18n/locales/${a}`,{method:"DELETE"});return n({type:"success",message:{id:(0,s.O)("Settings.locales.modal.delete.success")}}),o}catch(o){return n({type:"warning",message:{id:"notification.error"}}),o}};var $=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isDeleting:a,deleteLocale:async d=>{n(!0),await W(d,l),o({type:S.HC,id:d}),n(!1)}}};const D=({localeToDelete:a,onClose:n})=>{const{isDeleting:o,deleteLocale:l}=$(),i=Boolean(a),d=()=>l(a.id).then(n);return e.createElement(g.ConfirmDialog,{isConfirmButtonLoading:o,onConfirm:d,onToggleDialog:n,isOpen:i})};D.defaultProps={localeToDelete:void 0},D.propTypes={localeToDelete:c().shape({id:c().number.isRequired}),onClose:c().func.isRequired};var Q=D,J=m(33795),K=m.n(J);const X=async({code:a,name:n,isDefault:o},l)=>{const i=await(0,g.request)("/i18n/locales",{method:"POST",body:{name:n,code:a,isDefault:o}});return l({type:"success",message:{id:(0,s.O)("Settings.locales.modal.create.success")}}),i};var Y=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isAdding:a,addLocale:async d=>{n(!0);try{const r=await X(d,l);o({type:S.xz,newLocale:r})}catch(r){const u=K()(r,"response.payload.message",null);throw u&&u.includes("already exists")?l({type:"warning",message:{id:(0,s.O)("Settings.locales.modal.create.alreadyExist")}}):l({type:"warning",message:{id:"notification.error"}}),r}finally{n(!1)}}}};const O=e.memo(({value:a,onClear:n,onLocaleChange:o,error:l})=>{const{formatMessage:i}=(0,f.useIntl)(),{defaultLocales:d,isLoading:r}=R(),{locales:u}=(0,N.Z)(),y=(d||[]).map(p=>({label:p.name,value:p.code})).filter(({value:p})=>{const E=u.find(({code:C})=>C===p);return!E||E.code===a}),v=a||"";return e.createElement(t.Combobox,{"aria-busy":r,error:l,label:i({id:(0,s.O)("Settings.locales.modal.locales.label"),defaultMessage:"Locales"}),value:v,onClear:a?n:void 0,onChange:p=>{const E=y.find(C=>C.value===p);E&&o({code:E.value,displayName:E.label})},placeholder:i({id:"components.placeholder.select",defaultMessage:"Select"})},y.map(p=>e.createElement(t.ComboboxOption,{value:p.value,key:p.value},p.label)))});O.defaultProps={error:void 0,value:void 0,onClear(){},onLocaleChange:()=>{}},O.propTypes={error:c().string,onClear:c().func,onLocaleChange:c().func,value:c().string};var _=O,ee=()=>{const{formatMessage:a}=(0,f.useIntl)(),{values:n,handleChange:o,setFieldValue:l,errors:i}=(0,L.useFormikContext)(),d=(0,e.useCallback)(u=>{l("displayName",u.displayName),l("code",u.code)},[l]),r=(0,e.useCallback)(()=>{l("displayName",""),l("code","")},[l]);return e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(_,{error:i.code,value:n.code,onLocaleChange:d,onClear:r})),e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"displayName",label:a({id:(0,s.O)("Settings.locales.modal.locales.displayName"),defaultMessage:"Locale display name"}),hint:a({id:(0,s.O)("Settings.locales.modal.locales.displayName.description"),defaultMessage:"Locale will be displayed under that name in the administration panel"}),error:i.displayName?a({id:(0,s.O)("Settings.locales.modal.locales.displayName.error"),defaultMessage:"The locale display name can only be less than 50 characters."}):void 0,value:n.displayName,onChange:o})))},te=()=>{const{values:a,setFieldValue:n}=(0,L.useFormikContext)(),{formatMessage:o}=(0,f.useIntl)();return e.createElement(t.Checkbox,{hint:o({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault.hint"),defaultMessage:"One default locale is required, change it by selecting another one"}),onChange:()=>n("isDefault",!a.isDefault),value:a.isDefault},o({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault"),defaultMessage:"Set as default locale"}))};const ae={code:"",displayName:"",isDefault:!1},w=({onClose:a})=>{const{isAdding:n,addLocale:o}=Y(),{formatMessage:l}=(0,f.useIntl)(),{refetchPermissions:i}=(0,g.useRBACProvider)(),d=async r=>{await o({code:r.code,name:r.displayName,isDefault:r.isDefault}),await i()};return e.createElement(t.ModalLayout,{onClose:a,labelledBy:"add-locale-title"},e.createElement(L.Formik,{initialValues:ae,onSubmit:d,validationSchema:P,validateOnChange:!1},e.createElement(g.Form,null,e.createElement(t.ModalHeader,null,e.createElement(t.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"add-locale-title"},l({id:(0,s.O)("Settings.list.actions.add"),defaultMessage:"Add new locale"}))),e.createElement(t.ModalBody,null,e.createElement(t.TabGroup,{label:l({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"}),id:"tabs",variant:"simple"},e.createElement(t.Flex,{justifyContent:"space-between"},e.createElement(t.Typography,{as:"h2",variant:"beta"},l({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"})),e.createElement(t.Tabs,null,e.createElement(t.Tab,null,l({id:(0,s.O)("Settings.locales.modal.base"),defaultMessage:"Basic settings"})),e.createElement(t.Tab,null,l({id:(0,s.O)("Settings.locales.modal.advanced"),defaultMessage:"Advanced settings"})))),e.createElement(t.Divider,null),e.createElement(t.Box,{paddingTop:7,paddingBottom:7},e.createElement(t.TabPanels,null,e.createElement(t.TabPanel,null,e.createElement(ee,null)),e.createElement(t.TabPanel,null,e.createElement(te,null)))))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{variant:"tertiary",onClick:a},l({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(t.Button,{type:"submit",startIcon:e.createElement(h.Check,null),disabled:n},l({id:"global.save",defaultMessage:"Save"}))}))))};w.propTypes={onClose:c().func.isRequired};var le=w;const B=({locales:a,onDeleteLocale:n,onEditLocale:o})=>{const{formatMessage:l}=(0,f.useIntl)();return e.createElement(t.Table,{colCount:4,rowCount:a.length+1},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.id")}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.displayName")}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.default-locale")}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,"Actions")))),e.createElement(t.Tbody,null,a.map(i=>e.createElement(t.Tr,{key:i.id,...(0,g.onRowClick)({fn:()=>o(i),condition:o})},e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.id)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.name)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.isDefault?l({id:(0,s.O)("Settings.locales.default")}):null)),e.createElement(t.Td,null,e.createElement(t.Stack,{horizontal:!0,spacing:1,style:{justifyContent:"flex-end"},...g.stopPropagation},o&&e.createElement(t.IconButton,{onClick:()=>o(i),label:l({id:(0,s.O)("Settings.list.actions.edit")}),icon:e.createElement(h.Pencil,null),noBorder:!0}),n&&!i.isDefault&&e.createElement(t.IconButton,{onClick:()=>n(i),label:l({id:(0,s.O)("Settings.list.actions.delete")}),icon:e.createElement(h.Trash,null),noBorder:!0})))))))};B.defaultProps={locales:[],onDeleteLocale:void 0,onEditLocale:void 0},B.propTypes={locales:c().array,onDeleteLocale:c().func,onEditLocale:c().func};var ne=B;const F=({canUpdateLocale:a,canDeleteLocale:n,onToggleCreateModal:o,isCreating:l})=>{const[i,d]=(0,e.useState)(),[r,u]=(0,e.useState)(),{locales:y}=(0,N.Z)(),{formatMessage:v}=(0,f.useIntl)();(0,g.useFocusWhenNavigate)();const p=()=>d(void 0),E=n?d:void 0,C=()=>u(void 0),de=a?u:void 0;return e.createElement(t.Main,{tabIndex:-1},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Button,{startIcon:e.createElement(h.Plus,null),onClick:o,size:"S"},v({id:(0,s.O)("Settings.list.actions.add")})),title:v({id:(0,s.O)("plugin.name")}),subtitle:v({id:(0,s.O)("Settings.list.description")})}),e.createElement(t.ContentLayout,null,y?.length>0?e.createElement(ne,{locales:y,onDeleteLocale:E,onEditLocale:de}):e.createElement(t.EmptyStateLayout,{icon:e.createElement(h.EmptyDocuments,{width:void 0,height:void 0}),content:v({id:(0,s.O)("Settings.list.empty.title")}),action:o?e.createElement(t.Button,{variant:"secondary",startIcon:e.createElement(h.Plus,null),onClick:o},v({id:(0,s.O)("Settings.list.actions.add")})):null})),l&&e.createElement(le,{onClose:o}),r&&e.createElement(z,{onClose:C,locale:r}),e.createElement(Q,{localeToDelete:i,onClose:p}))};F.defaultProps={onToggleCreateModal:void 0},F.propTypes={canUpdateLocale:c().bool.isRequired,canDeleteLocale:c().bool.isRequired,onToggleCreateModal:c().func,isCreating:c().bool.isRequired};var oe=F;const k=({canReadLocale:a,canCreateLocale:n,canDeleteLocale:o,canUpdateLocale:l})=>{const[i,d]=(0,e.useState)(!1),r=n?()=>d(u=>!u):void 0;return a?e.createElement(oe,{canUpdateLocale:l,canDeleteLocale:o,onToggleCreateModal:r,isCreating:i}):null};k.propTypes={canReadLocale:c().bool.isRequired,canCreateLocale:c().bool.isRequired,canUpdateLocale:c().bool.isRequired,canDeleteLocale:c().bool.isRequired};var se=k,ie=m(58347),ce=()=>{const{isLoading:a,allowedActions:{canRead:n,canUpdate:o,canCreate:l,canDelete:i}}=(0,g.useRBAC)(ie.Z);return a?null:e.createElement(se,{canReadLocale:n,canCreateLocale:l,canUpdateLocale:o,canDeleteLocale:i})}}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3552],{98225:function(re,A,m){m.r(A),m.d(A,{default:function(){return ce}});var e=m(32735),g=m(13478),k=m(60216),c=m.n(k),f=m(5636),t=m(39161),h=m(57269),N=m(74552),s=m(60255),L=m(83281),b=m(5173),P=(0,b.Ry)().shape({code:(0,b.Z_)().required(),displayName:(0,b.Z_)().max(50,"Settings.locales.modal.locales.displayName.error").required(g.translatedErrors.required)}),T=m(4409),S=m(9494);const G=async(a,n,o)=>{try{const l=await(0,g.request)(`/i18n/locales/${a}`,{method:"PUT",body:n});return o({type:"success",message:{id:(0,s.O)("Settings.locales.modal.edit.success")}}),l}catch{return o({type:"warning",message:{id:"notification.error"}}),null}};var V=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isEditing:a,editLocale:async(d,r)=>{n(!0);const u=await G(d,r,l);o({type:S.OT,editedLocale:u}),n(!1)}}},H=m(84968);const U=async a=>{try{return await(0,g.request)("/i18n/iso-locales",{method:"GET"})}catch{return a({type:"warning",message:{id:"notification.error"}}),[]}};var R=()=>{const{formatMessage:a}=(0,f.useIntl)(),{notifyStatus:n}=(0,t.useNotifyAT)(),o=(0,g.useNotification)(),{isLoading:l,data:i}=(0,H.useQuery)("default-locales",()=>U(o).then(d=>(n(a({id:(0,s.O)("Settings.locales.modal.locales.loaded"),defaultMessage:"The locales have been successfully loaded."})),d)));return{defaultLocales:i,isLoading:l}};const x=({locale:a})=>{const{formatMessage:n}=(0,f.useIntl)(),{values:o,handleChange:l,errors:i}=(0,L.useFormikContext)(),{defaultLocales:d,isLoading:r}=R(),u=!r&&d.find(y=>y.code===a.code);return e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.Select,{label:n({id:(0,s.O)("Settings.locales.modal.locales.label"),defaultMessage:"Locales"}),value:u?.code||a.code,disabled:!0},e.createElement(t.Option,{value:u?.code||a.code},u?.name||a.code))),e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"displayName",label:n({id:(0,s.O)("Settings.locales.modal.locales.displayName"),defaultMessage:"Locale display name"}),hint:n({id:(0,s.O)("Settings.locales.modal.locales.displayName.description"),defaultMessage:"Locale will be displayed under that name in the administration panel"}),error:i.displayName?n({id:(0,s.O)("Settings.locales.modal.locales.displayName.error"),defaultMessage:"The locale display name can only be less than 50 characters."}):void 0,value:o.displayName,onChange:l})))};var Z=x;x.propTypes={locale:c().shape({id:c().number.isRequired,name:c().string.isRequired,code:c().string.isRequired,isDefault:c().bool.isRequired}).isRequired};const I=({isDefaultLocale:a})=>{const{values:n,setFieldValue:o}=(0,L.useFormikContext)(),{formatMessage:l}=(0,f.useIntl)();return e.createElement(t.Checkbox,{name:"isDefault",hint:l({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault.hint"),defaultMessage:"One default locale is required, change it by selecting another one"}),onChange:()=>o("isDefault",!n.isDefault),value:n.isDefault,disabled:a},l({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault"),defaultMessage:"Set as default locale"}))};I.propTypes={isDefaultLocale:c().bool.isRequired};var j=I;const M=({locale:a,onClose:n})=>{const{refetchPermissions:o}=(0,g.useRBACProvider)(),{isEditing:l,editLocale:i}=V(),{formatMessage:d}=(0,f.useIntl)(),r=async({displayName:u,isDefault:y})=>{await i(a.id,{name:u,isDefault:y}),await o()};return e.createElement(t.ModalLayout,{onClose:n,labelledBy:"edit-locale-title"},e.createElement(L.Formik,{initialValues:{code:a?.code,displayName:a?.name||"",isDefault:Boolean(a?.isDefault)},onSubmit:r,validationSchema:P},e.createElement(g.Form,null,e.createElement(t.ModalHeader,null,e.createElement(t.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"edit-locale-title"},d({id:(0,s.O)("Settings.list.actions.edit"),defaultMessage:"Edit a locale"}))),e.createElement(t.ModalBody,null,e.createElement(t.TabGroup,{label:d({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"}),id:"tabs",variant:"simple"},e.createElement(t.Flex,{justifyContent:"space-between"},e.createElement(t.Typography,{as:"h2"},d({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"})),e.createElement(t.Tabs,null,e.createElement(t.Tab,null,d({id:(0,s.O)("Settings.locales.modal.base"),defaultMessage:"Basic settings"})),e.createElement(t.Tab,null,d({id:(0,s.O)("Settings.locales.modal.advanced"),defaultMessage:"Advanced settings"})))),e.createElement(t.Divider,null),e.createElement(t.Box,{paddingTop:7,paddingBottom:7},e.createElement(t.TabPanels,null,e.createElement(t.TabPanel,null,e.createElement(Z,{locale:a})),e.createElement(t.TabPanel,null,e.createElement(j,{isDefaultLocale:Boolean(a&&a.isDefault)})))))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{variant:"tertiary",onClick:n},d({id:"app.components.Button.cancel"})),endActions:e.createElement(t.Button,{type:"submit",startIcon:e.createElement(h.Check,null),disabled:l},d({id:"global.save"}))}))))};M.defaultProps={locale:void 0},M.propTypes={locale:c().shape({id:c().number.isRequired,name:c().string.isRequired,code:c().string.isRequired,isDefault:c().bool.isRequired}),onClose:c().func.isRequired};var W=M;const z=async(a,n)=>{try{const o=await(0,g.request)(`/i18n/locales/${a}`,{method:"DELETE"});return n({type:"success",message:{id:(0,s.O)("Settings.locales.modal.delete.success")}}),o}catch(o){return n({type:"warning",message:{id:"notification.error"}}),o}};var $=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isDeleting:a,deleteLocale:async d=>{n(!0),await z(d,l),o({type:S.HC,id:d}),n(!1)}}};const D=({localeToDelete:a,onClose:n})=>{const{isDeleting:o,deleteLocale:l}=$(),i=Boolean(a),d=()=>l(a.id).then(n);return e.createElement(g.ConfirmDialog,{isConfirmButtonLoading:o,onConfirm:d,onToggleDialog:n,isOpen:i})};D.defaultProps={localeToDelete:void 0},D.propTypes={localeToDelete:c().shape({id:c().number.isRequired}),onClose:c().func.isRequired};var Q=D,J=m(33795),K=m.n(J);const X=async({code:a,name:n,isDefault:o},l)=>{const i=await(0,g.request)("/i18n/locales",{method:"POST",body:{name:n,code:a,isDefault:o}});return l({type:"success",message:{id:(0,s.O)("Settings.locales.modal.create.success")}}),i};var Y=()=>{const[a,n]=(0,e.useState)(!1),o=(0,T.useDispatch)(),l=(0,g.useNotification)();return{isAdding:a,addLocale:async d=>{n(!0);try{const r=await X(d,l);o({type:S.xz,newLocale:r})}catch(r){const u=K()(r,"response.payload.message",null);throw u&&u.includes("already exists")?l({type:"warning",message:{id:(0,s.O)("Settings.locales.modal.create.alreadyExist")}}):l({type:"warning",message:{id:"notification.error"}}),r}finally{n(!1)}}}};const O=e.memo(({value:a,onClear:n,onLocaleChange:o,error:l})=>{const{formatMessage:i}=(0,f.useIntl)(),{defaultLocales:d,isLoading:r}=R(),{locales:u}=(0,N.Z)(),y=(d||[]).map(p=>({label:p.name,value:p.code})).filter(({value:p})=>{const E=u.find(({code:C})=>C===p);return!E||E.code===a}),v=a||"";return e.createElement(t.Combobox,{"aria-busy":r,error:l,label:i({id:(0,s.O)("Settings.locales.modal.locales.label"),defaultMessage:"Locales"}),value:v,onClear:a?n:void 0,onChange:p=>{const E=y.find(C=>C.value===p);E&&o({code:E.value,displayName:E.label})},placeholder:i({id:"components.placeholder.select",defaultMessage:"Select"})},y.map(p=>e.createElement(t.ComboboxOption,{value:p.value,key:p.value},p.label)))});O.defaultProps={error:void 0,value:void 0,onClear(){},onLocaleChange:()=>{}},O.propTypes={error:c().string,onClear:c().func,onLocaleChange:c().func,value:c().string};var _=O,ee=()=>{const{formatMessage:a}=(0,f.useIntl)(),{values:n,handleChange:o,setFieldValue:l,errors:i}=(0,L.useFormikContext)(),d=(0,e.useCallback)(u=>{l("displayName",u.displayName),l("code",u.code)},[l]),r=(0,e.useCallback)(()=>{l("displayName",""),l("code","")},[l]);return e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(_,{error:i.code,value:n.code,onLocaleChange:d,onClear:r})),e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"displayName",label:a({id:(0,s.O)("Settings.locales.modal.locales.displayName"),defaultMessage:"Locale display name"}),hint:a({id:(0,s.O)("Settings.locales.modal.locales.displayName.description"),defaultMessage:"Locale will be displayed under that name in the administration panel"}),error:i.displayName?a({id:(0,s.O)("Settings.locales.modal.locales.displayName.error"),defaultMessage:"The locale display name can only be less than 50 characters."}):void 0,value:n.displayName,onChange:o})))},te=()=>{const{values:a,setFieldValue:n}=(0,L.useFormikContext)(),{formatMessage:o}=(0,f.useIntl)();return e.createElement(t.Checkbox,{hint:o({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault.hint"),defaultMessage:"One default locale is required, change it by selecting another one"}),onChange:()=>n("isDefault",!a.isDefault),value:a.isDefault},o({id:(0,s.O)("Settings.locales.modal.advanced.setAsDefault"),defaultMessage:"Set as default locale"}))};const ae={code:"",displayName:"",isDefault:!1},w=({onClose:a})=>{const{isAdding:n,addLocale:o}=Y(),{formatMessage:l}=(0,f.useIntl)(),{refetchPermissions:i}=(0,g.useRBACProvider)(),d=async r=>{await o({code:r.code,name:r.displayName,isDefault:r.isDefault}),await i()};return e.createElement(t.ModalLayout,{onClose:a,labelledBy:"add-locale-title"},e.createElement(L.Formik,{initialValues:ae,onSubmit:d,validationSchema:P,validateOnChange:!1},e.createElement(g.Form,null,e.createElement(t.ModalHeader,null,e.createElement(t.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"add-locale-title"},l({id:(0,s.O)("Settings.list.actions.add"),defaultMessage:"Add new locale"}))),e.createElement(t.ModalBody,null,e.createElement(t.TabGroup,{label:l({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"}),id:"tabs",variant:"simple"},e.createElement(t.Flex,{justifyContent:"space-between"},e.createElement(t.Typography,{as:"h2",variant:"beta"},l({id:(0,s.O)("Settings.locales.modal.title"),defaultMessage:"Configurations"})),e.createElement(t.Tabs,null,e.createElement(t.Tab,null,l({id:(0,s.O)("Settings.locales.modal.base"),defaultMessage:"Basic settings"})),e.createElement(t.Tab,null,l({id:(0,s.O)("Settings.locales.modal.advanced"),defaultMessage:"Advanced settings"})))),e.createElement(t.Divider,null),e.createElement(t.Box,{paddingTop:7,paddingBottom:7},e.createElement(t.TabPanels,null,e.createElement(t.TabPanel,null,e.createElement(ee,null)),e.createElement(t.TabPanel,null,e.createElement(te,null)))))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{variant:"tertiary",onClick:a},l({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(t.Button,{type:"submit",startIcon:e.createElement(h.Check,null),disabled:n},l({id:"global.save",defaultMessage:"Save"}))}))))};w.propTypes={onClose:c().func.isRequired};var le=w;const B=({locales:a,onDeleteLocale:n,onEditLocale:o})=>{const{formatMessage:l}=(0,f.useIntl)();return e.createElement(t.Table,{colCount:4,rowCount:a.length+1},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.id")}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.displayName")}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},l({id:(0,s.O)("Settings.locales.row.default-locale")}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,"Actions")))),e.createElement(t.Tbody,null,a.map(i=>e.createElement(t.Tr,{key:i.id,...(0,g.onRowClick)({fn:()=>o(i),condition:o})},e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.id)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.name)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},i.isDefault?l({id:(0,s.O)("Settings.locales.default")}):null)),e.createElement(t.Td,null,e.createElement(t.Flex,{gap:1,justifyContent:"flex-end",...g.stopPropagation},o&&e.createElement(t.IconButton,{onClick:()=>o(i),label:l({id:(0,s.O)("Settings.list.actions.edit")}),icon:e.createElement(h.Pencil,null),noBorder:!0}),n&&!i.isDefault&&e.createElement(t.IconButton,{onClick:()=>n(i),label:l({id:(0,s.O)("Settings.list.actions.delete")}),icon:e.createElement(h.Trash,null),noBorder:!0})))))))};B.defaultProps={locales:[],onDeleteLocale:void 0,onEditLocale:void 0},B.propTypes={locales:c().array,onDeleteLocale:c().func,onEditLocale:c().func};var ne=B;const F=({canUpdateLocale:a,canDeleteLocale:n,onToggleCreateModal:o,isCreating:l})=>{const[i,d]=(0,e.useState)(),[r,u]=(0,e.useState)(),{locales:y}=(0,N.Z)(),{formatMessage:v}=(0,f.useIntl)();(0,g.useFocusWhenNavigate)();const p=()=>d(void 0),E=n?d:void 0,C=()=>u(void 0),de=a?u:void 0;return e.createElement(t.Main,{tabIndex:-1},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Button,{startIcon:e.createElement(h.Plus,null),onClick:o,size:"S"},v({id:(0,s.O)("Settings.list.actions.add")})),title:v({id:(0,s.O)("plugin.name")}),subtitle:v({id:(0,s.O)("Settings.list.description")})}),e.createElement(t.ContentLayout,null,y?.length>0?e.createElement(ne,{locales:y,onDeleteLocale:E,onEditLocale:de}):e.createElement(t.EmptyStateLayout,{icon:e.createElement(h.EmptyDocuments,{width:void 0,height:void 0}),content:v({id:(0,s.O)("Settings.list.empty.title")}),action:o?e.createElement(t.Button,{variant:"secondary",startIcon:e.createElement(h.Plus,null),onClick:o},v({id:(0,s.O)("Settings.list.actions.add")})):null})),l&&e.createElement(le,{onClose:o}),r&&e.createElement(W,{onClose:C,locale:r}),e.createElement(Q,{localeToDelete:i,onClose:p}))};F.defaultProps={onToggleCreateModal:void 0},F.propTypes={canUpdateLocale:c().bool.isRequired,canDeleteLocale:c().bool.isRequired,onToggleCreateModal:c().func,isCreating:c().bool.isRequired};var oe=F;const q=({canReadLocale:a,canCreateLocale:n,canDeleteLocale:o,canUpdateLocale:l})=>{const[i,d]=(0,e.useState)(!1),r=n?()=>d(u=>!u):void 0;return a?e.createElement(oe,{canUpdateLocale:l,canDeleteLocale:o,onToggleCreateModal:r,isCreating:i}):null};q.propTypes={canReadLocale:c().bool.isRequired,canCreateLocale:c().bool.isRequired,canUpdateLocale:c().bool.isRequired,canDeleteLocale:c().bool.isRequired};var se=q,ie=m(58347),ce=()=>{const{isLoading:a,allowedActions:{canRead:n,canUpdate:o,canCreate:l,canDelete:i}}=(0,g.useRBAC)(ie.Z);return a?null:e.createElement(se,{canReadLocale:n,canCreateLocale:l,canUpdateLocale:o,canDeleteLocale:i})}}}]);
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="mobile-web-app-capable" content="yes"/><title>Strapi Admin</title><script defer="defer" src="/admin/runtime~main.bc7de2d8.js"></script><script defer="defer" src="/admin/main.8009bfe8.js"></script></head><body><div style="min-height:100%" id="app"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="mobile-web-app-capable" content="yes"/><title>Strapi Admin</title><script defer="defer" src="/admin/runtime~main.684b5fed.js"></script><script defer="defer" src="/admin/main.64fe0c37.js"></script></head><body><div style="min-height:100%" id="app"></div></body></html>