@strapi/admin 5.0.0-beta.9 → 5.0.0-rc.0
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/LICENSE +18 -3
- package/dist/admin/{AdminSeatInfo-cqB8nHFZ.js → AdminSeatInfo-E8azTFQY.js} +5 -5
- package/dist/admin/AdminSeatInfo-E8azTFQY.js.map +1 -0
- package/dist/admin/{AdminSeatInfo-_UxgNKbX.mjs → AdminSeatInfo-Q_hUNC5B.mjs} +5 -5
- package/dist/admin/AdminSeatInfo-Q_hUNC5B.mjs.map +1 -0
- package/dist/admin/{ApplicationInfoPage-6PD2owY8.mjs → ApplicationInfoPage-dUIGrQGe.mjs} +153 -158
- package/dist/admin/ApplicationInfoPage-dUIGrQGe.mjs.map +1 -0
- package/dist/admin/{ApplicationInfoPage-S18loXTF.js → ApplicationInfoPage-g82dXg6q.js} +161 -166
- package/dist/admin/ApplicationInfoPage-g82dXg6q.js.map +1 -0
- package/dist/admin/{AuthResponse-Y4lblDuD.mjs → AuthResponse-J8A48xdo.mjs} +9 -5
- package/dist/admin/AuthResponse-J8A48xdo.mjs.map +1 -0
- package/dist/admin/{AuthResponse-EiDRhJY8.js → AuthResponse-KlTDmm2i.js} +10 -6
- package/dist/admin/AuthResponse-KlTDmm2i.js.map +1 -0
- package/dist/admin/{AuthenticatedLayout-gOaUXjO8.mjs → AuthenticatedLayout-Nvdzrzx5.mjs} +177 -166
- package/dist/admin/AuthenticatedLayout-Nvdzrzx5.mjs.map +1 -0
- package/dist/admin/{AuthenticatedLayout-MDNNJRPg.js → AuthenticatedLayout-zi65roOD.js} +192 -181
- package/dist/admin/AuthenticatedLayout-zi65roOD.js.map +1 -0
- package/dist/admin/CreateActionEE-Yfp4hs7a.mjs +49 -0
- package/dist/admin/CreateActionEE-Yfp4hs7a.mjs.map +1 -0
- package/dist/admin/CreateActionEE-uqyKLxwI.js +76 -0
- package/dist/admin/CreateActionEE-uqyKLxwI.js.map +1 -0
- package/dist/admin/{CreatePage-puzZjQXr.mjs → CreatePage--JuxyfiM.mjs} +13 -14
- package/dist/admin/CreatePage--JuxyfiM.mjs.map +1 -0
- package/dist/admin/{CreatePage-GD7KENsP.mjs → CreatePage-N7P4KHBw.mjs} +3 -3
- package/dist/admin/{CreatePage-GD7KENsP.mjs.map → CreatePage-N7P4KHBw.mjs.map} +1 -1
- package/dist/admin/{CreatePage-5V60DKB0.js → CreatePage-cmQo1lsI.js} +18 -19
- package/dist/admin/CreatePage-cmQo1lsI.js.map +1 -0
- package/dist/admin/{CreatePage-Z_y-A5xj.js → CreatePage-pdMfqmVQ.js} +5 -5
- package/dist/admin/{CreatePage-Z_y-A5xj.js.map → CreatePage-pdMfqmVQ.js.map} +1 -1
- package/dist/admin/{CreateView-jM_w7R83.mjs → CreateView-XmSKJfeA.mjs} +3 -3
- package/dist/admin/{CreateView-jM_w7R83.mjs.map → CreateView-XmSKJfeA.mjs.map} +1 -1
- package/dist/admin/CreateView-d40DvWop.js +17 -0
- package/dist/admin/{CreateView-5V271zBl.js.map → CreateView-d40DvWop.js.map} +1 -1
- package/dist/admin/CreateView-pnws3TX-.js +17 -0
- package/dist/admin/{CreateView-VYprogwB.js.map → CreateView-pnws3TX-.js.map} +1 -1
- package/dist/admin/{CreateView-EjqRVjU_.mjs → CreateView-yZaKlylD.mjs} +3 -3
- package/dist/admin/{CreateView-EjqRVjU_.mjs.map → CreateView-yZaKlylD.mjs.map} +1 -1
- package/dist/admin/{EditPage-WuJtih1X.js → EditPage--0bmE7_N.js} +96 -91
- package/dist/admin/EditPage--0bmE7_N.js.map +1 -0
- package/dist/admin/{EditPage-8_dXc9y1.mjs → EditPage-0LYEDOqM.mjs} +9 -9
- package/dist/admin/EditPage-0LYEDOqM.mjs.map +1 -0
- package/dist/admin/{EditPage-W_qlhF-2.mjs → EditPage-EnZY6R8C.mjs} +11 -11
- package/dist/admin/EditPage-EnZY6R8C.mjs.map +1 -0
- package/dist/admin/{EditPage-8fk5JEO7.mjs → EditPage-SEqJd8aL.mjs} +91 -86
- package/dist/admin/EditPage-SEqJd8aL.mjs.map +1 -0
- package/dist/admin/{EditPage-HsLjcfgK.js → EditPage-aTVcZqIw.js} +15 -15
- package/dist/admin/EditPage-aTVcZqIw.js.map +1 -0
- package/dist/admin/{EditPage-vRwS2OJZ.js → EditPage-lZSLQ_kW.js} +19 -19
- package/dist/admin/EditPage-lZSLQ_kW.js.map +1 -0
- package/dist/admin/{EditView-Cac025JW.mjs → EditView-Xnf-Y_i6.mjs} +10 -10
- package/dist/admin/EditView-Xnf-Y_i6.mjs.map +1 -0
- package/dist/admin/{EditView-lhhZAQtN.js → EditView-lT8-jopG.js} +19 -19
- package/dist/admin/EditView-lT8-jopG.js.map +1 -0
- package/dist/admin/{EditViewPage-f56oKqQ-.mjs → EditViewPage-Ol2GfMki.mjs} +23 -23
- package/dist/admin/EditViewPage-Ol2GfMki.mjs.map +1 -0
- package/dist/admin/{EditViewPage-Q7N1TLU9.js → EditViewPage-l54jnFq5.js} +32 -32
- package/dist/admin/EditViewPage-l54jnFq5.js.map +1 -0
- package/dist/admin/{EventsTable-y6XT7dVi.js → EventsTable-wSeeoOYt.js} +2 -2
- package/dist/admin/{EventsTable-y6XT7dVi.js.map → EventsTable-wSeeoOYt.js.map} +1 -1
- package/dist/admin/{EventsTable-duSraBTj.mjs → EventsTable-x8idMSyd.mjs} +2 -2
- package/dist/admin/{EventsTable-duSraBTj.mjs.map → EventsTable-x8idMSyd.mjs.map} +1 -1
- package/dist/admin/{HomePage-d4h0KEnw.mjs → HomePage-XGnQE7ny.mjs} +12 -12
- package/dist/admin/HomePage-XGnQE7ny.mjs.map +1 -0
- package/dist/admin/{HomePage-UTLFs-4n.mjs → HomePage-Zmtc9RWT.mjs} +3 -3
- package/dist/admin/{HomePage-UTLFs-4n.mjs.map → HomePage-Zmtc9RWT.mjs.map} +1 -1
- package/dist/admin/{HomePage-vTms2gld.js → HomePage-ivlZamVP.js} +3 -3
- package/dist/admin/{HomePage-vTms2gld.js.map → HomePage-ivlZamVP.js.map} +1 -1
- package/dist/admin/{HomePage-4Hk9puW_.js → HomePage-rO315cxr.js} +18 -18
- package/dist/admin/HomePage-rO315cxr.js.map +1 -0
- package/dist/admin/{InstalledPluginsPage-9ooKCsS7.js → InstalledPluginsPage-Jr5ITmO2.js} +10 -10
- package/dist/admin/{InstalledPluginsPage-9ooKCsS7.js.map → InstalledPluginsPage-Jr5ITmO2.js.map} +1 -1
- package/dist/admin/{InstalledPluginsPage-nCdAsAAu.mjs → InstalledPluginsPage-WaPhGz8o.mjs} +4 -4
- package/dist/admin/{InstalledPluginsPage-nCdAsAAu.mjs.map → InstalledPluginsPage-WaPhGz8o.mjs.map} +1 -1
- package/dist/admin/{Layout-Bmmqv9h6.js → Layout-oY1FywRQ.js} +26 -14
- package/dist/admin/Layout-oY1FywRQ.js.map +1 -0
- package/dist/admin/{Layout-Ax9QtxH1.mjs → Layout-zkpMXAoS.mjs} +22 -10
- package/dist/admin/Layout-zkpMXAoS.mjs.map +1 -0
- package/dist/admin/{ListPage-10_h7FUt.js → ListPage-1rd2okih.js} +50 -49
- package/dist/admin/ListPage-1rd2okih.js.map +1 -0
- package/dist/admin/{ListPage-gbCO5Otz.mjs → ListPage-6FZt3Rsr.mjs} +3 -3
- package/dist/admin/{ListPage-gbCO5Otz.mjs.map → ListPage-6FZt3Rsr.mjs.map} +1 -1
- package/dist/admin/{ListPage-EPIYY3Uf.mjs → ListPage-8mH-itGQ.mjs} +71 -35
- package/dist/admin/ListPage-8mH-itGQ.mjs.map +1 -0
- package/dist/admin/{ListPage-OE9xQffQ.mjs → ListPage-CwIQBV8p.mjs} +18 -23
- package/dist/admin/ListPage-CwIQBV8p.mjs.map +1 -0
- package/dist/admin/{ListPage-TWLqkRt6.js → ListPage-Hr65IOSg.js} +27 -32
- package/dist/admin/ListPage-Hr65IOSg.js.map +1 -0
- package/dist/admin/{ListPage-IgkmnCSY.js → ListPage-Lg5YOMva.js} +15 -22
- package/dist/admin/ListPage-Lg5YOMva.js.map +1 -0
- package/dist/admin/{ListPage-VGqEsiEA.mjs → ListPage-O5tDuG9A.mjs} +7 -14
- package/dist/admin/ListPage-O5tDuG9A.mjs.map +1 -0
- package/dist/admin/{ListPage-4nzagne8.js → ListPage-Z6tGG3Ab.js} +79 -43
- package/dist/admin/ListPage-Z6tGG3Ab.js.map +1 -0
- package/dist/admin/{ListPage-4n-Xb2aE.js → ListPage-e73kfoF7.js} +3 -3
- package/dist/admin/{ListPage-4n-Xb2aE.js.map → ListPage-e73kfoF7.js.map} +1 -1
- package/dist/admin/{ListPage-4kGSO2Ri.mjs → ListPage-ecQ9qHgD.mjs} +40 -39
- package/dist/admin/ListPage-ecQ9qHgD.mjs.map +1 -0
- package/dist/admin/{ListView-pT2a-fdi.js → ListView-5P4j7mTu.js} +13 -13
- package/dist/admin/{ListView-pT2a-fdi.js.map → ListView-5P4j7mTu.js.map} +1 -1
- package/dist/admin/{ListView-Zvs5X2St.mjs → ListView-el6fHHck.mjs} +4 -4
- package/dist/admin/{ListView-Zvs5X2St.mjs.map → ListView-el6fHHck.mjs.map} +1 -1
- package/dist/admin/{ListView-uHb_Hgib.js → ListView-qyoVbUIE.js} +13 -13
- package/dist/admin/{ListView-uHb_Hgib.js.map → ListView-qyoVbUIE.js.map} +1 -1
- package/dist/admin/{ListView-gKrpPLEM.mjs → ListView-z5iwLF2-.mjs} +4 -4
- package/dist/admin/{ListView-gKrpPLEM.mjs.map → ListView-z5iwLF2-.mjs.map} +1 -1
- package/dist/admin/{Login-EcSP4AMG.js → Login-KZbFZfrN.js} +5 -5
- package/dist/admin/{Login-EcSP4AMG.js.map → Login-KZbFZfrN.js.map} +1 -1
- package/dist/admin/{Login-w4BUlNaE.mjs → Login-N5NSuTVF.mjs} +4 -4
- package/dist/admin/{Login-w4BUlNaE.mjs.map → Login-N5NSuTVF.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-b9NK8XXY.mjs → MagicLinkEE-XXdnsS6S.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-b9NK8XXY.mjs.map → MagicLinkEE-XXdnsS6S.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-qT5OE9Pm.js → MagicLinkEE-sKqh4jBd.js} +3 -3
- package/dist/admin/{MagicLinkEE-qT5OE9Pm.js.map → MagicLinkEE-sKqh4jBd.js.map} +1 -1
- package/dist/admin/{MarketplacePage-MVRrpUSk.js → MarketplacePage-_xLLmtgL.js} +123 -150
- package/dist/admin/MarketplacePage-_xLLmtgL.js.map +1 -0
- package/dist/admin/{MarketplacePage-oGhZBKgX.mjs → MarketplacePage-tOb2ZzOl.mjs} +111 -138
- package/dist/admin/MarketplacePage-tOb2ZzOl.mjs.map +1 -0
- package/dist/admin/{Ornaments-h_LCCr5P.mjs → Ornaments-jAwgQeK0.mjs} +2 -2
- package/dist/admin/{Ornaments-h_LCCr5P.mjs.map → Ornaments-jAwgQeK0.mjs.map} +1 -1
- package/dist/admin/{Ornaments-UTssGzOw.js → Ornaments-sFPQPOtb.js} +2 -2
- package/dist/admin/{Ornaments-UTssGzOw.js.map → Ornaments-sFPQPOtb.js.map} +1 -1
- package/dist/admin/{Permissions-kNVZVLmu.js → Permissions-SuZE5tW3.js} +265 -277
- package/dist/admin/Permissions-SuZE5tW3.js.map +1 -0
- package/dist/admin/{Permissions-lf6dNG4S.mjs → Permissions-oxdduJgE.mjs} +256 -269
- package/dist/admin/Permissions-oxdduJgE.mjs.map +1 -0
- package/dist/admin/{PrivateRoute-1hyhztQM.mjs → PrivateRoute-4oRTB_tX.mjs} +2 -2
- package/dist/admin/{PrivateRoute-1hyhztQM.mjs.map → PrivateRoute-4oRTB_tX.mjs.map} +1 -1
- package/dist/admin/{PrivateRoute-wBE5vMxe.js → PrivateRoute-ndqg7K6H.js} +3 -3
- package/dist/admin/{PrivateRoute-wBE5vMxe.js.map → PrivateRoute-ndqg7K6H.js.map} +1 -1
- package/dist/admin/{ProfilePage-ZlpnTKEF.js → ProfilePage-CcfGiB1f.js} +23 -23
- package/dist/admin/ProfilePage-CcfGiB1f.js.map +1 -0
- package/dist/admin/{ProfilePage-zk-Py9wt.mjs → ProfilePage-ktCLvQFd.mjs} +10 -10
- package/dist/admin/ProfilePage-ktCLvQFd.mjs.map +1 -0
- package/dist/admin/{PurchaseAuditLogs-iOYsTJA-.mjs → PurchaseAuditLogs-FFyc1iqD.mjs} +2 -2
- package/dist/admin/{PurchaseAuditLogs-iOYsTJA-.mjs.map → PurchaseAuditLogs-FFyc1iqD.mjs.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-9reb0oGz.js → PurchaseAuditLogs-vw0PH1V9.js} +2 -2
- package/dist/admin/{PurchaseAuditLogs-9reb0oGz.js.map → PurchaseAuditLogs-vw0PH1V9.js.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-S3xLiiv7.js → PurchaseSingleSignOn-6LucYXfi.js} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-S3xLiiv7.js.map → PurchaseSingleSignOn-6LucYXfi.js.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-X629iA7K.mjs → PurchaseSingleSignOn-xU0fuX_i.mjs} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-X629iA7K.mjs.map → PurchaseSingleSignOn-xU0fuX_i.mjs.map} +1 -1
- package/dist/admin/{SSOProviders-AirHFyBl.js → SSOProviders-QBcyB9VI.js} +5 -5
- package/dist/admin/SSOProviders-QBcyB9VI.js.map +1 -0
- package/dist/admin/{SSOProviders-t8D-v8As.mjs → SSOProviders-nMmBLr8g.mjs} +6 -6
- package/dist/admin/SSOProviders-nMmBLr8g.mjs.map +1 -0
- package/dist/admin/{SelectRoles-hyiyvsCG.js → SelectRoles-9mmcvACr.js} +5 -5
- package/dist/admin/{SelectRoles-hyiyvsCG.js.map → SelectRoles-9mmcvACr.js.map} +1 -1
- package/dist/admin/{SelectRoles-yM-LT458.mjs → SelectRoles-N6X582ND.mjs} +4 -4
- package/dist/admin/{SelectRoles-yM-LT458.mjs.map → SelectRoles-N6X582ND.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-wPZ1tqEk.mjs → SingleSignOnPage-4wlUp8RB.mjs} +7 -7
- package/dist/admin/SingleSignOnPage-4wlUp8RB.mjs.map +1 -0
- package/dist/admin/{SingleSignOnPage-3Mfu4dgn.js → SingleSignOnPage-UAjYb3Du.js} +17 -17
- package/dist/admin/SingleSignOnPage-UAjYb3Du.js.map +1 -0
- package/dist/admin/{Table-N9PZc6xL.js → Table-0h7ykSft.js} +11 -23
- package/dist/admin/Table-0h7ykSft.js.map +1 -0
- package/dist/admin/{Table-OcYvBab7.mjs → Table-xRelygoM.mjs} +10 -22
- package/dist/admin/Table-xRelygoM.mjs.map +1 -0
- package/dist/admin/{rbac-5b9ylhpa.js → Theme-7W0we6BI.js} +147 -80
- package/dist/admin/Theme-7W0we6BI.js.map +1 -0
- package/dist/admin/{rbac-oJEkQdXG.mjs → Theme-PrUuuGtN.mjs} +140 -81
- package/dist/admin/Theme-PrUuuGtN.mjs.map +1 -0
- package/dist/admin/{TokenTypeSelect-dWn05yGP.js → TokenTypeSelect-hdjIIxHs.js} +10 -12
- package/dist/admin/TokenTypeSelect-hdjIIxHs.js.map +1 -0
- package/dist/admin/{TokenTypeSelect-v6IYPaBF.mjs → TokenTypeSelect-zY7AWGQx.mjs} +7 -9
- package/dist/admin/TokenTypeSelect-zY7AWGQx.mjs.map +1 -0
- package/dist/admin/{UseCasePage-ijq-Bur_.js → UseCasePage-qujErAl0.js} +6 -6
- package/dist/admin/{UseCasePage-ijq-Bur_.js.map → UseCasePage-qujErAl0.js.map} +1 -1
- package/dist/admin/{UseCasePage-P4AFdcDQ.mjs → UseCasePage-zJ0ShP4K.mjs} +4 -4
- package/dist/admin/{UseCasePage-P4AFdcDQ.mjs.map → UseCasePage-zJ0ShP4K.mjs.map} +1 -1
- package/dist/admin/{constants-sfZ2gFzJ.js → constants-4XMdB2M2.js} +5 -5
- package/dist/admin/{constants-sfZ2gFzJ.js.map → constants-4XMdB2M2.js.map} +1 -1
- package/dist/admin/{constants-Z-zrJ7Zs.mjs → constants-cKzCiJ5m.mjs} +4 -4
- package/dist/admin/{constants-Z-zrJ7Zs.mjs.map → constants-cKzCiJ5m.mjs.map} +1 -1
- package/dist/admin/{en-K35WIWVM.mjs → en-0Ld-ipyI.mjs} +3 -2
- package/dist/admin/{en-K35WIWVM.mjs.map → en-0Ld-ipyI.mjs.map} +1 -1
- package/dist/admin/{en-G-ukrF2h.js → en-TbnMBjZf.js} +3 -2
- package/dist/admin/{en-G-ukrF2h.js.map → en-TbnMBjZf.js.map} +1 -1
- package/dist/admin/{index-EQL2s09p.mjs → index-8-k5RCnK.mjs} +1574 -1486
- package/dist/admin/index-8-k5RCnK.mjs.map +1 -0
- package/dist/admin/{index-duYn5r8_.js → index-r7BCTgkx.js} +1510 -1425
- package/dist/admin/index-r7BCTgkx.js.map +1 -0
- package/dist/admin/index.js +12 -12
- package/dist/admin/index.mjs +2 -2
- package/dist/admin/{selectors-Ilww6FA-.mjs → selectors-ZpHhvPK4.mjs} +2 -2
- package/dist/admin/{selectors-Ilww6FA-.mjs.map → selectors-ZpHhvPK4.mjs.map} +1 -1
- package/dist/admin/selectors-zQKcCNuz.js +8 -0
- package/dist/admin/{selectors-NDEu6dJa.js.map → selectors-zQKcCNuz.js.map} +1 -1
- package/dist/admin/src/StrapiApp.d.ts +17 -45
- package/dist/admin/src/components/ConfirmDialog.d.ts +18 -8
- package/dist/admin/src/components/Filters.d.ts +4 -8
- package/dist/admin/src/components/Form.d.ts +6 -1
- package/dist/admin/src/components/FormInputs/Checkbox.d.ts +1 -1
- package/dist/admin/src/components/FormInputs/types.d.ts +1 -1
- package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +1 -1
- package/dist/admin/src/components/Layouts/Layout.d.ts +1 -1
- package/dist/admin/src/components/MainNav/NavUser.d.ts +1 -1
- package/dist/admin/src/components/Table.d.ts +1 -1
- package/dist/admin/src/constants/filters.d.ts +2 -1
- package/dist/admin/src/constants.d.ts +3 -3
- package/dist/admin/src/core/apis/router.d.ts +73 -0
- package/dist/admin/src/features/Auth.d.ts +2 -2
- package/dist/admin/src/features/StrapiApp.d.ts +2 -1
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +2 -2
- package/dist/admin/src/index.d.ts +2 -1
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +0 -6
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +4 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +2 -4
- package/dist/admin/src/pages/Settings/pages/Users/components/CreateActionCE.d.ts +2 -1
- package/dist/admin/src/reducer.d.ts +7 -2
- package/dist/admin/src/render.d.ts +1 -0
- package/dist/admin/src/router.d.ts +7 -0
- package/dist/admin/src/services/admin.d.ts +5 -5
- package/dist/admin/test.js +17 -16
- package/dist/admin/test.js.map +1 -1
- package/dist/admin/test.mjs +10 -9
- package/dist/admin/test.mjs.map +1 -1
- package/dist/admin/tests/store.d.ts +2 -1
- package/dist/admin/tests/utils.d.ts +2 -1
- package/dist/admin/{useAdminRoles-2VDDweuC.js → useAdminRoles-L_erbna_.js} +2 -2
- package/dist/admin/{useAdminRoles-2VDDweuC.js.map → useAdminRoles-L_erbna_.js.map} +1 -1
- package/dist/admin/{useAdminRoles-cq3ZckdQ.mjs → useAdminRoles-SYx-GXvp.mjs} +2 -2
- package/dist/admin/{useAdminRoles-cq3ZckdQ.mjs.map → useAdminRoles-SYx-GXvp.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-1Xo24v-C.mjs → useLicenseLimitNotification-PaR7jmqd.mjs} +2 -2
- package/dist/admin/{useLicenseLimitNotification-1Xo24v-C.mjs.map → useLicenseLimitNotification-PaR7jmqd.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-9iq0TFuF.js → useLicenseLimitNotification-g1vq6nzk.js} +3 -3
- package/dist/admin/{useLicenseLimitNotification-9iq0TFuF.js.map → useLicenseLimitNotification-g1vq6nzk.js.map} +1 -1
- package/dist/admin/{useWebhooks-opYGugiT.js → useWebhooks-0RUEkKAV.js} +4 -4
- package/dist/admin/{useWebhooks-opYGugiT.js.map → useWebhooks-0RUEkKAV.js.map} +1 -1
- package/dist/admin/{useWebhooks-bgdpL7W6.mjs → useWebhooks-7thg-d57.mjs} +4 -4
- package/dist/admin/{useWebhooks-bgdpL7W6.mjs.map → useWebhooks-7thg-d57.mjs.map} +1 -1
- package/dist/admin/{validation-qUTUIssJ.mjs → validation-OmnQSHJ4.mjs} +2 -2
- package/dist/admin/{validation-qUTUIssJ.mjs.map → validation-OmnQSHJ4.mjs.map} +1 -1
- package/dist/admin/{validation-6PUPWFkz.js → validation-m5K7EGQS.js} +2 -2
- package/dist/admin/{validation-6PUPWFkz.js.map → validation-m5K7EGQS.js.map} +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.d.ts +2 -1
- package/dist/package.json.d.ts +13 -10
- package/dist/server/index.js +20 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +18 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
- package/package.json +14 -11
- package/dist/admin/AdminSeatInfo-_UxgNKbX.mjs.map +0 -1
- package/dist/admin/AdminSeatInfo-cqB8nHFZ.js.map +0 -1
- package/dist/admin/ApplicationInfoPage-6PD2owY8.mjs.map +0 -1
- package/dist/admin/ApplicationInfoPage-S18loXTF.js.map +0 -1
- package/dist/admin/AuthResponse-EiDRhJY8.js.map +0 -1
- package/dist/admin/AuthResponse-Y4lblDuD.mjs.map +0 -1
- package/dist/admin/AuthenticatedLayout-MDNNJRPg.js.map +0 -1
- package/dist/admin/AuthenticatedLayout-gOaUXjO8.mjs.map +0 -1
- package/dist/admin/CreateActionEE-dGj-JbWV.js +0 -53
- package/dist/admin/CreateActionEE-dGj-JbWV.js.map +0 -1
- package/dist/admin/CreateActionEE-uBGAkLbn.mjs +0 -45
- package/dist/admin/CreateActionEE-uBGAkLbn.mjs.map +0 -1
- package/dist/admin/CreatePage-5V60DKB0.js.map +0 -1
- package/dist/admin/CreatePage-puzZjQXr.mjs.map +0 -1
- package/dist/admin/CreateView-5V271zBl.js +0 -17
- package/dist/admin/CreateView-VYprogwB.js +0 -17
- package/dist/admin/EditPage-8_dXc9y1.mjs.map +0 -1
- package/dist/admin/EditPage-8fk5JEO7.mjs.map +0 -1
- package/dist/admin/EditPage-HsLjcfgK.js.map +0 -1
- package/dist/admin/EditPage-W_qlhF-2.mjs.map +0 -1
- package/dist/admin/EditPage-WuJtih1X.js.map +0 -1
- package/dist/admin/EditPage-vRwS2OJZ.js.map +0 -1
- package/dist/admin/EditView-Cac025JW.mjs.map +0 -1
- package/dist/admin/EditView-lhhZAQtN.js.map +0 -1
- package/dist/admin/EditViewPage-Q7N1TLU9.js.map +0 -1
- package/dist/admin/EditViewPage-f56oKqQ-.mjs.map +0 -1
- package/dist/admin/HomePage-4Hk9puW_.js.map +0 -1
- package/dist/admin/HomePage-d4h0KEnw.mjs.map +0 -1
- package/dist/admin/Layout-Ax9QtxH1.mjs.map +0 -1
- package/dist/admin/Layout-Bmmqv9h6.js.map +0 -1
- package/dist/admin/ListPage-10_h7FUt.js.map +0 -1
- package/dist/admin/ListPage-4kGSO2Ri.mjs.map +0 -1
- package/dist/admin/ListPage-4nzagne8.js.map +0 -1
- package/dist/admin/ListPage-EPIYY3Uf.mjs.map +0 -1
- package/dist/admin/ListPage-IgkmnCSY.js.map +0 -1
- package/dist/admin/ListPage-OE9xQffQ.mjs.map +0 -1
- package/dist/admin/ListPage-TWLqkRt6.js.map +0 -1
- package/dist/admin/ListPage-VGqEsiEA.mjs.map +0 -1
- package/dist/admin/MarketplacePage-MVRrpUSk.js.map +0 -1
- package/dist/admin/MarketplacePage-oGhZBKgX.mjs.map +0 -1
- package/dist/admin/Permissions-kNVZVLmu.js.map +0 -1
- package/dist/admin/Permissions-lf6dNG4S.mjs.map +0 -1
- package/dist/admin/ProfilePage-ZlpnTKEF.js.map +0 -1
- package/dist/admin/ProfilePage-zk-Py9wt.mjs.map +0 -1
- package/dist/admin/SSOProviders-AirHFyBl.js.map +0 -1
- package/dist/admin/SSOProviders-t8D-v8As.mjs.map +0 -1
- package/dist/admin/SingleSignOnPage-3Mfu4dgn.js.map +0 -1
- package/dist/admin/SingleSignOnPage-wPZ1tqEk.mjs.map +0 -1
- package/dist/admin/Table-N9PZc6xL.js.map +0 -1
- package/dist/admin/Table-OcYvBab7.mjs.map +0 -1
- package/dist/admin/TokenTypeSelect-dWn05yGP.js.map +0 -1
- package/dist/admin/TokenTypeSelect-v6IYPaBF.mjs.map +0 -1
- package/dist/admin/index-EQL2s09p.mjs.map +0 -1
- package/dist/admin/index-duYn5r8_.js.map +0 -1
- package/dist/admin/rbac-5b9ylhpa.js.map +0 -1
- package/dist/admin/rbac-oJEkQdXG.mjs.map +0 -1
- package/dist/admin/selectors-NDEu6dJa.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationInfoPage-dUIGrQGe.mjs","sources":["../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n onOpenChange={(state) => {\n if (state === false) {\n handleClose();\n }\n }}\n >\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <Modal.Trigger>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n >\n <Plus />\n </IconButton>\n </Modal.Trigger>\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n >\n <ArrowClockwise />\n </IconButton>\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n tag=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Modal.Title>\n </Modal.Header>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </Modal.Content>\n </LogoInputContextProvider>\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Box>\n <Tabs.Content value=\"computer\">\n <ComputerForm />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <URLForm />\n </Tabs.Content>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root error={error} name=\"logo-url\">\n <Field.Label>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={logoUrl} />\n <Field.Error />\n </Field.Root>\n </Box>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => {\n setDragOver(true);\n };\n const handleDragLeave = () => {\n setDragOver(false);\n };\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <PlusCircle fill=\"primary600\" width=\"6rem\" height=\"6rem\" aria-hidden />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" tag=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <Box position=\"relative\">\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n </Box>\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <Field.Error />\n </Flex>\n </Field.Root>\n </Box>\n </form>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\nconst FileInput = styled(Field.Input)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Modal.Body>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`18rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Modal.Close>\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} s={12}>\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,10 @@ const designSystem = require('@strapi/design-system');
|
|
|
8
8
|
const icons = require('@strapi/icons');
|
|
9
9
|
const reactIntl = require('react-intl');
|
|
10
10
|
const reactRedux = require('react-redux');
|
|
11
|
-
const index = require('./index-
|
|
12
|
-
const
|
|
11
|
+
const index = require('./index-r7BCTgkx.js');
|
|
12
|
+
const Theme = require('./Theme-7W0we6BI.js');
|
|
13
13
|
const useEnterprise = require('./useEnterprise-DUs6BYlP.js');
|
|
14
|
-
const selectors = require('./selectors-
|
|
14
|
+
const selectors = require('./selectors-zQKcCNuz.js');
|
|
15
15
|
const reactContext = require('@radix-ui/react-context');
|
|
16
16
|
const axios = require('axios');
|
|
17
17
|
const styledComponents = require('styled-components');
|
|
@@ -110,124 +110,129 @@ const LogoInput = ({
|
|
|
110
110
|
setLocalImage(void 0);
|
|
111
111
|
setCurrentStep(void 0);
|
|
112
112
|
};
|
|
113
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
114
|
-
|
|
113
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
114
|
+
designSystem.Modal.Root,
|
|
115
115
|
{
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
},
|
|
133
|
-
secondaryLabel: customLogo?.name || "logo.png",
|
|
134
|
-
actions: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.CarouselActions, { children: [
|
|
135
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
136
|
-
designSystem.IconButton,
|
|
137
|
-
{
|
|
138
|
-
disabled: !canUpdate,
|
|
139
|
-
onClick: () => setCurrentStep("upload"),
|
|
140
|
-
label: formatMessage({
|
|
141
|
-
id: "Settings.application.customization.carousel.change-action",
|
|
142
|
-
defaultMessage: "Change logo"
|
|
143
|
-
}),
|
|
144
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {})
|
|
145
|
-
}
|
|
146
|
-
),
|
|
147
|
-
customLogo?.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
-
designSystem.IconButton,
|
|
149
|
-
{
|
|
150
|
-
disabled: !canUpdate,
|
|
151
|
-
onClick: () => onChangeLogo(null),
|
|
152
|
-
label: formatMessage({
|
|
153
|
-
id: "Settings.application.customization.carousel.reset-action",
|
|
154
|
-
defaultMessage: "Reset logo"
|
|
155
|
-
}),
|
|
156
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowClockwise, {})
|
|
157
|
-
}
|
|
158
|
-
)
|
|
159
|
-
] }),
|
|
160
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
161
|
-
designSystem.CarouselSlide,
|
|
116
|
+
open: !!currentStep,
|
|
117
|
+
onOpenChange: (state) => {
|
|
118
|
+
if (state === false) {
|
|
119
|
+
handleClose();
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
123
|
+
LogoInputContextProvider,
|
|
124
|
+
{
|
|
125
|
+
setLocalImage,
|
|
126
|
+
localImage,
|
|
127
|
+
goToStep: setCurrentStep,
|
|
128
|
+
onClose: handleClose,
|
|
129
|
+
children: [
|
|
130
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
+
designSystem.CarouselInput,
|
|
162
132
|
{
|
|
163
|
-
label
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
133
|
+
label,
|
|
134
|
+
selectedSlide: 0,
|
|
135
|
+
hint,
|
|
136
|
+
previousLabel: "",
|
|
137
|
+
nextLabel: "",
|
|
138
|
+
onNext: () => {
|
|
139
|
+
},
|
|
140
|
+
onPrevious: () => {
|
|
141
|
+
},
|
|
142
|
+
secondaryLabel: customLogo?.name || "logo.png",
|
|
143
|
+
actions: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.CarouselActions, { children: [
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
+
designSystem.IconButton,
|
|
146
|
+
{
|
|
147
|
+
disabled: !canUpdate,
|
|
148
|
+
onClick: () => setCurrentStep("upload"),
|
|
149
|
+
label: formatMessage({
|
|
150
|
+
id: "Settings.application.customization.carousel.change-action",
|
|
151
|
+
defaultMessage: "Change logo"
|
|
152
|
+
}),
|
|
153
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {})
|
|
154
|
+
}
|
|
155
|
+
) }),
|
|
156
|
+
customLogo?.url && /* @__PURE__ */ jsxRuntime.jsx(
|
|
157
|
+
designSystem.IconButton,
|
|
158
|
+
{
|
|
159
|
+
disabled: !canUpdate,
|
|
160
|
+
onClick: () => onChangeLogo(null),
|
|
161
|
+
label: formatMessage({
|
|
162
|
+
id: "Settings.application.customization.carousel.reset-action",
|
|
163
|
+
defaultMessage: "Reset logo"
|
|
164
|
+
}),
|
|
165
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowClockwise, {})
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
] }),
|
|
167
169
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
-
designSystem.
|
|
170
|
+
designSystem.CarouselSlide,
|
|
169
171
|
{
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
172
|
+
label: formatMessage({
|
|
173
|
+
id: "Settings.application.customization.carousel-slide.label",
|
|
174
|
+
defaultMessage: "Logo slide"
|
|
175
|
+
}),
|
|
176
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
designSystem.Box,
|
|
178
|
+
{
|
|
179
|
+
maxHeight: "40%",
|
|
180
|
+
maxWidth: "40%",
|
|
181
|
+
tag: "img",
|
|
182
|
+
src: customLogo?.url || defaultLogo,
|
|
183
|
+
alt: formatMessage({
|
|
184
|
+
id: "Settings.application.customization.carousel.title",
|
|
185
|
+
defaultMessage: "Logo"
|
|
186
|
+
})
|
|
187
|
+
}
|
|
188
|
+
)
|
|
178
189
|
}
|
|
179
190
|
)
|
|
180
191
|
}
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
192
|
+
),
|
|
193
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
|
|
194
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: formatMessage(
|
|
195
|
+
currentStep === "upload" ? {
|
|
196
|
+
id: "Settings.application.customization.modal.upload",
|
|
197
|
+
defaultMessage: "Upload logo"
|
|
198
|
+
} : {
|
|
199
|
+
id: "Settings.application.customization.modal.pending",
|
|
200
|
+
defaultMessage: "Pending logo"
|
|
201
|
+
}
|
|
202
|
+
) }) }),
|
|
203
|
+
currentStep === "upload" ? /* @__PURE__ */ jsxRuntime.jsx(AddLogoDialog, {}) : /* @__PURE__ */ jsxRuntime.jsx(PendingLogoDialog, { onChangeLogo })
|
|
204
|
+
] })
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
)
|
|
197
208
|
}
|
|
198
209
|
);
|
|
199
210
|
};
|
|
200
211
|
const AddLogoDialog = () => {
|
|
201
212
|
const { formatMessage } = reactIntl.useIntl();
|
|
202
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
203
|
-
designSystem.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(ComputerForm, {}) }),
|
|
226
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TabPanel, { children: /* @__PURE__ */ jsxRuntime.jsx(URLForm, {}) })
|
|
227
|
-
] })
|
|
228
|
-
]
|
|
229
|
-
}
|
|
230
|
-
);
|
|
213
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tabs.Root, { variant: "simple", defaultValue: "computer", children: [
|
|
214
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 8, paddingRight: 8, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
215
|
+
designSystem.Tabs.List,
|
|
216
|
+
{
|
|
217
|
+
"aria-label": formatMessage({
|
|
218
|
+
id: "Settings.application.customization.modal.tab.label",
|
|
219
|
+
defaultMessage: "How do you want to upload your assets?"
|
|
220
|
+
}),
|
|
221
|
+
children: [
|
|
222
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "computer", children: formatMessage({
|
|
223
|
+
id: "Settings.application.customization.modal.upload.from-computer",
|
|
224
|
+
defaultMessage: "From computer"
|
|
225
|
+
}) }),
|
|
226
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Trigger, { value: "url", children: formatMessage({
|
|
227
|
+
id: "Settings.application.customization.modal.upload.from-url",
|
|
228
|
+
defaultMessage: "From url"
|
|
229
|
+
}) })
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
) }),
|
|
233
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "computer", children: /* @__PURE__ */ jsxRuntime.jsx(ComputerForm, {}) }),
|
|
234
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Tabs.Content, { value: "url", children: /* @__PURE__ */ jsxRuntime.jsx(URLForm, {}) })
|
|
235
|
+
] });
|
|
231
236
|
};
|
|
232
237
|
const URLForm = () => {
|
|
233
238
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -276,16 +281,13 @@ const URLForm = () => {
|
|
|
276
281
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.TextInput, { onChange: handleChange, value: logoUrl }),
|
|
277
282
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
278
283
|
] }) }),
|
|
279
|
-
/* @__PURE__ */ jsxRuntime.
|
|
280
|
-
designSystem.
|
|
281
|
-
{
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}) })
|
|
287
|
-
}
|
|
288
|
-
)
|
|
284
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
|
285
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
|
|
286
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", children: formatMessage({
|
|
287
|
+
id: "Settings.application.customization.modal.upload.next",
|
|
288
|
+
defaultMessage: "Next"
|
|
289
|
+
}) })
|
|
290
|
+
] })
|
|
289
291
|
] });
|
|
290
292
|
};
|
|
291
293
|
const ComputerForm = () => {
|
|
@@ -295,8 +297,12 @@ const ComputerForm = () => {
|
|
|
295
297
|
const inputRef = React__namespace.useRef(null);
|
|
296
298
|
const id = React__namespace.useId();
|
|
297
299
|
const { setLocalImage, goToStep, onClose } = useLogoInputContext("ComputerForm");
|
|
298
|
-
const handleDragEnter = () =>
|
|
299
|
-
|
|
300
|
+
const handleDragEnter = () => {
|
|
301
|
+
setDragOver(true);
|
|
302
|
+
};
|
|
303
|
+
const handleDragLeave = () => {
|
|
304
|
+
setDragOver(false);
|
|
305
|
+
};
|
|
300
306
|
const handleClick = (e) => {
|
|
301
307
|
e.preventDefault();
|
|
302
308
|
inputRef.current.click();
|
|
@@ -343,7 +349,7 @@ const ComputerForm = () => {
|
|
|
343
349
|
id: "Settings.application.customization.modal.upload.drag-drop",
|
|
344
350
|
defaultMessage: "Drag and Drop here or"
|
|
345
351
|
}) }) }),
|
|
346
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
352
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { position: "relative", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
347
353
|
FileInput,
|
|
348
354
|
{
|
|
349
355
|
accept: ACCEPTED_FORMAT.join(", "),
|
|
@@ -354,7 +360,7 @@ const ComputerForm = () => {
|
|
|
354
360
|
ref: inputRef,
|
|
355
361
|
id
|
|
356
362
|
}
|
|
357
|
-
),
|
|
363
|
+
) }),
|
|
358
364
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "button", onClick: handleClick, children: formatMessage({
|
|
359
365
|
id: "Settings.application.customization.modal.upload.cta.browse",
|
|
360
366
|
defaultMessage: "Browse files"
|
|
@@ -371,15 +377,7 @@ const ComputerForm = () => {
|
|
|
371
377
|
),
|
|
372
378
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
373
379
|
] }) }) }) }),
|
|
374
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
375
|
-
designSystem.ModalFooter,
|
|
376
|
-
{
|
|
377
|
-
startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
|
|
378
|
-
id: "Settings.application.customization.modal.cancel",
|
|
379
|
-
defaultMessage: "Cancel"
|
|
380
|
-
}) })
|
|
381
|
-
}
|
|
382
|
-
)
|
|
380
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }) })
|
|
383
381
|
] });
|
|
384
382
|
};
|
|
385
383
|
const FileInput = styledComponents.styled(designSystem.Field.Input)`
|
|
@@ -405,7 +403,7 @@ const PendingLogoDialog = ({ onChangeLogo }) => {
|
|
|
405
403
|
onClose();
|
|
406
404
|
};
|
|
407
405
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
408
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: [
|
|
406
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: [
|
|
409
407
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", paddingBottom: 6, children: [
|
|
410
408
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", children: [
|
|
411
409
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", fontWeight: "bold", children: formatMessage({
|
|
@@ -423,20 +421,17 @@ const PendingLogoDialog = ({ onChangeLogo }) => {
|
|
|
423
421
|
}) })
|
|
424
422
|
] }),
|
|
425
423
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { maxWidth: `18rem`, children: localImage?.url ? /* @__PURE__ */ jsxRuntime.jsx(ImageCardAsset, { asset: localImage }) : null })
|
|
426
|
-
] }),
|
|
427
|
-
/* @__PURE__ */ jsxRuntime.
|
|
428
|
-
designSystem.
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
}) })
|
|
438
|
-
}
|
|
439
|
-
)
|
|
424
|
+
] }) }),
|
|
425
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
|
426
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
|
|
427
|
+
id: "Settings.application.customization.modal.cancel",
|
|
428
|
+
defaultMessage: "Cancel"
|
|
429
|
+
}) }) }),
|
|
430
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleUpload, children: formatMessage({
|
|
431
|
+
id: "Settings.application.customization.modal.pending.upload",
|
|
432
|
+
defaultMessage: "Upload logo"
|
|
433
|
+
}) })
|
|
434
|
+
] })
|
|
440
435
|
] });
|
|
441
436
|
};
|
|
442
437
|
const ImageCardAsset = ({ asset }) => {
|
|
@@ -458,26 +453,26 @@ const ImageCardAsset = ({ asset }) => {
|
|
|
458
453
|
|
|
459
454
|
const AdminSeatInfoCE = () => null;
|
|
460
455
|
const ApplicationInfoPage = () => {
|
|
461
|
-
const { trackUsage } =
|
|
456
|
+
const { trackUsage } = Theme.useTracking();
|
|
462
457
|
const { formatMessage } = reactIntl.useIntl();
|
|
463
|
-
const { logos: serverLogos, updateProjectSettings } =
|
|
458
|
+
const { logos: serverLogos, updateProjectSettings } = Theme.useConfiguration("ApplicationInfoPage");
|
|
464
459
|
const [logos, setLogos] = React__namespace.useState({ menu: serverLogos.menu, auth: serverLogos.auth });
|
|
465
460
|
const { settings } = reactRedux.useSelector(selectors.selectAdminPermissions);
|
|
466
|
-
const communityEdition =
|
|
467
|
-
const latestStrapiReleaseTag =
|
|
461
|
+
const communityEdition = Theme.useAppInfo("ApplicationInfoPage", (state) => state.communityEdition);
|
|
462
|
+
const latestStrapiReleaseTag = Theme.useAppInfo(
|
|
468
463
|
"ApplicationInfoPage",
|
|
469
464
|
(state) => state.latestStrapiReleaseTag
|
|
470
465
|
);
|
|
471
|
-
const nodeVersion =
|
|
472
|
-
const shouldUpdateStrapi =
|
|
473
|
-
const strapiVersion =
|
|
466
|
+
const nodeVersion = Theme.useAppInfo("ApplicationInfoPage", (state) => state.nodeVersion);
|
|
467
|
+
const shouldUpdateStrapi = Theme.useAppInfo("ApplicationInfoPage", (state) => state.shouldUpdateStrapi);
|
|
468
|
+
const strapiVersion = Theme.useAppInfo("ApplicationInfoPage", (state) => state.strapiVersion);
|
|
474
469
|
const AdminSeatInfo = useEnterprise.useEnterprise(
|
|
475
470
|
AdminSeatInfoCE,
|
|
476
|
-
async () => (await Promise.resolve().then(() => require('./AdminSeatInfo-
|
|
471
|
+
async () => (await Promise.resolve().then(() => require('./AdminSeatInfo-E8azTFQY.js'))).AdminSeatInfoEE
|
|
477
472
|
);
|
|
478
473
|
const {
|
|
479
474
|
allowedActions: { canRead, canUpdate }
|
|
480
|
-
} =
|
|
475
|
+
} = Theme.useRBAC(settings ? settings["project-settings"] : {});
|
|
481
476
|
const handleSubmit = (e) => {
|
|
482
477
|
e.preventDefault();
|
|
483
478
|
updateProjectSettings({
|
|
@@ -510,7 +505,7 @@ const ApplicationInfoPage = () => {
|
|
|
510
505
|
}
|
|
511
506
|
const isSaveDisabled = logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;
|
|
512
507
|
return /* @__PURE__ */ jsxRuntime.jsxs(index.Layouts.Root, { children: [
|
|
513
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
508
|
+
/* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Title, { children: formatMessage(
|
|
514
509
|
{ id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
|
|
515
510
|
{
|
|
516
511
|
name: formatMessage({
|
|
@@ -519,7 +514,7 @@ const ApplicationInfoPage = () => {
|
|
|
519
514
|
})
|
|
520
515
|
}
|
|
521
516
|
) }),
|
|
522
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
517
|
+
/* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Main, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
|
|
523
518
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
524
519
|
index.Layouts.Header,
|
|
525
520
|
{
|
|
@@ -553,8 +548,8 @@ const ApplicationInfoPage = () => {
|
|
|
553
548
|
id: "global.details",
|
|
554
549
|
defaultMessage: "Details"
|
|
555
550
|
}) }),
|
|
556
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 5, tag: "dl", children: [
|
|
557
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.
|
|
551
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { gap: 5, tag: "dl", children: [
|
|
552
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Item, { col: 6, s: 12, children: [
|
|
558
553
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
|
|
559
554
|
id: "Settings.application.strapiVersion",
|
|
560
555
|
defaultMessage: "strapi version"
|
|
@@ -577,7 +572,7 @@ const ApplicationInfoPage = () => {
|
|
|
577
572
|
)
|
|
578
573
|
] })
|
|
579
574
|
] }),
|
|
580
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.
|
|
575
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Item, { col: 6, s: 12, children: [
|
|
581
576
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
|
|
582
577
|
id: "Settings.application.edition-title",
|
|
583
578
|
defaultMessage: "current plan"
|
|
@@ -596,7 +591,7 @@ const ApplicationInfoPage = () => {
|
|
|
596
591
|
}) })
|
|
597
592
|
] })
|
|
598
593
|
] }),
|
|
599
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.
|
|
594
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Item, { col: 6, s: 12, children: [
|
|
600
595
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
|
|
601
596
|
id: "Settings.application.node-version",
|
|
602
597
|
defaultMessage: "node version"
|
|
@@ -630,8 +625,8 @@ const ApplicationInfoPage = () => {
|
|
|
630
625
|
},
|
|
631
626
|
{ dimension: DIMENSION, size: SIZE }
|
|
632
627
|
) }),
|
|
633
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { paddingTop: 4, gap: 4, children: [
|
|
634
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
628
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { paddingTop: 4, gap: 4, children: [
|
|
629
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
635
630
|
LogoInput,
|
|
636
631
|
{
|
|
637
632
|
canUpdate,
|
|
@@ -648,7 +643,7 @@ const ApplicationInfoPage = () => {
|
|
|
648
643
|
onChangeLogo: handleChangeLogo("menu")
|
|
649
644
|
}
|
|
650
645
|
) }),
|
|
651
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
646
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
652
647
|
LogoInput,
|
|
653
648
|
{
|
|
654
649
|
canUpdate,
|
|
@@ -675,4 +670,4 @@ const ApplicationInfoPage = () => {
|
|
|
675
670
|
};
|
|
676
671
|
|
|
677
672
|
exports.ApplicationInfoPage = ApplicationInfoPage;
|
|
678
|
-
//# sourceMappingURL=ApplicationInfoPage-
|
|
673
|
+
//# sourceMappingURL=ApplicationInfoPage-g82dXg6q.js.map
|