@strapi/admin 4.2.0-beta.3 → 4.2.1-alpha.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.
Files changed (160) hide show
  1. package/admin/src/app.js +4 -7
  2. package/admin/src/components/ConfigurationsProvider/index.js +51 -0
  3. package/admin/src/components/ConfigurationsProvider/reducer.js +28 -0
  4. package/admin/src/components/LeftMenu/index.js +12 -2
  5. package/admin/src/components/Providers/index.js +8 -4
  6. package/admin/src/components/UnauthenticatedLogo/index.js +4 -2
  7. package/admin/src/hooks/useFetchMarketplaceProviders/index.js +23 -0
  8. package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +11 -0
  9. package/admin/src/pages/Admin/index.js +5 -15
  10. package/admin/src/pages/App/index.js +9 -18
  11. package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch/EmptyPluginGrid.js → EmptyNpmPackageSearch/EmptyNpmPackageGrid.js} +1 -1
  12. package/admin/src/pages/MarketplacePage/components/{EmptyPluginSearch → EmptyNpmPackageSearch}/index.js +6 -4
  13. package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/InstallPluginButton.js +0 -0
  14. package/admin/src/pages/MarketplacePage/components/{PluginCard → NpmPackageCard}/index.js +22 -10
  15. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +42 -0
  16. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +12 -5
  17. package/admin/src/pages/MarketplacePage/index.js +99 -37
  18. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +85 -0
  19. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/init.js +13 -0
  20. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +43 -0
  21. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +118 -0
  22. package/admin/src/pages/{App → SettingsPage/pages/ApplicationInfosPage/components/LogoInput}/reducer.js +13 -7
  23. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +25 -0
  24. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +67 -0
  25. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +176 -0
  26. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +82 -0
  27. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +51 -0
  28. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +97 -0
  29. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +85 -0
  30. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +28 -0
  31. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +153 -91
  32. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +16 -0
  33. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +3 -0
  34. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +17 -0
  35. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +76 -0
  36. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +17 -0
  37. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +21 -0
  38. package/admin/src/reducers.js +2 -4
  39. package/admin/src/translations/en.json +33 -3
  40. package/admin/src/translations/pl.json +264 -12
  41. package/admin/src/translations/vi.json +17 -17
  42. package/build/1856.6a94980b.chunk.js +172 -0
  43. package/build/2077.5456ccd1.chunk.js +194 -0
  44. package/build/2758.9475712b.chunk.js +162 -0
  45. package/build/2912.dd031292.chunk.js +253 -0
  46. package/build/4715.4588fdf5.chunk.js +385 -0
  47. package/build/4800.d3ebc81d.chunk.js +1 -0
  48. package/build/4982.c57c5675.chunk.js +308 -0
  49. package/build/7197.47565569.chunk.js +113 -0
  50. package/build/{6229.a5cca9f2.chunk.js → 7589.77ef4fbf.chunk.js} +2 -2
  51. package/build/{210.014495c1.chunk.js → 7757.f6eb5e92.chunk.js} +58 -58
  52. package/build/7841.9e9cf739.chunk.js +253 -0
  53. package/build/8681.aec05472.chunk.js +163 -0
  54. package/build/9066.2847fdff.chunk.js +101 -0
  55. package/build/{4073.41ac1235.chunk.js → 9115.623dc4f7.chunk.js} +1 -1
  56. package/build/9158.e48d88af.chunk.js +503 -0
  57. package/build/{7191.3bde3cbf.chunk.js → 9298.cb3b6bc1.chunk.js} +112 -113
  58. package/build/9420.ba035f29.chunk.js +508 -0
  59. package/build/948.d64fb515.chunk.js +2 -0
  60. package/build/Admin-authenticatedApp.63a5061a.chunk.js +80 -0
  61. package/build/{Admin_homePage.f157e33e.chunk.js → Admin_homePage.447df176.chunk.js} +2 -2
  62. package/build/Admin_marketplace.8a503eec.chunk.js +11 -0
  63. package/build/Admin_pluginsPage.91a96fa5.chunk.js +1 -0
  64. package/build/{Admin_profilePage.62c203ad.chunk.js → Admin_profilePage.249cbfc9.chunk.js} +2 -2
  65. package/build/Admin_settingsPage.0d138832.chunk.js +180 -0
  66. package/build/{admin-edit-roles-page.94e1403b.chunk.js → admin-edit-roles-page.7c2c9752.chunk.js} +1 -1
  67. package/build/admin-edit-users.b835bc48.chunk.js +11 -0
  68. package/build/admin-users.19900b75.chunk.js +12 -0
  69. package/build/api-tokens-create-page.8d299dde.chunk.js +1 -0
  70. package/build/api-tokens-edit-page.3e453fc1.chunk.js +1 -0
  71. package/build/{api-tokens-list-page.340750a6.chunk.js → api-tokens-list-page.872c3800.chunk.js} +1 -1
  72. package/build/{codemirror-css.b467b1de.chunk.js → codemirror-css.98490df3.chunk.js} +2 -2
  73. package/build/{codemirror-javacript.41bdefda.chunk.js → codemirror-javacript.cafbda9c.chunk.js} +1 -1
  74. package/build/codemirror-theme.b3c64617.chunk.js +34 -0
  75. package/build/{content-manager.6cdcfb6e.chunk.js → content-manager.002bfd99.chunk.js} +16 -16
  76. package/build/content-type-builder.a0450dfe.chunk.js +141 -0
  77. package/build/{cropper-css.ecc0d670.chunk.js → cropper-css.0055cd53.chunk.js} +2 -2
  78. package/build/email-settings-page.1f235173.chunk.js +103 -0
  79. package/build/en-json.0a5ba154.chunk.js +1 -0
  80. package/build/{fontawesome-css-all.04f33619.chunk.js → fontawesome-css-all.b88d464e.chunk.js} +3 -3
  81. package/build/{fontawesome-css.477ba714.chunk.js → fontawesome-css.a92a7b6c.chunk.js} +2 -2
  82. package/build/highlight.js.9d8ef460.chunk.js +86 -0
  83. package/build/i18n-settings-page.06e88cf2.chunk.js +101 -0
  84. package/build/index.html +1 -1
  85. package/build/main.e3a13431.js +8404 -0
  86. package/build/pl-json.f65302c2.chunk.js +1 -0
  87. package/build/{runtime~main.e7611418.js → runtime~main.dacf1aff.js} +2 -2
  88. package/build/sso-settings-page.a7c2e854.chunk.js +1 -0
  89. package/build/upload-settings.4ee2f135.chunk.js +101 -0
  90. package/build/upload.0d4153e8.chunk.js +105 -0
  91. package/build/users-advanced-settings-page.747b2ec1.chunk.js +101 -0
  92. package/build/users-email-settings-page.8b9a266d.chunk.js +1 -0
  93. package/build/users-providers-settings-page.fc9d8f9d.chunk.js +1 -0
  94. package/build/{users-roles-settings-page.988ebc3b.chunk.js → users-roles-settings-page.1bf4ffc5.chunk.js} +2 -2
  95. package/build/vi-json.bf3424be.chunk.js +1 -0
  96. package/build/webhook-edit-page.142b23ac.chunk.js +23 -0
  97. package/build/webhook-list-page.671582a0.chunk.js +133 -0
  98. package/index.js +239 -53
  99. package/package.json +8 -12
  100. package/scripts/build.js +3 -17
  101. package/server/config/admin-actions.js +14 -0
  102. package/server/controllers/admin.js +29 -12
  103. package/server/policies/index.js +0 -1
  104. package/server/routes/admin.js +28 -9
  105. package/server/routes/serve-admin-panel.js +1 -1
  106. package/server/services/index.js +1 -0
  107. package/server/services/project-settings.js +173 -0
  108. package/server/utils/index.d.ts +2 -0
  109. package/server/validation/project-settings.js +39 -0
  110. package/webpack.alias.js +30 -19
  111. package/webpack.config.js +5 -28
  112. package/admin/src/pages/App/constants.js +0 -1
  113. package/admin/src/tsconfig.json +0 -10
  114. package/build/1709.ceed0e18.chunk.js +0 -503
  115. package/build/1856.521a99fd.chunk.js +0 -172
  116. package/build/20.cf744c35.chunk.js +0 -308
  117. package/build/2077.51485bfb.chunk.js +0 -194
  118. package/build/2135.95ee6de1.chunk.js +0 -162
  119. package/build/2524.688d0355.chunk.js +0 -1
  120. package/build/2912.79c2b3c8.chunk.js +0 -253
  121. package/build/4715.77e04177.chunk.js +0 -385
  122. package/build/4761.3eabdf46.chunk.js +0 -101
  123. package/build/6281.f10a7e3a.chunk.js +0 -1
  124. package/build/7009.79fce86d.chunk.js +0 -164
  125. package/build/7841.f0e7d629.chunk.js +0 -253
  126. package/build/7863.bc7a8f3a.chunk.js +0 -112
  127. package/build/9420.cb0b75e8.chunk.js +0 -508
  128. package/build/Admin-authenticatedApp.4ce8d292.chunk.js +0 -80
  129. package/build/Admin_marketplace.1e3393c9.chunk.js +0 -11
  130. package/build/Admin_pluginsPage.788fb2f6.chunk.js +0 -1
  131. package/build/Admin_settingsPage.924a7816.chunk.js +0 -170
  132. package/build/admin-edit-users.6c2bf718.chunk.js +0 -10
  133. package/build/admin-users.e03db115.chunk.js +0 -11
  134. package/build/api-tokens-create-page.787ab302.chunk.js +0 -1
  135. package/build/api-tokens-edit-page.e4010c0c.chunk.js +0 -1
  136. package/build/codemirror-theme.cf9f9eb6.chunk.js +0 -34
  137. package/build/content-type-builder.e73879b9.chunk.js +0 -141
  138. package/build/email-settings-page.f67d13b2.chunk.js +0 -103
  139. package/build/en-json.3e1a222e.chunk.js +0 -1
  140. package/build/highlight.js.3381ffc3.chunk.js +0 -86
  141. package/build/i18n-settings-page.6b67cb75.chunk.js +0 -101
  142. package/build/main.45472ea9.js +0 -8404
  143. package/build/pl-json.94f05d2c.chunk.js +0 -1
  144. package/build/sso-settings-page.e9034e22.chunk.js +0 -1
  145. package/build/upload-settings.3db55de0.chunk.js +0 -101
  146. package/build/upload.070c189b.chunk.js +0 -105
  147. package/build/users-advanced-settings-page.a23cda17.chunk.js +0 -101
  148. package/build/users-email-settings-page.0a096388.chunk.js +0 -1
  149. package/build/users-providers-settings-page.bfe7755a.chunk.js +0 -1
  150. package/build/vi-json.3d14e91e.chunk.js +0 -1
  151. package/build/webhook-edit-page.2fa94db3.chunk.js +0 -23
  152. package/build/webhook-list-page.b594db49.chunk.js +0 -133
  153. package/server/policies/isTelemetryEnabled.js +0 -16
  154. package/utils/create-cache-dir.js +0 -161
  155. package/utils/get-custom-app-config-file.js +0 -23
  156. package/utils/get-custom-webpack-config.js +0 -38
  157. package/utils/get-plugins-path.js +0 -26
  158. package/utils/index.js +0 -13
  159. package/utils/should-build-admin.js +0 -52
  160. package/utils/watch-admin-files.js +0 -59
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3278],{50576:n=>{n.exports=JSON.parse('{"Analytics":"Ph\xE2n T\xEDch","Auth.components.Oops.text":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n \u0111\xE3 b\u1ECB kho\xE1","Auth.components.Oops.text.admin":"N\u1EBFu c\xF3 s\u1EF1 nh\u1EA7m l\u1EABn, h\xE3y li\xEAn h\u1EC7 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB","Auth.form.button.forgot-password":"G\u1EEDi Email","Auth.form.button.go-home":"QUAY V\u1EC0 TRANG CH\u1EE6","Auth.form.button.login":"\u0110\u0103ng nh\u1EADp","Auth.form.button.login.providers.error":"Kh\xF4ng th\u1EC3 k\u1EBFt n\u1ED1i b\u1EA1n v\u1EDBi d\u1ECBch v\u1EE5 \u0111\xE3 ch\u1ECDn.","Auth.form.button.login.strapi":"\u0110\u0103ng nh\u1EADp v\u1EDBi Strapi","Auth.form.button.password-recovery":"Kh\xF4i ph\u1EE5c m\u1EADt kh\u1EA9u","Auth.form.button.register":"S\u1EB5n s\xE0ng \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u","Auth.form.confirmPassword.label":"Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u","Auth.form.currentPassword.label":"M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i","Auth.form.email.label":"Email","Auth.form.email.placeholder":"kai@doe.com","Auth.form.error.blocked":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n b\u1ECB kh\xF3a b\u1EDFi ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB.","Auth.form.error.code.provide":"M\xE3 sai \u0111\xE3 \u0111\u01B0\u1EE3c cung c\u1EA5p.","Auth.form.error.confirmed":"Email c\u1EE7a t\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n ch\u01B0a \u0111\u01B0\u1EE3c x\xE1c nh\u1EADn.","Auth.form.error.email.invalid":"Email sai.","Auth.form.error.email.provide":"Vui l\xF2ng cung c\u1EA5p t\xEAn \u0111\u0103ng nh\u1EADp ho\u1EB7c email.","Auth.form.error.email.taken":"Email \u0111\xE3 \u0111\u01B0\u1EE3c d\xF9ng.","Auth.form.error.invalid":"\u0110\u1ECBnh danh ho\u1EB7c m\u1EADt kh\u1EA9u sai.","Auth.form.error.params.provide":"Tham s\u1ED1 sai \u0111\xE3 \u0111\u01B0\u1EE3c cung c\u1EA5p.","Auth.form.error.password.format":"M\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n kh\xF4ng th\u1EC3 ch\u1EE9a k\xFD t\u1EF1 `$` h\u01A1n ba l\u1EA7n","Auth.form.error.password.local":"Ng\u01B0\u1EDDi d\xF9ng n\xE0y ch\u01B0a t\u1EEBng \u0111\u1EB7t m\u1EADt kh\u1EA9u c\u1EE5c b\u1ED9, vui l\xF2ng \u0111\u0103ng nh\u1EADp th\xF4ng qua nh\xE0 cung c\u1EA5p \u0111\xE3 d\xF9ng trong l\xFAc t\u1EA1o t\xE0i kho\u1EA3n ban \u0111\u1EA7u","Auth.form.error.password.matching":"Nh\u1EEFng m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp.","Auth.form.error.password.provide":"Vui l\xF2ng cung c\u1EA5p m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n.","Auth.form.error.ratelimit":"Th\u1EED qu\xE1 nhi\u1EC1u l\u1EA7n, vui l\xF2ng th\u1EED l\u1EA1i trong m\u1ED9t ph\xFAt","Auth.form.error.user.not-exist":"Email n\xE0y ch\u01B0a t\u1ED3n t\u1EA1i.","Auth.form.error.username.taken":"T\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 b\u1ECB l\u1EA5y.","Auth.form.firstname.label":"H\u1ECD","Auth.form.firstname.placeholder":"v.d. Kai","Auth.form.forgot-password.email.label":"Nh\u1EADp email c\u1EE7a b\u1EA1n","Auth.form.forgot-password.email.label.success":"Email \u0111\xE3 g\u1EEDi th\xE0nh c\xF4ng \u0111\u1EBFn","Auth.form.lastname.label":"T\xEAn","Auth.form.lastname.placeholder":"v.d. Doe","Auth.form.password.hide-password":"\u1EA8n m\u1EADt kh\u1EA9u","Auth.form.password.hint":"M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 8 k\xFD t\u1EF1, 1 vi\u1EBFt hoa, 1 vi\u1EBFt th\u01B0\u1EDDng, v\xE0 1 s\u1ED1","Auth.form.password.show-password":"Hi\u1EC3n th\u1ECB password","Auth.form.register.news.label":"C\u1EADp nh\u1EADt cho t\xF4i v\u1EC1 ch\u1EE9c n\u0103ng m\u1EDBi v\xE0 nh\u1EEFng c\u1EA3i thi\u1EC7n s\u1EAFp t\u1EDBi (th\xF4ng qua vi\u1EC7c n\xE0y b\u1EA1n \u0111\xE3 ch\u1EA5p nh\u1EADn {terms} v\xE0 {policy}).","Auth.form.register.subtitle":"Th\xF4ng tin c\u1EE7a b\u1EA1n ch\u1EC9 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u0111\u1EC3 \u0111\u0103ng nh\u1EADp v\xE0o trang qu\u1EA3n tr\u1ECB. T\u1EA5t c\u1EA3 c\xE1c d\u1EEF li\u1EC7u \u0111\u01B0\u1EE3c l\u01B0u \u1EDF c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","Auth.form.rememberMe.label":"Nh\u1EDB t\xF4i","Auth.form.username.label":"T\xEAn \u0111\u0103ng nh\u1EADp","Auth.form.username.placeholder":"Kai Doe","Auth.form.welcome.subtitle":"\u0110\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Strapi c\u1EE7a b\u1EA1n","Auth.form.welcome.title":"Ch\xE0o m\u1EEBng!","Auth.link.forgot-password":"Qu\xEAn m\u1EADt kh\u1EA9u?","Auth.link.ready":"S\u1EB5n s\xE0ng \u0111\u0103ng nh\u1EADp?","Auth.link.signin":"\u0110\u0103ng nh\u1EADp","Auth.link.signin.account":"\u0110\xE3 c\xF3 t\xE0i kho\u1EA3n?","Auth.login.sso.divider":"Ho\u1EB7c \u0111\u0103ng nh\u1EADp v\u1EDBi","Auth.login.sso.loading":"\u0110ang t\u1EA3i c\xE1c d\u1ECBch v\u1EE5 cung c\u1EA5p...","Auth.login.sso.subtitle":"\u0110\u0103ng nh\u1EADp qua SSO","Auth.privacy-policy-agreement.policy":"ch\xEDnh s\xE1ch b\u1EA3o m\u1EADt","Auth.privacy-policy-agreement.terms":"c\xE1c \u0111i\u1EC1u kho\u1EA3n","Auth.reset-password.title":"\u0110\u1EB7t l\u1EA1i m\u1EADt kh\u1EA9u","Content Manager":"Qu\u1EA3n L\xFD N\u1ED9i Dung","Documentation":"T\xE0i li\u1EC7u","Email":"Email","Files Upload":"T\u1EA3i T\xE2p Tin L\xEAn","HomePage.helmet.title":"Trang ch\u1EE7","HomePage.roadmap":"Xem l\u1ED9 tr\xECnh c\u1EE7a ch\xFAng t\xF4i","HomePage.welcome.congrats":"Ch\xFAc m\u1EEBng!","HomePage.welcome.congrats.content":"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp nh\u01B0 l\xE0 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB \u0111\u1EA7u ti\xEAn. \u0110\u1EC3 kh\xE1m ph\xE1 nh\u1EEFng t\xEDnh n\u0103ng m\u1EA1nh m\u1EBD \u0111\u01B0\u1EE3c cung c\u1EA5p b\u1EDFi Strapi.","New entry":"B\u1EA3n ghi m\u1EDBi","Password":"M\u1EADt Kh\u1EA9u","Provider":"Nh\xE0 Cung C\u1EA5p","ResetPasswordToken":"C\xE0i L\u1EA1i Chu\u1ED7i Kh\xF3a M\u1EADt Kh\u1EA9u","Role":"Vai tr\xF2","Username":"T\xEAn \u0111\u0103ng nh\u1EADp","Users":"Ng\u01B0\u1EDDi d\xF9ng","Users & Permissions":"Ng\u01B0\u1EDDi d\xF9ng v\xE0 Ph\xE2n quy\u1EC1n","app.components.BlockLink.code":"Code v\xED d\u1EE5","app.components.Button.cancel":"H\u1EE7y b\u1ECF","app.components.ComingSoonPage.comingSoon":"S\u1EAFp c\xF3","app.components.DownloadInfo.download":"\u0110ang t\u1EA3i v\u1EC1","app.components.DownloadInfo.text":"Vi\u1EC7c n\xE0y c\xF3 th\u1EC3 t\u1ED1n m\u1ED9t ph\xFAt. C\u1EA3m \u01A1n b\u1EA1n v\xEC s\u1EF1 ki\xEAn nh\u1EABn.","app.components.EmptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0o","app.components.HomePage.button.blog":"XEM TH\xCAM TR\xCAN BLOG","app.components.HomePage.community":"T\xECm c\u1ED9ng \u0111\u1ED3ng tr\xEAn web","app.components.HomePage.community.content":"Th\u1EA3o lu\u1EADn v\u1EDBi th\xE0nh vi\xEAn, ng\u01B0\u1EDDi \u0111\xF3ng g\xF3p v\xE0 l\u1EADp tr\xECnh vi\xEAn tr\xEAn nh\u1EEFng k\xEAnh kh\xE1c nhau.","app.components.HomePage.welcome":"Ch\xE0o m\u1EEBng b\u1EA1n l\xEAn t\xE0u!","app.components.HomePage.welcome.again":"Ch\xE0o m\u1EEBng ","app.components.HomePage.welcomeBlock.content":"Ch\xFAng t\xF4i h\u1EA1nh ph\xFAc khi c\xF3 b\u1EA1n l\xE0 m\u1ED9t ph\u1EA7n c\u1EE7a c\u1ED9ng \u0111\u1ED3ng. Ch\xFAng t\xF4i li\xEAn t\u1EE5c t\xECm ki\u1EBFm s\u1EF1 ph\u1EA3n h\u1ED3i, do \u0111\xF3 b\u1EA1n c\xF3 th\u1EC3 Li\xEAn h\u1EC7 tr\u1EF1c ti\u1EBFp v\u1EDBi ch\xFAng t\xF4i tr\xEAn ","app.components.HomePage.welcomeBlock.content.again":"Ch\xFAng t\xF4i hi v\u1ECDng b\u1EA1n c\xF3 ti\u1EBFn tri\u1EC3n tr\xEAn d\u1EF1 \xE1n c\u1EE7a b\u1EA1n... B\u1EA1n t\u1EF1 do \u0111\u1ECDc tin t\u1EE9c m\u1EDBi nh\u1EA5t v\u1EC1 Strapi. Ch\xFAng t\xF4i \u0111ang c\u1ED1 g\u1EAFng h\u1EBFt m\u1EE9c \u0111\u1EC3 c\u1EA3i thi\u1EC7n s\u1EA3n ph\u1EA9m d\u1EF1a tr\xEAn ph\u1EA3n h\u1ED3i c\u1EE7a b\u1EA1n.","app.components.HomePage.welcomeBlock.content.issues":"v\u1EA5n \u0111\u1EC1.","app.components.HomePage.welcomeBlock.content.raise":" ho\u1EB7c n\xEAu l\xEAn ","app.components.ImgPreview.hint":"K\xE9o v\xE0 th\u1EA3 t\u1EADp tin c\u1EE7a b\u1EA1n v\xE0o khu v\u1EF1c n\xE0y ho\u1EB7c {browse} \u0111\u1EC3 t\xECm t\u1EADp tin t\u1EA3i l\xEAn","app.components.ImgPreview.hint.browse":"duy\u1EC7t","app.components.InputFile.newFile":"Th\xEAm t\u1EADp tin m\u1EDBi","app.components.InputFileDetails.open":"M\u1EDF ra \u1EDF th\u1EBB m\u1EDBi","app.components.InputFileDetails.originalName":"T\xEAn g\u1ED1c:","app.components.InputFileDetails.remove":"Xo\xE1 t\u1EADp tin n\xE0y","app.components.InputFileDetails.size":"K\xEDch th\u01B0\u1EDBc:","app.components.InstallPluginPage.Download.description":"N\xF3 s\u1EBD t\u1ED1n m\u1ED9t v\xE0i gi\xE2y \u0111\u1EC3 t\u1EA3i v\u1EC1 v\xE0 c\xE0i \u0111\u1EB7t plugin.","app.components.InstallPluginPage.Download.title":"\u0110ang t\u1EA3i v\u1EC1...","app.components.InstallPluginPage.description":"M\u1EDF r\u1ED9ng \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n d\u1EC5 d\xE0ng","app.components.LeftMenuFooter.help":"Gi\xFAp \u0111\u1EE1","app.components.LeftMenuFooter.poweredBy":"Cung c\u1EA5p b\u1EDFi ","app.components.LeftMenuLinkContainer.configuration":"C\xE1c c\u1EA5u h\xECnh","app.components.LeftMenuLinkContainer.general":"Chung","app.components.LeftMenuLinkContainer.noPluginsInstalled":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.LeftMenuLinkContainer.plugins":"Plugins","app.components.ListPluginsPage.description":"Danh s\xE1ch plugins \u0111\xE3 c\xE0i trong d\u1EF1 \xE1n.","app.components.ListPluginsPage.helmet.title":"Danh s\xE1ch plugins","app.components.Logout.logout":"\u0110\u0103ng xu\u1EA5t","app.components.Logout.profile":"H\u1ED3 s\u01A1","app.components.NotFoundPage.back":"Tr\u1EDF v\u1EC1 trang ch\u1EE7","app.components.NotFoundPage.description":"Kh\xF4ng T\xECm Th\u1EA5y","app.components.Official":"Ch\xEDnh Th\u1EE9c","app.components.Onboarding.label.completed":"% \u0111\xE3 ho\xE0n th\xE0nh","app.components.Onboarding.title":"Videos B\u1EAFt \u0110\u1EA7u","app.components.PluginCard.Button.label.download":"T\u1EA3i v\u1EC1","app.components.PluginCard.Button.label.install":"\u0110\xE3 \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed":"Ch\u1EE9c n\u0103ng autoReload kh\xF4ng ho\u1EA1t \u0111\u1ED9ng. Vui l\xF2ng ch\u1EA1y \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n v\u1EDBi `yarn develop`.","app.components.PluginCard.PopUpWarning.install.impossible.confirm":"T\xF4i hi\u1EC3u!","app.components.PluginCard.PopUpWarning.install.impossible.environment":"V\xEC nh\u1EEFng l\xFD do b\u1EA3o m\u1EADt, ch\u1EC9 m\u1ED9t plugin c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c t\u1EA3i v\u1EC1 trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n.","app.components.PluginCard.PopUpWarning.install.impossible.title":"T\u1EA3i v\u1EC1 kh\xF4ng kh\u1EA3 thi","app.components.PluginCard.compatible":"T\u01B0\u01A1ng th\xEDch v\u1EDBi \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n","app.components.PluginCard.compatibleCommunity":"T\u01B0\u01A1ng th\xEDch v\u1EDBi c\u1ED9ng \u0111\u1ED3ng","app.components.PluginCard.more-details":"Th\xEAm chi ti\u1EBFt","app.components.listPlugins.button":"Th\xEAm m\u1EDBi Plugin","app.components.listPlugins.title.none":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.listPluginsPage.deletePlugin.error":"M\u1ED9t l\u1ED7i x\u1EA3y ra trong khi g\u1EE1 b\u1ECF plugin","app.containers.App.notification.error.init":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi g\u1EEDi y\xEAu c\u1EA7u \u0111\u1EBFn API","app.utils.SelectOption.defaultMessage":" ","app.utils.defaultMessage":" ","app.utils.placeholder.defaultMessage":" ","components.AutoReloadBlocker.description":"Ch\u1EA1y Strapi v\u1EDBi m\u1ED9t trong c\xE1c l\u1EC7nh sau:","components.AutoReloadBlocker.header":"T\xEDnh n\u0103ng T\u1EA3i l\u1EA1i b\u1ECB b\u1EAFt bu\u1ED9c cho plugin n\xE0y.","components.ErrorBoundary.title":"\u0110i\u1EC1u g\xEC \u0111\xF3 kh\xF4ng \u1ED5n...","components.Input.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","components.Input.error.attribute.taken":"Tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.custom-error":"{errorMessage} ","components.Input.error.password.noMatch":"Nh\u1EEFng m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp","components.Input.error.validation.email":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 email","components.Input.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 JSON","components.Input.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao.","components.Input.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i.","components.Input.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p.","components.Input.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn.","components.Input.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","components.Input.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","components.Input.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","components.InputSelect.option.placeholder":"Ch\u1ECDn \u1EDF \u0111\xE2y","components.ListRow.empty":"Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u \u0111\u1EC3 hi\u1EC3n th\u1ECB.","components.OverlayBlocker.description":"B\u1EA1n \u0111ang d\xF9ng m\u1ED9t t\xEDnh n\u0103ng m\xE0 n\xF3 c\u1EA7n ph\u1EA3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i m\xE1y ch\u1EE7. Vui l\xF2ng ch\u1EDD cho m\xE1y ch\u1EE7 kh\u1EDFi \u0111\u1ED9ng xong.","components.OverlayBlocker.description.serverError":"M\xE1y ch\u1EE7 n\xEAn \u0111\u01B0\u1EE3c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i, vui l\xF2ng ki\u1EC3m tra nh\u1EADt k\xFD c\u1EE7a b\u1EA1n trong c\u1EEDa s\u1ED5 l\u1EC7nh","components.OverlayBlocker.title":"\u0110ang \u0111\u1EE3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i...","components.OverlayBlocker.title.serverError":"Vi\u1EC7c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i t\u1ED1n nhi\u1EC1u th\u1EDDi gian h\u01A1n mong \u0111\u1EE3i","components.PageFooter.select":"b\u1EA3n ghi tr\xEAn trang","components.ProductionBlocker.description":"V\xEC l\xFD do an to\xE0n ch\xFAng t\xF4i ph\u1EA3i v\xF4 hi\u1EC7u ho\xE1 plugin trong c\xE1c m\xF4i tr\u01B0\u1EDDng kh\xE1c","components.ProductionBlocker.header":"Plugin n\xE0y ch\u1EC9 hi\u1EC7u l\u1EE9c trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n","components.Wysiwyg.collapse":"Co l\u1EA1i","components.Wysiwyg.selectOptions.H1":"Ti\xEAu \u0111\u1EC1 H1","components.Wysiwyg.selectOptions.H2":"Ti\xEAu \u0111\u1EC1 H2","components.Wysiwyg.selectOptions.H3":"Ti\xEAu \u0111\u1EC1 H3","components.Wysiwyg.selectOptions.H4":"Ti\xEAu \u0111\u1EC1 H4","components.Wysiwyg.selectOptions.H5":"Ti\xEAu \u0111\u1EC1 H5","components.Wysiwyg.selectOptions.H6":"Ti\xEAu \u0111\u1EC1 H6","components.Wysiwyg.selectOptions.title":"Th\xEAm m\u1ED9t ti\xEAu \u0111\u1EC1","components.WysiwygBottomControls.charactersIndicators":"k\xFD t\u1EF1","components.WysiwygBottomControls.fullscreen":"Gi\xE3n ra","components.WysiwygBottomControls.uploadFiles":"K\xE9o v\xE0 th\u1EA3 c\xE1c t\u1EADp tin, d\xE1n t\u1EEB b\u1ED9 nh\u1EDB t\u1EA1m hay {browse}.","components.WysiwygBottomControls.uploadFiles.browse":"ch\u1ECDn ch\xFAng","components.popUpWarning.message":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 b\u1EA1n mu\u1ED1n xo\xE1 n\xF3?","components.popUpWarning.title":"Vui l\xF2ng x\xE1c nh\u1EADn","content-manager.EditRelations.title":"D\u1EEF Li\u1EC7u Quan H\u1EC7","content-manager.components.AddFilterCTA.add":"L\u1ECDc","content-manager.components.AddFilterCTA.hide":"L\u1ECDc","content-manager.components.DraggableAttr.edit":"Nh\u1EA5n \u0111\u1EC3 ch\u1EC9nh s\u1EEDa","content-manager.components.EmptyAttributesBlock.button":"\u0110\u1EBFn trang c\xE0i \u0111\u1EB7t","content-manager.components.EmptyAttributesBlock.description":"B\u1EA1n c\xF3 th\u1EC3 thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.components.FilterOptions.button.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.FiltersPickWrapper.PluginHeader.description":"C\xE0i \u0111\u1EB7t c\xE1c \u0111i\u1EC1u ki\u1EC7n \u0111\u1EC3 \xE1p d\u1EE5ng cho vi\u1EC7c l\u1ECDc c\xE1c b\u1EA3n ghi","content-manager.components.FiltersPickWrapper.PluginHeader.title.filter":"C\xE1c b\u1ED9 l\u1ECDc","content-manager.components.FiltersPickWrapper.hide":"\u1EA8n \u0111i","content-manager.components.LimitSelect.itemsPerPage":"S\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi trong trang","content-manager.components.Search.placeholder":"T\xECm m\u1ED9t b\u1EA3n ghi...","content-manager.components.TableDelete.delete":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.TableDelete.deleteSelected":"X\xF3a \u0111\xE3 ch\u1ECDn","content-manager.components.TableEmpty.withFilters":"Kh\xF4ng c\xF3 {contentType} v\u1EDBi b\u1ED9 l\u1ECDc \u0111\u01B0\u1EE3c d\xF9ng","content-manager.components.TableEmpty.withSearch":"Kh\xF4ng c\xF3 {contentType} t\u01B0\u01A1ng \u1EE9ng v\u1EDBi t\xECm ki\u1EBFm ({search})...","content-manager.components.TableEmpty.withoutFilter":"Kh\xF4ng c\xF3 {contentType}...","content-manager.containers.Edit.Link.Layout":"C\u1EA5u h\xECnh b\u1ED1 c\u1EE5c","content-manager.containers.Edit.addAnItem":"Th\xEAm m\u1ED9t b\u1EA3n ghi...","content-manager.containers.Edit.clickToJump":"Nh\u1EA5n \u0111\u1EC3 nh\u1EA3y v\xE0o b\u1EA3n ghi","content-manager.containers.Edit.delete":"X\xF3a","content-manager.containers.Edit.editing":"\u0110\u0103ng s\u1EEDa...","content-manager.containers.Edit.pluginHeader.title.new":"T\u1EA1o m\u1ED9t B\u1EA3n ghi","content-manager.containers.Edit.reset":"L\xE0m l\u1EA1i","content-manager.containers.Edit.returnList":"Tr\u1EDF v\u1EC1 danh s\xE1ch","content-manager.containers.Edit.seeDetails":"Chi ti\u1EBFt","content-manager.containers.Edit.submit":"L\u01B0u","content-manager.containers.EditView.notification.errors":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","content-manager.containers.Home.introduction":"\u0110\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c b\u1EA3n ghi c\u1EE7a b\u1EA1n, \u0111i \u0111\u1EBFn li\xEAn k\u1EBFt \u1EDF menu b\xEAn tr\xE1i. Plugin n\xE0y ch\u01B0a c\xF3 c\xE1ch th\xEDch h\u1EE3p \u0111\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c c\xE0i \u0111\u1EB7t v\xE0 n\xF3 v\u1EABn \u0111ang \u0111\u01B0\u1EE3c ph\xE1t tri\u1EC3n.","content-manager.containers.Home.pluginHeaderDescription":"Qu\u1EA3n l\xFD c\xE1c b\u1EA3n ghi th\xF4ng qua m\u1ED9t giao di\u1EC7n m\u1EA1nh v\xE0 \u0111\u1EB9p.","content-manager.containers.Home.pluginHeaderTitle":"Qu\u1EA3n L\xFD N\u1ED9i Dung","content-manager.containers.List.errorFetchRecords":"L\u1ED7i","content-manager.containers.ListPage.displayedFields":"C\xE1c tr\u01B0\u1EDDng \u0111\xE3 \u0111\u01B0\u1EE3c tr\xECnh b\xE0y","content-manager.containers.SettingPage.attributes":"C\xE1c tr\u01B0\u1EDDng thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.attributes.description":"\u0110\u1ECBnh ngh\u0129a th\u1EE9 t\u1EF1 c\xE1c thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.editSettings.description":"K\xE9o & th\u1EA3 c\xE1c tr\u01B0\u1EDDng \u0111\u1EC3 x\xE2y d\u1EF1ng b\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.editSettings.entry.title":"T\xEAn b\u1EA3n ghi","content-manager.containers.SettingPage.editSettings.entry.title.description":"C\xE0i \u0111\u1EB7t tr\u01B0\u1EDDng \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong b\u1EA3n ghi c\u1EE7a b\u1EA1n","content-manager.containers.SettingPage.editSettings.title":"Ch\u1EC9nh s\u1EEDa hi\u1EC3n th\u1ECB (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.layout":"B\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.listSettings.title":"Hi\u1EC3n th\u1ECB danh s\xE1ch (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.relations":"C\xE1c tr\u01B0\u1EDDng Quan H\u1EC7","content-manager.containers.SettingPage.settings":"C\xE1c c\xE0i \u0111\u1EB7t","content-manager.containers.SettingViewModel.pluginHeader.title":"Qu\u1EA3n L\xFD N\u1ED9i Dung - {name}","content-manager.containers.SettingsPage.Block.contentType.description":"C\u1EA5u h\xECnh c\xE1c c\xE0i \u0111\u1EB7t ri\xEAng","content-manager.containers.SettingsPage.Block.generalSettings.title":"Chung","content-manager.containers.SettingsView.list.title":"C\xE1c c\u1EA5u h\xECnh v\u1EC1 Tr\xECnh b\xE0y","content-manager.emptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng n\xE0o h\u1EBFt","content-manager.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","content-manager.error.attribute.taken":"T\xEAn tr\u01B0\u1EDDng n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.model.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\u1EA5u h\xECnh n\u1ED9i dung.","content-manager.error.record.create":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA1o b\u1EA3n ghi.","content-manager.error.record.delete":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi xo\xE1 b\u1EA3n ghi.","content-manager.error.record.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 b\u1EA3n ghi.","content-manager.error.record.update":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi c\u1EADp nh\u1EADt b\u1EA3n ghi.","content-manager.error.records.count":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 s\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi.","content-manager.error.records.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\xE1c b\u1EA3n ghi.","content-manager.error.schema.generation":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi qu\xE1 tr\xECnh t\u1EA1o ra l\u01B0\u1EE3c \u0111\u1ED3.","content-manager.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 JSON","content-manager.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao.","content-manager.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i.","content-manager.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p.","content-manager.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn.","content-manager.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","content-manager.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","content-manager.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","content-manager.form.Input.bulkActions":"K\xEDch ho\u1EA1t ho\u1EA1t \u0111\u1ED9ng g\u1ED9p","content-manager.form.Input.defaultSort":"Thu\u1ED9c t\xEDnh s\u1EAFp x\u1EBFp m\u1EB7c \u0111\u1ECBnh","content-manager.form.Input.description":"M\xF4 t\u1EA3","content-manager.form.Input.description.placeholder":"T\xEAn hi\u1EC3n th\u1ECB trong h\u1ED3 s\u01A1","content-manager.form.Input.editable":"Tr\u01B0\u1EDDng ch\u1EC9nh s\u1EEDa \u0111\u01B0\u1EE3c","content-manager.form.Input.filters":"K\xEDch ho\u1EA1t c\xE1c b\u1ED9 l\u1ECDc","content-manager.form.Input.label":"Nh\xE3n","content-manager.form.Input.label.inputDescription":"Gi\xE1 tr\u1ECB n\xE0y ghi \u0111\xE8 l\xEAn nh\xE3n \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong ph\u1EA7n \u0111\u1EA7u c\u1EE7a b\u1EA3ng","content-manager.form.Input.pageEntries":"B\u1EA3n ghi trong trang","content-manager.form.Input.placeholder":"Ch\u1ED7 ch\u1EDD gi\xE1 tr\u1ECB","content-manager.form.Input.placeholder.placeholder":"Gi\xE1 tr\u1ECB tuy\u1EC7t v\u1EDDi c\u1EE7a t\xF4i","content-manager.form.Input.search":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm","content-manager.form.Input.search.field":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm cho tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.sort.field":"K\xEDch ho\u1EA1t s\u1EAFp x\u1EBFp tr\xEAn tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.wysiwyg":"Tr\xECnh b\xE0y nh\u01B0 l\xE0 WYSIWYG","content-manager.global.displayedFields":"C\xE1c Tr\u01B0\u1EDDng \u0110\xE3 \u0110\u01B0\u1EE3c Tr\xECnh B\xE0y","content-manager.groups":"Nh\xF3m","content-manager.groups.numbered":"Nh\xF3m ({number})","content-manager.notification.error.displayedFields":"B\u1EA1n c\u1EA7n tr\xECnh b\xE0y \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.error.relationship.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 m\u1ED1i quan h\u1EC7.","content-manager.notification.info.SettingPage.disableSort":"B\u1EA1n c\u1EA7n c\xF3 m\u1ED9t thu\u1ED9c t\xEDnh \u0111\u01B0\u1EE3c ph\xE9p s\u1EAFp x\u1EBFp","content-manager.notification.info.minimumFields":"B\u1EA1n c\u1EA7n hi\u1EC3n th\u1ECB \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.upload.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA3i l\xEAn c\xE1c t\u1EADp tin c\u1EE7a b\u1EA1n","content-manager.pageNotFound":"Kh\xF4ng T\xECm Th\u1EA5y Trang","content-manager.plugin.description.long":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.plugin.description.short":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.popUpWarning.bodyMessage.contentType.delete":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.bodyMessage.contentType.delete.all":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 c\xE1c b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.warning.cancelAllSettings":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n h\u1EE7y b\u1ECF c\xE1c thay \u0111\u1ED5i c\u1EE7a b\u1EA1n?","content-manager.popUpWarning.warning.updateAllSettings":"N\xF3 s\u1EBD thay \u0111\u1ED5i t\u1EA5t c\u1EA3 c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.success.record.delete":"\u0110\xE3 xo\xE1","content-manager.success.record.save":"\u0110\xE3 l\u01B0u","form.button.done":"Ho\xE0n th\xE0nh","notification.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra","notification.error.layout":"Kh\xF4ng th\u1EC3 kh\xF4i ph\u1EE5c","notification.form.error.fields":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","request.error.model.unknown":"C\u1EA5u tr\xFAc n\xE0y kh\xF4ng t\u1ED3n t\u1EA1i"}')}}]);
@@ -1,23 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{26972:(V,x,o)=>{"use strict";o.d(x,{Z:()=>it});var e=o(32735),u=o(10938),v=o(16540),l=o(84968),a=o(5141),s=o(41072),g=o(16558),P=o(60216),c=o.n(P),I=o(59716),Ee=o.n(I),ye=o(98221),Y=o.n(ye),be=o(46824),Pe=o.n(be),q=o(11856),F=o(9808),_=o(44526),w=o(90662),K=o(37178),M=o(78330),j=o(83281),L=o(5636),ee=o(20001),T=o(95602),te=o(19615),Ce=o(35980),Oe=o(52111),Me=o(23940),Se=o.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:i,handleChange:f,handleChangeAll:y})=>{const C=r.filter(m=>!n.includes(m)),d=i.length===C.length,h=i.length>0,b=({target:{name:m}})=>{y({target:{name:m,value:!d}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:h&&!d,"aria-label":"Select all entries",name:t,onChange:b,value:d},Se()(t))),r.map(m=>e.createElement("td",{key:m},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(m),"aria-label":m,name:m,value:i.includes(m),onValueChange:E=>f({target:{name:m,value:E}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange:()=>{},handleChangeAll:()=>{}},H.propTypes={disabledEvents:c().array,events:c().array,inputValue:c().array,handleChange:c().func,handleChangeAll:c().func,name:c().string.isRequired};const xe=H,Ie=n=>n.reduce((t,r)=>{const i=r.split(".")[0];return t[i]||(t[i]=[]),t[i].push(r),t},{}),we=te.default.table`
2
- td {
3
- height: ${52/16}rem;
4
- width: 10%;
5
- vertical-align: middle;
6
- text-align: center;
7
- }
8
-
9
- tbody tr:nth-child(odd) {
10
- background: ${({theme:n})=>n.colors.neutral100};
11
- }
12
-
13
- tbody tr td:first-child {
14
- padding-left: ${({theme:n})=>n.spaces[7]};
15
- }
16
- `,z={headers:{default:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete"],draftAndPublish:["Settings.webhooks.events.create","Settings.webhooks.events.update","app.utils.delete","app.utils.publish","app.utils.unpublish"]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},ne=({isDraftAndPublish:n})=>{const t=n?z.headers.draftAndPublish:z.headers.default,r=n?z.events.draftAndPublish:z.events.default,{formatMessage:i}=(0,L.useIntl)(),{values:f,handleChange:y}=(0,j.useFormikContext)(),C="events",d=f.events,h=[],b=Ie(d),m=({target:{name:p,value:A}})=>{let O=new Set(d);A?O.add(p):O.delete(p),y({target:{name:C,value:Array.from(O)}})},E=({target:{name:p,value:A}})=>{let O=new Set(d);A?r[p].forEach(k=>{h.includes(k)||O.add(k)}):r[p].forEach(k=>O.delete(k)),y({target:{name:C,value:Array.from(O)}})};return e.createElement(w.Stack,{spacing:1},e.createElement(ee.FieldLabel,null,i({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(we,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(p=>p==="app.utils.publish"||p==="app.utils.unpublish"?e.createElement("td",{key:p,title:i({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(T.Typography,{variant:"sigma",textColor:"neutral600"},i({id:p,defaultMessage:p}))):e.createElement("td",{key:p},e.createElement(T.Typography,{variant:"sigma",textColor:"neutral600"},i({id:p,defaultMessage:p})))))),e.createElement("tbody",null,Object.keys(r).map(p=>e.createElement(xe,{disabledEvents:h,key:p,name:p,events:r[p],inputValue:b[p],handleChange:m,handleChangeAll:E})))))};ne.propTypes={isDraftAndPublish:c().bool.isRequired};const Te=ne;var Re=o(32365),Ae=o.n(Re),B=o(19192),ke=o(74201),re=o(14715);const ae=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];var De=Object.defineProperty,je=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable,se=(n,t,r)=>t in n?De(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Ve=(n,t)=>{for(var r in t||(t={}))oe.call(t,r)&&se(n,r,t[r]);if(W)for(var r of W(t))le.call(t,r)&&se(n,r,t[r]);return n},Be=(n,t)=>je(n,Le(t)),Fe=(n,t)=>{var r={};for(var i in n)oe.call(n,i)&&t.indexOf(i)<0&&(r[i]=n[i]);if(n!=null&&W)for(var i of W(n))t.indexOf(i)<0&&le.call(n,i)&&(r[i]=n[i]);return r};const N=n=>{var t=n,{name:r,onChange:i,value:f}=t,y=Fe(t,["name","onChange","value"]);const[C,d]=(0,e.useState)(f?[...ae,f]:ae),h=m=>{i({target:{name:r,value:m}})},b=m=>{d(E=>[...E,m]),i({target:{name:r,value:m}})};return e.createElement(re.CreatableCombobox,Be(Ve({},y),{onChange:h,onCreateOption:b,placeholder:"",value:f}),C.map(m=>e.createElement(re.ComboboxOption,{value:m,key:m},m)))};N.defaultProps={value:void 0},N.propTypes={name:c().string.isRequired,onChange:c().func.isRequired,value:c().string};const ze=N,We=()=>{const{formatMessage:n}=(0,L.useIntl)(),{values:t,errors:r}=(0,j.useFormikContext)();return e.createElement(w.Stack,{spacing:1},e.createElement(ee.FieldLabel,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(F.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(j.FieldArray,{validateOnChange:!1,name:"headers",render:({push:i,remove:f})=>{var y;return e.createElement(M.Grid,{gap:4},(y=t.headers)==null?void 0:y.map((C,d)=>{var h,b,m,E,p,A,O,k,$,G;return e.createElement(e.Fragment,{key:d},e.createElement(M.GridItem,{col:6},e.createElement(j.Field,{as:ze,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:((b=(h=r.headers)==null?void 0:h[d])==null?void 0:b.key)&&n({id:(m=r.headers[d])==null?void 0:m.key,defaultMessage:(E=r.headers[d])==null?void 0:E.key})})),e.createElement(M.GridItem,{col:6},e.createElement(B.Flex,{alignItems:"flex-end"},e.createElement(F.Box,{style:{flex:1}},e.createElement(j.Field,{as:K.TextInput,"aria-label":`row ${d+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:((A=(p=r.headers)==null?void 0:p[d])==null?void 0:A.value)&&n({id:(O=r.headers[d])==null?void 0:O.value,defaultMessage:(k=r.headers[d])==null?void 0:k.value})})),e.createElement(B.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:(G=($=r.headers)==null?void 0:$[d])!=null&&G.value?0:5},e.createElement(u.RemoveRoundedButton,{onClick:()=>t.headers.length!==1&&f(d),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))}),e.createElement(M.GridItem,{col:12},e.createElement(ke.TextButton,{type:"button",onClick:()=>{i({key:"",value:""})},startIcon:e.createElement(Ae(),null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))}})))};var Ue=o(55633),ie=o.n(Ue),$e=o(22301),Ge=o.n($e);const U=te.default.svg(({theme:n,color:t})=>`
17
- width: ${12/16}rem;
18
- height: ${12/16}rem;
19
-
20
- path {
21
- fill: ${n.colors[t]};
22
- }
23
- `),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(w.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(U,{as:Ge()}),e.createElement(T.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(w.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(U,{as:Y(),color:"success700"}),e.createElement(T.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(w.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(U,{as:ie(),color:"danger700"}),e.createElement(T.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:c().bool.isRequired,statusCode:c().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(B.Flex,{justifyContent:"flex-end"},e.createElement(T.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(B.Flex,{justifyContent:"flex-end"},e.createElement(B.Flex,{maxWidth:(0,u.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(T.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:c().number,message:c().string},X.defaultProps={statusCode:void 0,message:void 0};const ue=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(B.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(w.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(T.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(U,{as:ie(),color:"neutral400"}))))};ue.propTypes={onCancel:c().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:i,message:f}=r,{formatMessage:y}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(M.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(M.GridItem,{col:3},e.createElement(T.Typography,null,y({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(M.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:i})),e.createElement(M.GridItem,{col:6},n?e.createElement(ue,{onCancel:t}):e.createElement(X,{statusCode:i,message:f}))))};Q.defaultProps={isPending:!1,onCancel:()=>{},response:{}},Q.propTypes={isPending:c().bool,onCancel:c().func,response:c().object};const Ke=Q;var R=o(5173);const He=new RegExp("(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)"),Ne=new RegExp("(^$)|((https?://.*)(d*)/?(.*))"),Ze=R.Ry().shape({name:R.Z_(u.translatedErrors.string).required(u.translatedErrors.required).matches(He,u.translatedErrors.regex),url:R.Z_(u.translatedErrors.string).required(u.translatedErrors.required).matches(Ne,u.translatedErrors.regex),headers:R.Vo(n=>{let t=R.IX();if(n.length===1){const{key:r,value:i}=n[0];if(!r&&!i)return t}return t.of(R.Ry().shape({key:R.Z_().required(u.translatedErrors.required),value:R.Z_().required(u.translatedErrors.required)}))}),events:R.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:i,isTriggering:f,triggerResponse:y,isDraftAndPublishEvents:C})=>{const{formatMessage:d}=(0,L.useIntl)(),[h,b]=(0,e.useState)(!1);return e.createElement(j.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([m,E])=>({key:m,value:E})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:m,errors:E})=>e.createElement(u.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(w.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),b(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:i||f,size:"L"},d({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:m,type:"submit",size:"L"},d({id:"global.save",defaultMessage:"Save"}))),title:i?d({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(u.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},d({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(w.Stack,{spacing:4},h&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(Ke,{isPending:f,response:y,onCancel:()=>b(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(w.Stack,{spacing:6},e.createElement(M.Grid,{gap:6},e.createElement(M.GridItem,{col:6},e.createElement(j.Field,{as:K.TextInput,name:"name",error:E.name&&d({id:E.name}),label:d({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(M.GridItem,{col:12},e.createElement(j.Field,{as:K.TextInput,name:"url",error:E.url&&d({id:E.url}),label:d({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(We,null),e.createElement(Te,{isDraftAndPublish:C})))))))};J.propTypes={data:c().object,handleSubmit:c().func.isRequired,triggerWebhook:c().func.isRequired,isCreating:c().bool.isRequired,isDraftAndPublishEvents:c().bool.isRequired,isTriggering:c().bool.isRequired,triggerResponse:c().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=o(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,de=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(de)for(var r of de(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:i,value:f}=r;return i!==""?tt(me({},t),{[i]:f}):t},{}),ge=nt;var fe=o(98399),at=Object.defineProperty,pe=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,st=(n,t)=>{for(var r in t||(t={}))ot.call(t,r)&&he(n,r,t[r]);if(pe)for(var r of pe(t))lt.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((i,f)=>{var y=h=>{try{d(r.next(h))}catch(b){f(b)}},C=h=>{try{d(r.throw(h))}catch(b){f(b)}},d=h=>h.done?i(h.value):Promise.resolve(h.value).then(y,C);d((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,a.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,a.useHistory)(),{lockApp:r,unlockApp:i}=(0,u.useOverlayBlocker)(),f=(0,u.useNotification)(),y=(0,l.useQueryClient)(),{isLoading:C,collectionTypes:d}=(0,s.bP)(),h=n==="create",b=(0,e.useCallback)(S=>ve(void 0,null,function*(){const[D,{data:mt}]=yield(0,u.to)((0,u.request)(`/admin/webhooks/${S}`,{method:"GET"}));return D?(f({type:"warning",message:{id:"notification.error"}}),null):mt}),[f]),{isLoading:m,data:E}=(0,l.useQuery)(["get-webhook",n],()=>b(n),{enabled:!h}),{isLoading:p,data:A,isIdle:O,mutate:k}=(0,l.useMutation)(()=>g.be.post(`/admin/webhooks/${n}/trigger`)),$=()=>k(null,{onError:()=>{f({type:"warning",message:{id:"notification.error"}})}}),G=(0,l.useMutation)(S=>(0,u.request)("/admin/webhooks",{method:"POST",body:S})),ut=(0,l.useMutation)(({id:S,body:D})=>(0,u.request)(`/admin/webhooks/${S}`,{method:"PUT",body:D})),dt=S=>ve(void 0,null,function*(){h?(r(),G.mutate(ge(S),{onSuccess:D=>{f({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${D.data.id}`),i()},onError:D=>{f({type:"warning",message:{id:"notification.error"}}),fe.log(D),i()}})):(r(),ut.mutate({id:n,body:ge(S)},{onSuccess:()=>{y.invalidateQueries(["get-webhook",n]),f({type:"success",message:{id:"notification.form.success.fields"}}),i()},onError:D=>{f({type:"warning",message:{id:"notification.error"}}),fe.log(D),i()}}))}),ct=(0,e.useMemo)(()=>d.some(S=>S.options.draftAndPublish===!0),[d]);return m||C?e.createElement(u.LoadingIndicatorPage,null):e.createElement(v.Main,null,e.createElement(u.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,st({},{handleSubmit:dt,data:E,triggerWebhook:$,isCreating:h,isTriggering:p,isTriggerIdle:O,triggerResponse:A==null?void 0:A.data.data,isDraftAndPublishEvents:ct})))}},12935:(V,x,o)=>{"use strict";o.r(x),o.d(x,{default:()=>g});var e=o(32735),u=o(10938),v=o.n(u),l=o(2805),a=o(26972);const g=()=>e.createElement(u.CheckPagePermissions,{permissions:l.Z.settings.webhooks.create},e.createElement(a.Z,null))},91849:(V,x,o)=>{"use strict";o.r(x),o.d(x,{default:()=>g});var e=o(32735),u=o(10938),v=o.n(u),l=o(2805),a=o(26972);const g=()=>e.createElement(u.CheckPagePermissions,{permissions:l.Z.settings.webhooks.update},e.createElement(a.Z,null))},22301:function(V,x,o){(function(e,u){V.exports=u(o(32735))})(this,function(e){return function(u){var v={};function l(a){if(v[a])return v[a].exports;var s=v[a]={i:a,l:!1,exports:{}};return u[a].call(s.exports,s,s.exports,l),s.l=!0,s.exports}return l.m=u,l.c=v,l.d=function(a,s,g){l.o(a,s)||Object.defineProperty(a,s,{enumerable:!0,get:g})},l.r=function(a){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},l.t=function(a,s){if(1&s&&(a=l(a)),8&s||4&s&&typeof a=="object"&&a&&a.__esModule)return a;var g=Object.create(null);if(l.r(g),Object.defineProperty(g,"default",{enumerable:!0,value:a}),2&s&&typeof a!="string")for(var P in a)l.d(g,P,function(c){return a[c]}.bind(null,P));return g},l.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return l.d(s,"a",s),s},l.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},l.p="",l(l.s=108)}({0:function(u,v){u.exports=e},108:function(u,v,l){"use strict";l.r(v);var a=l(0);function s(){return(s=Object.assign||function(g){for(var P=1;P<arguments.length;P++){var c=arguments[P];for(var I in c)Object.prototype.hasOwnProperty.call(c,I)&&(g[I]=c[I])}return g}).apply(this,arguments)}v.default=function(g){return a.createElement("svg",s({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},g),a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.057 18c.552 0 1 .451 1 .997v4.006a1 1 0 01-.941.995l-.059.002c-.552 0-1-.451-1-.997v-4.006a1 1 0 01.941-.995l.06-.002zm-3.06-.736l.055.03c.478.276.64.89.367 1.364l-2.002 3.468a1 1 0 01-1.31.394l-.055-.03a1.002 1.002 0 01-.368-1.363l2.003-3.469a1 1 0 011.31-.394zm7.42.394l2.002 3.468a1 1 0 01-.314 1.331l-.053.033a1.002 1.002 0 01-1.365-.363l-2.003-3.469a1 1 0 01.314-1.33l.054-.034a1.002 1.002 0 011.364.364zm-9.548-2.66l.033.054c.276.478.11 1.091-.364 1.364L3.07 18.42a1 1 0 01-1.331-.314l-.033-.053a1.001 1.001 0 01.364-1.365l3.468-2.003a1 1 0 011.33.314zm11.79-.313l3.468 2.002a1 1 0 01.393 1.31l-.03.055c-.276.478-.89.64-1.363.367l-3.469-2.003a1 1 0 01-.394-1.309l.03-.055c.276-.479.89-.64 1.364-.367zm4.344-3.628a1 1 0 01.995.941l.002.06c0 .551-.451 1-.997 1h-4.006a1 1 0 01-.995-.942L18 12.057c0-.552.451-1 .997-1h4.006zm-18 0a1 1 0 01.995.941l.002.06c0 .551-.451 1-.998 1H.998a1 1 0 01-.996-.942L0 12.057c0-.552.451-1 .998-1h4.004zm17.454-5.059l.033.054c.277.478.11 1.091-.363 1.365l-3.469 2.002a1 1 0 01-1.33-.314l-.034-.053a1.002 1.002 0 01.364-1.365l3.468-2.003a1 1 0 011.331.314zM3.07 5.684l3.468 2.003a1 1 0 01.394 1.31l-.03.055c-.276.478-.89.64-1.364.367L2.07 7.417a1 1 0 01-.394-1.31l.03-.055c.276-.479.89-.64 1.364-.368zm14.926-4.008l.056.03c.478.276.64.89.367 1.364l-2.003 3.468a1 1 0 01-1.309.394l-.055-.03a1.002 1.002 0 01-.367-1.364l2.002-3.468a1 1 0 011.31-.394zm-10.58.394L9.42 5.538a1 1 0 01-.314 1.33l-.053.034a1.002 1.002 0 01-1.365-.364L5.684 3.07a1 1 0 01.314-1.331l.054-.033a1.002 1.002 0 011.365.364zM12.058 0c.552 0 1 .451 1 .998v4.004a1 1 0 01-.941.996L12.057 6c-.552 0-1-.451-1-.998V.998a1 1 0 01.941-.996l.06-.002z",fill:"#212134"}))}}})})},46824:function(V,x,o){(function(e,u){V.exports=u(o(32735))})(this,function(e){return function(u){var v={};function l(a){if(v[a])return v[a].exports;var s=v[a]={i:a,l:!1,exports:{}};return u[a].call(s.exports,s,s.exports,l),s.l=!0,s.exports}return l.m=u,l.c=v,l.d=function(a,s,g){l.o(a,s)||Object.defineProperty(a,s,{enumerable:!0,get:g})},l.r=function(a){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},l.t=function(a,s){if(1&s&&(a=l(a)),8&s||4&s&&typeof a=="object"&&a&&a.__esModule)return a;var g=Object.create(null);if(l.r(g),Object.defineProperty(g,"default",{enumerable:!0,value:a}),2&s&&typeof a!="string")for(var P in a)l.d(g,P,function(c){return a[c]}.bind(null,P));return g},l.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return l.d(s,"a",s),s},l.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},l.p="",l(l.s=145)}({0:function(u,v){u.exports=e},145:function(u,v,l){"use strict";l.r(v);var a=l(0);function s(){return(s=Object.assign||function(g){for(var P=1;P<arguments.length;P++){var c=arguments[P];for(var I in c)Object.prototype.hasOwnProperty.call(c,I)&&(g[I]=c[I])}return g}).apply(this,arguments)}v.default=function(g){return a.createElement("svg",s({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},g),a.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})}}]);
@@ -1,133 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{55470:(R,H,f)=>{"use strict";R.exports=f(17173)},17173:function(R,H,f){(function(l,y){R.exports=y(f(32735),f(19615))})(this,function(l,y){return function(a){var u={};function e(o){if(u[o])return u[o].exports;var i=u[o]={i:o,l:!1,exports:{}};return a[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=a,e.c=u,e.d=function(o,i,c){e.o(o,i)||Object.defineProperty(o,i,{enumerable:!0,get:c})},e.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},e.t=function(o,i){if(1&i&&(o=e(o)),8&i||4&i&&typeof o=="object"&&o&&o.__esModule)return o;var c=Object.create(null);if(e.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:o}),2&i&&typeof o!="string")for(var s in o)e.d(c,s,function(t){return o[t]}.bind(null,s));return c},e.n=function(o){var i=o&&o.__esModule?function(){return o.default}:function(){return o};return e.d(i,"a",i),i},e.o=function(o,i){return Object.prototype.hasOwnProperty.call(o,i)},e.p="",e(e.s=121)}({0:function(a,u,e){a.exports=e(19)()},1:function(a,u){a.exports=l},10:function(a,u,e){var o=e(25),i=e(26),c=e(22),s=e(27);a.exports=function(t,b){return o(t)||i(t,b)||c(t,b)||s()},a.exports.default=a.exports,a.exports.__esModule=!0},121:function(a,u,e){"use strict";e.r(u),e.d(u,"Switch",function(){return B});var o,i,c=e(5),s=e.n(c),t=e(4),b=e.n(t),h=e(3),g=e.n(h),k=e(1),O=e.n(k),n=e(0),r=e.n(n),d=e(2),w=e.n(d),j=e(9),I=e(6),J=["label","onChange","onLabel","offLabel","selected","visibleLabels"],F=w.a.div(o||(o=g()([`
2
- background: `,`;
3
- border: none;
4
- border-radius: 16px;
5
- position: relative;
6
- height: `,`rem;
7
- width: `,`rem;
8
-
9
- & span {
10
- font-size: `,`;
11
- }
12
-
13
- &:before {
14
- content: '';
15
- background: `,`;
16
- width: 1rem;
17
- height: 1rem;
18
- border-radius: 50%;
19
- position: absolute;
20
- transition: all 0.5s;
21
- left: `,`;
22
- top: `,`;
23
- }
24
-
25
- @media (prefers-reduced-motion: reduce) {
26
- &:before {
27
- transition: none;
28
- }
29
- }
30
- `])),function(T){return T.theme.colors.danger500},1.5,2.5,function(T){return T.visibleLabels?"1rem":0},function(T){return T.theme.colors.neutral0},function(T){return T.theme.spaces[1]},function(T){return T.theme.spaces[1]}),_=w.a.button(i||(i=g()([`
31
- background: transparent;
32
- padding: 0;
33
- border: none;
34
-
35
- &[aria-checked='true'] `,` {
36
- background: `,`;
37
- }
38
-
39
- &[aria-checked='true'] `,`:before {
40
- transform: translateX(1rem);
41
- }
42
- `])),F,function(T){return T.theme.colors.success500},F),B=O.a.forwardRef(function(T,q){var ee=T.label,ne=T.onChange,V=T.onLabel,K=T.offLabel,G=T.selected,$=T.visibleLabels,te=b()(T,J);return O.a.createElement(_,s()({ref:q,role:"switch","aria-checked":G,"aria-label":ee,onClick:ne,visibleLabels:$,type:"button"},te),O.a.createElement(j.Flex,null,O.a.createElement(F,null,O.a.createElement("span",null,V),O.a.createElement("span",null,K)),$&&O.a.createElement(I.Box,{as:"span","aria-hidden":!0,paddingLeft:2,color:G?"success600":"danger600"},G?V:K)))});B.defaultProps={onLabel:"On",offLabel:"Off",visibleLabels:!1},B.propTypes={label:r.a.string.isRequired,offLabel:r.a.string,onChange:r.a.func.isRequired,onLabel:r.a.string,selected:r.a.bool.isRequired,visibleLabels:r.a.bool},B.displayName="Switch"},13:function(a,u){function e(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?(a.exports=e=function(i){return typeof i},a.exports.default=a.exports,a.exports.__esModule=!0):(a.exports=e=function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},a.exports.default=a.exports,a.exports.__esModule=!0),e(o)}a.exports=e,a.exports.default=a.exports,a.exports.__esModule=!0},19:function(a,u,e){"use strict";var o=e(20);function i(){}function c(){}c.resetWarningCache=i,a.exports=function(){function s(h,g,k,O,n,r){if(r!==o){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}function t(){return s}s.isRequired=s;var b={array:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:t,element:s,elementType:s,instanceOf:t,node:s,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:i};return b.PropTypes=b,b}},2:function(a,u){a.exports=y},20:function(a,u,e){"use strict";a.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},21:function(a,u){a.exports=function(e,o){(o==null||o>e.length)&&(o=e.length);for(var i=0,c=new Array(o);i<o;i++)c[i]=e[i];return c},a.exports.default=a.exports,a.exports.__esModule=!0},22:function(a,u,e){var o=e(21);a.exports=function(i,c){if(i){if(typeof i=="string")return o(i,c);var s=Object.prototype.toString.call(i).slice(8,-1);return s==="Object"&&i.constructor&&(s=i.constructor.name),s==="Map"||s==="Set"?Array.from(i):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?o(i,c):void 0}},a.exports.default=a.exports,a.exports.__esModule=!0},24:function(a,u){a.exports=function(e,o){if(e==null)return{};var i,c,s={},t=Object.keys(e);for(c=0;c<t.length;c++)i=t[c],o.indexOf(i)>=0||(s[i]=e[i]);return s},a.exports.default=a.exports,a.exports.__esModule=!0},25:function(a,u){a.exports=function(e){if(Array.isArray(e))return e},a.exports.default=a.exports,a.exports.__esModule=!0},26:function(a,u){a.exports=function(e,o){var i=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(i!=null){var c,s,t=[],b=!0,h=!1;try{for(i=i.call(e);!(b=(c=i.next()).done)&&(t.push(c.value),!o||t.length!==o);b=!0);}catch(g){h=!0,s=g}finally{try{b||i.return==null||i.return()}finally{if(h)throw s}}return t}},a.exports.default=a.exports,a.exports.__esModule=!0},27:function(a,u){a.exports=function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
43
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},a.exports.default=a.exports,a.exports.__esModule=!0},3:function(a,u){a.exports=function(e,o){return o||(o=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(o)}}))},a.exports.default=a.exports,a.exports.__esModule=!0},4:function(a,u,e){var o=e(24);a.exports=function(i,c){if(i==null)return{};var s,t,b=o(i,c);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(i);for(t=0;t<h.length;t++)s=h[t],c.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(i,s)&&(b[s]=i[s])}return b},a.exports.default=a.exports,a.exports.__esModule=!0},5:function(a,u){function e(){return a.exports=e=Object.assign||function(o){for(var i=1;i<arguments.length;i++){var c=arguments[i];for(var s in c)Object.prototype.hasOwnProperty.call(c,s)&&(o[s]=c[s])}return o},a.exports.default=a.exports,a.exports.__esModule=!0,e.apply(this,arguments)}a.exports=e,a.exports.default=a.exports,a.exports.__esModule=!0},6:function(a,u,e){"use strict";e.r(u),e.d(u,"Box",function(){return O});var o,i=e(3),c=e.n(i),s=e(0),t=e.n(s),b=e(2),h=e.n(b),g=e(7),k={color:!0},O=h.a.div.withConfig({shouldForwardProp:function(n,r){return!k[n]&&r(n)}})(o||(o=c()([`
44
- // Font
45
- font-size: `,`;
46
-
47
- // Colors
48
- background: `,`;
49
- color: `,`;
50
-
51
- // Spaces
52
- `,`
53
- `,`
54
- `,`
55
- `,`
56
- `,`
57
- `,`
58
- `,`
59
- `,`
60
- `,`
61
-
62
- // Responsive hiding
63
- `,`
64
- `,`
65
-
66
-
67
- // Borders
68
- border-radius: `,`;
69
- border-style: `,`;
70
- border-width: `,`;
71
- border-color: `,`;
72
- border: `,`;
73
-
74
- // Shadows
75
- box-shadow: `,`;
76
-
77
- // Handlers
78
- pointer-events: `,`;
79
- &:hover {
80
- `,`
81
- }
82
-
83
- // Display
84
- display: `,`;
85
-
86
- // Position
87
- position: `,`;
88
- left: `,`;
89
- right: `,`;
90
- top: `,`;
91
- bottom: `,`;
92
- z-index: `,`;
93
- overflow: `,`;
94
- cursor: `,`;
95
-
96
- // Size
97
- width: `,`;
98
- max-width: `,`;
99
- min-width: `,`;
100
- height: `,`;
101
- max-height: `,`;
102
- min-height: `,`;
103
-
104
- // Animation
105
- transition: `,`;
106
- transform: `,`;
107
- animation: `,`;
108
-
109
- //Flexbox children props
110
- flex-shrink: `,`;
111
- flex-grow: `,`;
112
- flex-basis: `,`;
113
- flex: `,`;
114
-
115
- // Text
116
- text-align: `,`;
117
- text-transform: `,`;
118
- line-height: `,`;
119
-
120
- // Cursor
121
- cursor: `,`;
122
- `])),function(n){var r=n.fontSize;return n.theme.fontSizes[r]||r},function(n){var r=n.theme,d=n.background;return r.colors[d]},function(n){var r=n.theme,d=n.color;return r.colors[d]},function(n){var r=n.theme,d=n.padding;return Object(g.a)("padding",d,r)},function(n){var r=n.theme,d=n.paddingTop;return Object(g.a)("padding-top",d,r)},function(n){var r=n.theme,d=n.paddingRight;return Object(g.a)("padding-right",d,r)},function(n){var r=n.theme,d=n.paddingBottom;return Object(g.a)("padding-bottom",d,r)},function(n){var r=n.theme,d=n.paddingLeft;return Object(g.a)("padding-left",d,r)},function(n){var r=n.theme,d=n.marginLeft;return Object(g.a)("margin-left",d,r)},function(n){var r=n.theme,d=n.marginRight;return Object(g.a)("margin-right",d,r)},function(n){var r=n.theme,d=n.marginTop;return Object(g.a)("margin-top",d,r)},function(n){var r=n.theme,d=n.marginBottom;return Object(g.a)("margin-bottom",d,r)},function(n){var r=n.theme;return n.hiddenS?"".concat(r.mediaQueries.tablet," { display: none; }"):void 0},function(n){var r=n.theme;return n.hiddenXS?"".concat(r.mediaQueries.mobile," { display: none; }"):void 0},function(n){var r=n.theme,d=n.hasRadius,w=n.borderRadius;return d?r.borderRadius:w},function(n){return n.borderStyle},function(n){return n.borderWidth},function(n){var r=n.borderColor;return n.theme.colors[r]},function(n){var r=n.theme,d=n.borderColor,w=n.borderStyle,j=n.borderWidth;if(d&&!w&&!j)return"1px solid ".concat(r.colors[d])},function(n){var r=n.theme,d=n.shadow;return r.shadows[d]},function(n){return n.pointerEvents},function(n){var r=n._hover,d=n.theme;return r?r(d):void 0},function(n){return n.display},function(n){return n.position},function(n){var r=n.left;return n.theme.spaces[r]||r},function(n){var r=n.right;return n.theme.spaces[r]||r},function(n){var r=n.top;return n.theme.spaces[r]||r},function(n){var r=n.bottom;return n.theme.spaces[r]||r},function(n){return n.zIndex},function(n){return n.overflow},function(n){return n.cursor},function(n){var r=n.width;return n.theme.spaces[r]||r},function(n){var r=n.maxWidth;return n.theme.spaces[r]||r},function(n){var r=n.minWidth;return n.theme.spaces[r]||r},function(n){var r=n.height;return n.theme.spaces[r]||r},function(n){var r=n.maxHeight;return n.theme.spaces[r]||r},function(n){var r=n.minHeight;return n.theme.spaces[r]||r},function(n){return n.transition},function(n){return n.transform},function(n){return n.animation},function(n){return n.shrink},function(n){return n.grow},function(n){return n.basis},function(n){return n.flex},function(n){return n.textAlign},function(n){return n.textTransform},function(n){return n.lineHeight},function(n){return n.cursor});O.displayName="Box",O.defaultProps={background:void 0,borderColor:void 0,color:void 0,hiddenS:!1,hiddenXS:!1,padding:void 0,paddingTop:void 0,paddingRight:void 0,paddingBottom:void 0,paddingLeft:void 0,hasRadius:!1,shadow:void 0,children:null,shrink:void 0,grow:void 0,basis:void 0,flex:void 0,_hover:function(){}},O.propTypes={_hover:t.a.func,background:t.a.string,basis:t.a.oneOfType([t.a.string,t.a.string]),borderColor:t.a.string,children:t.a.oneOfType([t.a.node,t.a.string]),color:t.a.string,flex:t.a.oneOfType([t.a.string,t.a.string]),grow:t.a.oneOfType([t.a.string,t.a.string]),hasRadius:t.a.bool,hiddenS:t.a.bool,hiddenXS:t.a.bool,padding:t.a.oneOfType([t.a.number,t.a.arrayOf(t.a.number)]),paddingBottom:t.a.oneOfType([t.a.number,t.a.arrayOf(t.a.number)]),paddingLeft:t.a.oneOfType([t.a.number,t.a.arrayOf(t.a.number)]),paddingRight:t.a.oneOfType([t.a.number,t.a.arrayOf(t.a.number)]),paddingTop:t.a.oneOfType([t.a.number,t.a.arrayOf(t.a.number)]),shadow:t.a.string,shrink:t.a.oneOfType([t.a.string,t.a.string])}},7:function(a,u,e){"use strict";var o=e(10),i=e.n(o),c=e(13),s=e.n(c);u.a=function(t,b,h){var g=b;if(Array.isArray(b)||s()(b)!=="object"||(g=[b==null?void 0:b.desktop,b==null?void 0:b.tablet,b==null?void 0:b.mobile]),g!==void 0){if(Array.isArray(g)){var k=g,O=i()(k,3),n=O[0],r=O[1],d=O[2],w="".concat(t,": ").concat(h.spaces[n],";");return r!==void 0&&(w+="".concat(h.mediaQueries.tablet,`{
123
- `).concat(t,": ").concat(h.spaces[r],`;
124
- }`)),d!==void 0&&(w+="".concat(h.mediaQueries.mobile,`{
125
- `).concat(t,": ").concat(h.spaces[d],`;
126
- }`)),w}var j=h.spaces[g]||g;return"".concat(t,": ").concat(j,";")}}},9:function(a,u,e){"use strict";e.r(u),e.d(u,"Flex",function(){return n});var o,i=e(3),c=e.n(i),s=e(0),t=e.n(s),b=e(2),h=e.n(b),g=e(6),k=e(7),O={direction:!0},n=h()(g.Box).withConfig({shouldForwardProp:function(r,d){return!O[r]&&d(r)}})(o||(o=c()([`
127
- align-items: `,`;
128
- display: `,`;
129
- flex-direction: `,`;
130
- flex-wrap: `,`;
131
- `,`};
132
- justify-content: `,`;
133
- `])),function(r){return r.alignItems},function(r){return r.inline?"inline-flex":"flex"},function(r){return r.direction},function(r){return r.wrap},function(r){var d=r.gap,w=r.theme;return Object(k.a)("gap",d,w)},function(r){return r.justifyContent});n.defaultProps={alignItems:"center",basis:void 0,direction:"row",gap:void 0,inline:!1,justifyContent:void 0,reverse:!1,wrap:void 0},n.propTypes={alignItems:t.a.string,basis:t.a.oneOfType([t.a.string,t.a.number]),direction:t.a.string,gap:t.a.oneOfType([t.a.shape({desktop:t.a.number,mobile:t.a.number,tablet:t.a.number}),t.a.number,t.a.arrayOf(t.a.number),t.a.string]),inline:t.a.bool,justifyContent:t.a.string,reverse:t.a.bool,wrap:t.a.string}}})})},54999:(R,H,f)=>{"use strict";f.r(H),f.d(H,{default:()=>Ee});var l=f(32735),y=f(10938),a=f(2805),u=f(5141),e=f(5636),o=f(11856),i=f(64354),c=f(19192),s=f(90662),t=f(20763),b=f(35980),h=f(53214),g=f(95602),k=f(44526),O=f(28004),n=f(55470),r=f(16540),d=f(29270),w=f(9808),j=f(32365),I=f.n(j),J=f(97642),F=f.n(J),_=f(22081),B=f.n(_),T=f(7219),q=f.n(T),ee=f(49415),ne=f(3040),V=f.n(ne);const K={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},$=(E,v)=>(0,ee.default)(E,m=>{switch(v.type){case"GET_DATA_SUCCEEDED":{m.webhooks=v.data,m.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{m.loadingWebhooks=!E.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{V()(m,["webhooks",...v.keys],v.value);break}case"SET_WEBHOOK_TO_DELETE":{m.webhookToDelete=v.id;break}case"SET_WEBHOOKS_TO_DELETE":{v.value?m.webhooksToDelete.push(v.id):m.webhooksToDelete=E.webhooksToDelete.filter(S=>S!==v.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{E.webhooksToDelete.length===0?m.webhooksToDelete=E.webhooks.map(S=>S.id):m.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{m.webhooks=E.webhooks.filter(S=>!E.webhooksToDelete.includes(S.id)),m.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{m.webhooks=E.webhooks.filter((S,W)=>W!==v.index),m.webhookToDelete=null;break}default:return m}});var te=f(98399),pe=Object.defineProperty,he=Object.defineProperties,me=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,ie=(E,v,m)=>v in E?pe(E,v,{enumerable:!0,configurable:!0,writable:!0,value:m}):E[v]=m,z=(E,v)=>{for(var m in v||(v={}))be.call(v,m)&&ie(E,m,v[m]);if(ae)for(var m of ae(v))ge.call(v,m)&&ie(E,m,v[m]);return E},ve=(E,v)=>he(E,me(v)),U=(E,v,m)=>new Promise((S,W)=>{var A=D=>{try{x(m.next(D))}catch(M){W(M)}},C=D=>{try{x(m.throw(D))}catch(M){W(M)}},x=D=>D.done?S(D.value):Promise.resolve(D.value).then(A,C);x((m=m.apply(E,v)).next())});const ye=()=>{const{isLoading:E,allowedActions:{canCreate:v,canRead:m,canUpdate:S,canDelete:W}}=(0,y.useRBAC)(a.Z.settings.webhooks),A=(0,y.useNotification)(),C=(0,l.useRef)(!0),{formatMessage:x}=(0,e.useIntl)(),[D,M]=(0,l.useState)(!1),[{webhooks:Q,webhooksToDelete:X,webhookToDelete:re,loadingWebhooks:oe},P]=(0,l.useReducer)($,K),{notifyStatus:xe}=(0,d.useNotifyAT)();(0,y.useFocusWhenNavigate)();const{push:Oe}=(0,u.useHistory)(),{pathname:le}=(0,u.useLocation)(),Z=Q.length,N=X.length,se=p=>Q.findIndex(L=>L.id===p);(0,l.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]),(0,l.useEffect)(()=>{m&&Te()},[m]);const Te=()=>U(void 0,null,function*(){try{const{data:p}=yield(0,y.request)("/admin/webhooks",{method:"GET"});C.current&&(P({type:"GET_DATA_SUCCEEDED",data:p}),xe("webhooks have been loaded"))}catch(p){te.log(p),C.current&&(p.code!==20&&A({type:"warning",message:{id:"notification.error"}}),P({type:"TOGGLE_LOADING"}))}}),we=()=>{M(p=>!p)},ke=()=>{re?Se():Le()},Se=()=>U(void 0,null,function*(){try{yield(0,y.request)(`/admin/webhooks/${re}`,{method:"DELETE"}),P({type:"WEBHOOK_DELETED",index:se(re)})}catch(p){p.code!==20&&A({type:"warning",message:{id:"notification.error"}})}M(!1)}),Le=()=>U(void 0,null,function*(){const p={ids:X};try{yield(0,y.request)("/admin/webhooks/batch-delete",{method:"POST",body:p}),C.current&&P({type:"WEBHOOKS_DELETED"})}catch(L){C.current&&L.code!==20&&A({type:"warning",message:{id:"notification.error"}})}M(!1)}),ue=p=>{M(!0),p!=="all"&&P({type:"SET_WEBHOOK_TO_DELETE",id:p})},Ce=(p,L)=>U(void 0,null,function*(){const ce=se(L),Me=Q[ce],de=[ce,"isEnabled"],fe=ve(z({},Me),{isEnabled:p});delete fe.id;try{P({type:"SET_WEBHOOK_ENABLED",keys:de,value:p}),yield(0,y.request)(`/admin/webhooks/${L}`,{method:"PUT",body:fe})}catch(je){C.current&&(P({type:"SET_WEBHOOK_ENABLED",keys:de,value:!p}),je.code!==20&&A({type:"warning",message:{id:"notification.error"}}))}}),De=()=>{P({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Pe=(p,L)=>{P({type:"SET_WEBHOOKS_TO_DELETE",value:p,id:L})},Y=p=>{Oe(`${le}/${p}`)};return l.createElement(o.Layout,null,l.createElement(y.SettingsPageTitle,{name:"Webhooks"}),l.createElement(r.Main,{"aria-busy":E||oe},l.createElement(o.HeaderLayout,{title:x({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:x({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:v&&!oe&&l.createElement(y.LinkButton,{startIcon:l.createElement(I(),null),variant:"default",to:`${le}/create`,size:"L"},x({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),N>0&&W&&l.createElement(o.ActionLayout,{startActions:l.createElement(l.Fragment,null,l.createElement(g.Typography,{variant:"epsilon",textColor:"neutral600"},x({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:N})),l.createElement(k.Button,{onClick:()=>ue("all"),startIcon:l.createElement(B(),null),size:"L",variant:"danger-light"},x({id:"global.delete",defaultMessage:"Delete"})))}),l.createElement(o.ContentLayout,null,E||oe?l.createElement(w.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},l.createElement(y.LoadingIndicatorPage,null)):l.createElement(l.Fragment,null,Z>0?l.createElement(h.Table,{colCount:5,rowCount:Z+1,footer:l.createElement(h.TFooter,{onClick:()=>v?Y("create"):{},icon:l.createElement(I(),null)},x({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},l.createElement(h.Thead,null,l.createElement(h.Tr,null,l.createElement(h.Th,null,l.createElement(b.BaseCheckbox,{"aria-label":x({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:N>0&&N<Z,value:N===Z,onValueChange:De})),l.createElement(h.Th,{width:"20%"},l.createElement(g.Typography,{variant:"sigma",textColor:"neutral600"},x({id:"global.name",defaultMessage:"Name"}))),l.createElement(h.Th,{width:"60%"},l.createElement(g.Typography,{variant:"sigma",textColor:"neutral600"},x({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),l.createElement(h.Th,{width:"20%"},l.createElement(g.Typography,{variant:"sigma",textColor:"neutral600"},x({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),l.createElement(h.Th,null,l.createElement(O.VisuallyHidden,null,x({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),l.createElement(h.Tbody,null,Q.map(p=>l.createElement(h.Tr,z({key:p.id},(0,y.onRowClick)({fn:()=>Y(p.id),condition:S})),l.createElement(h.Td,z({},y.stopPropagation),l.createElement(b.BaseCheckbox,{"aria-label":`${x({id:"global.select",defaultMessage:"Select"})} ${p.name}`,value:X==null?void 0:X.includes(p.id),onValueChange:L=>Pe(L,p.id),id:"select",name:"select"})),l.createElement(h.Td,null,l.createElement(g.Typography,{fontWeight:"semiBold",textColor:"neutral800"},p.name)),l.createElement(h.Td,null,l.createElement(g.Typography,{textColor:"neutral800"},p.url)),l.createElement(h.Td,null,l.createElement(c.Flex,z({},y.stopPropagation),l.createElement(n.Switch,{onLabel:x({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:x({id:"global.disabled",defaultMessage:"Disabled"}),label:`${p.name} ${x({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:p.isEnabled,onChange:()=>Ce(!p.isEnabled,p.id),visibleLabels:!0}))),l.createElement(h.Td,null,l.createElement(s.Stack,z({horizontal:!0,spacing:1},y.stopPropagation),S&&l.createElement(t.IconButton,{onClick:()=>{Y(p.id)},label:x({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:l.createElement(F(),null),noBorder:!0}),W&&l.createElement(t.IconButton,{onClick:()=>ue(p.id),label:x({id:"global.delete",defaultMessage:"Delete"}),icon:l.createElement(B(),null),noBorder:!0,id:`delete-${p.id}`}))))))):l.createElement(i.EmptyStateLayout,{icon:l.createElement(q(),{width:"160px"}),content:x({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:l.createElement(k.Button,{variant:"secondary",startIcon:l.createElement(I(),null),onClick:()=>v?Y("create"):{}},x({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),l.createElement(y.ConfirmDialog,{isOpen:D,onToggleDialog:we,onConfirm:ke}))},Ee=()=>l.createElement(y.CheckPagePermissions,{permissions:a.Z.settings.webhooks.main},l.createElement(ye,null))},7219:function(R,H,f){(function(l,y){R.exports=y(f(32735))})(this,function(l){return function(y){var a={};function u(e){if(a[e])return a[e].exports;var o=a[e]={i:e,l:!1,exports:{}};return y[e].call(o.exports,o,o.exports,u),o.l=!0,o.exports}return u.m=y,u.c=a,u.d=function(e,o,i){u.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:i})},u.r=function(e){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,o){if(1&o&&(e=u(e)),8&o||4&o&&typeof e=="object"&&e&&e.__esModule)return e;var i=Object.create(null);if(u.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&o&&typeof e!="string")for(var c in e)u.d(i,c,function(s){return e[s]}.bind(null,c));return i},u.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(o,"a",o),o},u.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},u.p="",u(u.s=63)}({0:function(y,a){y.exports=l},63:function(y,a,u){"use strict";u.r(a);var e=u(0);function o(){return(o=Object.assign||function(i){for(var c=1;c<arguments.length;c++){var s=arguments[c];for(var t in s)Object.prototype.hasOwnProperty.call(s,t)&&(i[t]=s[t])}return i}).apply(this,arguments)}a.default=function(i){return e.createElement("svg",o({width:"1em",height:"1em",viewBox:"0 0 216 120",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i),e.createElement("g",{opacity:.84,clipPath:"url(#EmptyDocuments_svg__clip0_1142_57509)"},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M189.25 19.646a7.583 7.583 0 010 15.166h-43.333a7.583 7.583 0 010 15.167h23.833a7.583 7.583 0 010 15.167h-11.022c-5.28 0-9.561 3.395-9.561 7.583 0 1.956 1.063 3.782 3.19 5.48 2.017 1.608 4.824 1.817 7.064 3.096a7.583 7.583 0 01-3.754 14.174H65.75a7.583 7.583 0 010-15.166H23.5a7.583 7.583 0 110-15.167h43.333a7.583 7.583 0 100-15.167H39.75a7.583 7.583 0 110-15.166h43.333a7.583 7.583 0 010-15.167H189.25zm0 30.333a7.583 7.583 0 110 15.166 7.583 7.583 0 010-15.166z",fill:"#D9D8FF",fillOpacity:.8}),e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M132.561 19.646l10.077 73.496.906 7.374a4.334 4.334 0 01-3.773 4.829l-63.44 7.789a4.333 4.333 0 01-4.83-3.772l-9.767-79.547a2.166 2.166 0 011.91-2.417l5.262-.59 63.655-7.162zM73.162 26.33l4.97-.557-4.97.557z",fill:"#fff"}),e.createElement("path",{d:"M73.162 26.33l4.97-.557m54.429-6.127l10.077 73.496.906 7.374a4.334 4.334 0 01-3.773 4.829l-63.44 7.789a4.333 4.333 0 01-4.83-3.772l-9.767-79.547a2.166 2.166 0 011.91-2.417l5.262-.59 63.655-7.162z",stroke:"#7B79FF",strokeWidth:2.5}),e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M129.818 24.27l9.122 66.608.82 6.682c.264 2.153-1.246 4.11-3.373 4.371l-56.812 6.976c-2.127.261-4.066-1.272-4.33-3.425l-8.83-71.908a2.167 2.167 0 011.887-2.415l7.028-.863",fill:"#F0F0FF"}),e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M135.331 5.833H85.978a2.97 2.97 0 00-2.107.873A2.97 2.97 0 0083 8.813v82.333c0 .823.333 1.567.872 2.106a2.97 2.97 0 002.107.873h63.917a2.97 2.97 0 002.106-.873 2.97 2.97 0 00.873-2.106V23.367a2.98 2.98 0 00-.873-2.107L137.437 6.705a2.98 2.98 0 00-2.106-.872z",fill:"#fff",stroke:"#7B79FF",strokeWidth:2.5}),e.createElement("path",{d:"M135.811 7.082v12.564a3.25 3.25 0 003.25 3.25h8.595M94.644 78.146h28.167m-28.167-55.25h28.167-28.167zm0 13h46.584-46.584zm0 14.083h46.584-46.584zm0 14.084h46.584-46.584z",stroke:"#7B79FF",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round"})),e.createElement("defs",null,e.createElement("clipPath",{id:"EmptyDocuments_svg__clip0_1142_57509"},e.createElement("path",{fill:"#fff",d:"M0 0h216v120H0z"}))))}}})})}}]);
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- const { createPolicy } = require('@strapi/utils').policy;
4
-
5
- /**
6
- * This policy is used for routes dealing with telemetry and analytics content.
7
- * It will fails when the telemetry has been disabled on the server.
8
- */
9
- module.exports = createPolicy({
10
- name: 'admin::isTelemetryEnabled',
11
- handler(_ctx, _config, { strapi }) {
12
- if (strapi.telemetry.isDisabled) {
13
- return false;
14
- }
15
- },
16
- });
@@ -1,161 +0,0 @@
1
- 'use strict';
2
-
3
- const path = require('path');
4
- const _ = require('lodash');
5
- const fs = require('fs-extra');
6
- const { isUsingTypeScript } = require('@strapi/typescript-utils');
7
- const getCustomAppConfigFile = require('./get-custom-app-config-file');
8
-
9
- const getPkgPath = name => path.dirname(require.resolve(`${name}/package.json`));
10
-
11
- async function createPluginsJs(plugins, dest) {
12
- const pluginsArray = plugins.map(({ pathToPlugin, name }) => {
13
- const shortName = _.camelCase(name);
14
-
15
- /**
16
- * path.join, on windows, it uses backslashes to resolve path.
17
- * The problem is that Webpack does not windows paths
18
- * With this tool, we need to rely on "/" and not "\".
19
- * This is the reason why '..\\..\\..\\node_modules\\@strapi\\plugin-content-type-builder/strapi-admin.js' was not working.
20
- * The regexp at line 105 aims to replace the windows backslashes by standard slash so that webpack can deal with them.
21
- * Backslash looks to work only for absolute paths with webpack => https://webpack.js.org/concepts/module-resolution/#absolute-paths
22
- */
23
- const realPath = path
24
- .join(path.relative(path.resolve(dest, 'admin', 'src'), pathToPlugin), 'strapi-admin.js')
25
- .replace(/\\/g, '/');
26
-
27
- return {
28
- name,
29
- pathToPlugin: realPath,
30
- shortName,
31
- };
32
- });
33
-
34
- const content = `
35
- ${pluginsArray
36
- .map(({ pathToPlugin, shortName }) => {
37
- const req = `'${pathToPlugin}'`;
38
-
39
- return `import ${shortName} from ${req};`;
40
- })
41
- .join('\n')}
42
-
43
-
44
- const plugins = {
45
- ${[...pluginsArray]
46
- .map(({ name, shortName }) => {
47
- return ` '${name}': ${shortName},`;
48
- })
49
- .join('\n')}
50
- };
51
-
52
- export default plugins;
53
- `;
54
-
55
- return fs.writeFile(path.resolve(dest, 'admin', 'src', 'plugins.js'), content);
56
- }
57
-
58
- async function copyAdmin(dest) {
59
- const adminPath = getPkgPath('@strapi/admin');
60
-
61
- // TODO copy ee folders for plugins
62
- await fs.copy(path.resolve(adminPath, 'ee', 'admin'), path.resolve(dest, 'ee', 'admin'));
63
-
64
- await fs.ensureDir(path.resolve(dest, 'config'));
65
- await fs.copy(path.resolve(adminPath, 'admin'), path.resolve(dest, 'admin'));
66
-
67
- // Copy package.json
68
- await fs.copy(path.resolve(adminPath, 'package.json'), path.resolve(dest, 'package.json'));
69
- }
70
-
71
- async function createCacheDir({ appDir, plugins }) {
72
- const cacheDir = path.resolve(appDir, '.cache');
73
-
74
- const useTypeScript = await isUsingTypeScript(path.join(appDir, 'src', 'admin'), 'tsconfig.json');
75
-
76
- const pluginsWithFront = Object.keys(plugins)
77
- .filter(pluginName => {
78
- const pluginInfo = plugins[pluginName];
79
- return fs.existsSync(path.resolve(pluginInfo.pathToPlugin, 'strapi-admin.js'));
80
- })
81
- .map(name => ({ name, ...plugins[name] }));
82
-
83
- // create .cache dir
84
- await fs.emptyDir(cacheDir);
85
-
86
- // copy admin core code
87
- await copyAdmin(cacheDir);
88
-
89
- // Retrieve the custom config file extension
90
- const customAdminAppConfigFile = await getCustomAppConfigFile(appDir, useTypeScript);
91
-
92
- if (customAdminAppConfigFile) {
93
- const defaultAdminConfigFilePath = path.resolve(cacheDir, 'admin', 'src', 'app.js');
94
- const customAdminAppConfigFilePath = path.join(
95
- appDir,
96
- 'src',
97
- 'admin',
98
- customAdminAppConfigFile
99
- );
100
- const dest = path.resolve(cacheDir, 'admin', 'src', customAdminAppConfigFile);
101
-
102
- if (useTypeScript) {
103
- // Remove the default config file
104
- await fs.remove(defaultAdminConfigFilePath);
105
- // Copy the custom one
106
- await fs.copy(customAdminAppConfigFilePath, dest);
107
- } else {
108
- await fs.copy(customAdminAppConfigFilePath, dest);
109
- }
110
- }
111
-
112
- // Copy admin extensions folder
113
- const adminExtensionFolder = path.join(appDir, 'src', 'admin', 'extensions');
114
-
115
- if (fs.existsSync(adminExtensionFolder)) {
116
- await fs.copy(adminExtensionFolder, path.resolve(cacheDir, 'admin', 'src', 'extensions'));
117
- }
118
-
119
- // create plugins.js with plugins requires
120
- await createPluginsJs(pluginsWithFront, cacheDir);
121
-
122
- // create the tsconfig.json file so we can develop plugins in ts while being in a JS project
123
- if (!useTypeScript) {
124
- await createTSConfigFile(cacheDir);
125
- }
126
- }
127
-
128
- async function createTSConfigFile(dest) {
129
- const tsConfig = {
130
- compilerOptions: {
131
- lib: ['es2019', 'es2020.promise', 'es2020.bigint', 'es2020.string', 'DOM'],
132
- noImplicitAny: false,
133
- module: 'es2020',
134
- target: 'es5',
135
- jsx: 'react',
136
- allowJs: true,
137
- strict: true,
138
- moduleResolution: 'node',
139
- skipLibCheck: true,
140
- esModuleInterop: true,
141
- allowSyntheticDefaultImports: true,
142
- resolveJsonModule: true,
143
- noEmit: false,
144
- incremental: true,
145
- },
146
- include: ['../../../src/admin/*', '../../../src/**/**/admin/src/*'],
147
- exclude: ['node_modules', '**/*.test.js', '*.js'],
148
- };
149
-
150
- const filePath = path.join(dest, 'admin', 'src', 'tsconfig.json');
151
-
152
- try {
153
- await fs.ensureFile(filePath);
154
-
155
- await fs.writeJSON(filePath, tsConfig, { spaces: 2 });
156
- } catch (err) {
157
- console.log(err);
158
- }
159
- }
160
-
161
- module.exports = createCacheDir;
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- const { join } = require('path');
4
- const fse = require('fs-extra');
5
- const { isUsingTypeScript } = require('@strapi/typescript-utils');
6
-
7
- /**
8
- * Retrieve the custom admin entry file name
9
- * @param {String} dir - Directory of the admin panel
10
- * @returns String
11
- */
12
- const getCustomAppConfigFile = async dir => {
13
- const adminSrcPath = join(dir, 'src', 'admin');
14
- const useTypeScript = await isUsingTypeScript(adminSrcPath, 'tsconfig.json');
15
-
16
- const files = await fse.readdir(adminSrcPath);
17
-
18
- const appRegex = new RegExp(`app.${useTypeScript ? 't' : 'j'}sx?$`);
19
-
20
- return files.find(file => file.match(appRegex));
21
- };
22
-
23
- module.exports = getCustomAppConfigFile;
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- const path = require('path');
4
- const chalk = require('chalk');
5
- const _ = require('lodash');
6
- const webpack = require('webpack');
7
- const fs = require('fs-extra');
8
- const getWebpackConfig = require('../webpack.config');
9
-
10
- const getCustomWebpackConfig = (dir, config) => {
11
- const adminConfigPath = path.join(dir, 'src', 'admin', 'webpack.config.js');
12
-
13
- let webpackConfig = getWebpackConfig(config);
14
-
15
- if (fs.existsSync(adminConfigPath)) {
16
- const webpackAdminConfig = require(path.resolve(adminConfigPath));
17
-
18
- if (_.isFunction(webpackAdminConfig)) {
19
- // Expose the devServer configuration
20
- if (config.devServer) {
21
- webpackConfig.devServer = config.devServer;
22
- }
23
-
24
- webpackConfig = webpackAdminConfig(webpackConfig, webpack);
25
-
26
- if (!webpackConfig) {
27
- console.error(
28
- `${chalk.red('Error:')} Nothing was returned from your custom webpack configuration`
29
- );
30
- process.exit(1);
31
- }
32
- }
33
- }
34
-
35
- return webpackConfig;
36
- };
37
-
38
- module.exports = getCustomWebpackConfig;
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- const { join, resolve } = require('path');
4
- const fs = require('fs-extra');
5
- // eslint-disable-next-line node/no-extraneous-require
6
- const glob = require('glob');
7
-
8
- const getPluginsPath = () => {
9
- const rootPath = resolve(__dirname, '..', join('..', '..', '..', 'packages'));
10
- const corePath = join(rootPath, 'core', '*');
11
- const pluginsPath = join(rootPath, 'plugins', '*');
12
- const corePackageDirs = glob.sync(corePath);
13
- const pluginsPackageDirs = glob.sync(pluginsPath);
14
-
15
- const packageDirs = [...corePackageDirs, ...pluginsPackageDirs].filter(dir => {
16
- const isCoreAdmin = dir.includes('packages/core/admin');
17
- const pathToEntryPoint = join(dir, 'admin', 'src', 'index.js');
18
- const doesAdminFolderExist = fs.pathExistsSync(pathToEntryPoint);
19
-
20
- return !isCoreAdmin && doesAdminFolderExist;
21
- });
22
-
23
- return packageDirs.map(dir => resolve(__dirname, '..', join(dir, 'admin', 'src')));
24
- };
25
-
26
- module.exports = getPluginsPath;
package/utils/index.js DELETED
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const createCacheDir = require('./create-cache-dir');
4
- const getCustomWebpackConfig = require('./get-custom-webpack-config');
5
- const shouldBuildAdmin = require('./should-build-admin');
6
- const watchAdminFiles = require('./watch-admin-files');
7
-
8
- module.exports = {
9
- createCacheDir,
10
- getCustomWebpackConfig,
11
- shouldBuildAdmin,
12
- watchAdminFiles,
13
- };