@strapi/content-releases 0.0.0-experimental.d23f1485e5669cca1cee1bf5f8168b6b8109b78f → 0.0.0-experimental.d2ab08126cfde998bfecc0aad44d3ea2b29293a6

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 (380) hide show
  1. package/dist/_chunks/App-dLXY5ei3.js +1353 -0
  2. package/dist/_chunks/App-dLXY5ei3.js.map +1 -0
  3. package/dist/_chunks/App-jrh58sXY.mjs +1330 -0
  4. package/dist/_chunks/App-jrh58sXY.mjs.map +1 -0
  5. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs +51 -0
  6. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
  7. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js +51 -0
  8. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
  9. package/dist/_chunks/en-HrREghh3.js +86 -0
  10. package/dist/_chunks/en-HrREghh3.js.map +1 -0
  11. package/dist/_chunks/en-ltT1TlKQ.mjs +86 -0
  12. package/dist/_chunks/en-ltT1TlKQ.mjs.map +1 -0
  13. package/dist/_chunks/index-CVO0Rqdm.js +1336 -0
  14. package/dist/_chunks/index-CVO0Rqdm.js.map +1 -0
  15. package/dist/_chunks/index-PiOGBETy.mjs +1315 -0
  16. package/dist/_chunks/index-PiOGBETy.mjs.map +1 -0
  17. package/dist/admin/index.js +18 -148
  18. package/dist/admin/index.js.map +1 -1
  19. package/dist/admin/index.mjs +18 -143
  20. package/dist/admin/index.mjs.map +1 -1
  21. package/dist/server/index.js +1784 -25
  22. package/dist/server/index.js.map +1 -1
  23. package/dist/server/index.mjs +1763 -24
  24. package/dist/server/index.mjs.map +1 -1
  25. package/package.json +43 -39
  26. package/strapi-server.js +3 -0
  27. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +0 -6
  28. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +0 -1
  29. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +0 -4
  30. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +0 -1
  31. package/dist/admin/assets/purchase-page-illustration-light.svg.js +0 -6
  32. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +0 -1
  33. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +0 -4
  34. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +0 -1
  35. package/dist/admin/components/EntryValidationPopover.js +0 -310
  36. package/dist/admin/components/EntryValidationPopover.js.map +0 -1
  37. package/dist/admin/components/EntryValidationPopover.mjs +0 -308
  38. package/dist/admin/components/EntryValidationPopover.mjs.map +0 -1
  39. package/dist/admin/components/RelativeTime.js +0 -76
  40. package/dist/admin/components/RelativeTime.js.map +0 -1
  41. package/dist/admin/components/RelativeTime.mjs +0 -55
  42. package/dist/admin/components/RelativeTime.mjs.map +0 -1
  43. package/dist/admin/components/ReleaseAction.js +0 -203
  44. package/dist/admin/components/ReleaseAction.js.map +0 -1
  45. package/dist/admin/components/ReleaseAction.mjs +0 -201
  46. package/dist/admin/components/ReleaseAction.mjs.map +0 -1
  47. package/dist/admin/components/ReleaseActionMenu.js +0 -194
  48. package/dist/admin/components/ReleaseActionMenu.js.map +0 -1
  49. package/dist/admin/components/ReleaseActionMenu.mjs +0 -173
  50. package/dist/admin/components/ReleaseActionMenu.mjs.map +0 -1
  51. package/dist/admin/components/ReleaseActionModal.js +0 -268
  52. package/dist/admin/components/ReleaseActionModal.js.map +0 -1
  53. package/dist/admin/components/ReleaseActionModal.mjs +0 -244
  54. package/dist/admin/components/ReleaseActionModal.mjs.map +0 -1
  55. package/dist/admin/components/ReleaseActionOptions.js +0 -104
  56. package/dist/admin/components/ReleaseActionOptions.js.map +0 -1
  57. package/dist/admin/components/ReleaseActionOptions.mjs +0 -102
  58. package/dist/admin/components/ReleaseActionOptions.mjs.map +0 -1
  59. package/dist/admin/components/ReleaseListCell.js +0 -103
  60. package/dist/admin/components/ReleaseListCell.js.map +0 -1
  61. package/dist/admin/components/ReleaseListCell.mjs +0 -100
  62. package/dist/admin/components/ReleaseListCell.mjs.map +0 -1
  63. package/dist/admin/components/ReleaseModal.js +0 -323
  64. package/dist/admin/components/ReleaseModal.js.map +0 -1
  65. package/dist/admin/components/ReleaseModal.mjs +0 -302
  66. package/dist/admin/components/ReleaseModal.mjs.map +0 -1
  67. package/dist/admin/components/ReleasesPanel.js +0 -138
  68. package/dist/admin/components/ReleasesPanel.js.map +0 -1
  69. package/dist/admin/components/ReleasesPanel.mjs +0 -136
  70. package/dist/admin/components/ReleasesPanel.mjs.map +0 -1
  71. package/dist/admin/components/Widgets.js +0 -122
  72. package/dist/admin/components/Widgets.js.map +0 -1
  73. package/dist/admin/components/Widgets.mjs +0 -120
  74. package/dist/admin/components/Widgets.mjs.map +0 -1
  75. package/dist/admin/constants.js +0 -79
  76. package/dist/admin/constants.js.map +0 -1
  77. package/dist/admin/constants.mjs +0 -76
  78. package/dist/admin/constants.mjs.map +0 -1
  79. package/dist/admin/modules/hooks.js +0 -8
  80. package/dist/admin/modules/hooks.js.map +0 -1
  81. package/dist/admin/modules/hooks.mjs +0 -6
  82. package/dist/admin/modules/hooks.mjs.map +0 -1
  83. package/dist/admin/pages/App.js +0 -29
  84. package/dist/admin/pages/App.js.map +0 -1
  85. package/dist/admin/pages/App.mjs +0 -27
  86. package/dist/admin/pages/App.mjs.map +0 -1
  87. package/dist/admin/pages/PurchaseContentReleases.js +0 -192
  88. package/dist/admin/pages/PurchaseContentReleases.js.map +0 -1
  89. package/dist/admin/pages/PurchaseContentReleases.mjs +0 -190
  90. package/dist/admin/pages/PurchaseContentReleases.mjs.map +0 -1
  91. package/dist/admin/pages/ReleaseDetailsPage.js +0 -772
  92. package/dist/admin/pages/ReleaseDetailsPage.js.map +0 -1
  93. package/dist/admin/pages/ReleaseDetailsPage.mjs +0 -751
  94. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +0 -1
  95. package/dist/admin/pages/ReleasesPage.js +0 -403
  96. package/dist/admin/pages/ReleasesPage.js.map +0 -1
  97. package/dist/admin/pages/ReleasesPage.mjs +0 -381
  98. package/dist/admin/pages/ReleasesPage.mjs.map +0 -1
  99. package/dist/admin/pages/ReleasesSettingsPage.js +0 -225
  100. package/dist/admin/pages/ReleasesSettingsPage.js.map +0 -1
  101. package/dist/admin/pages/ReleasesSettingsPage.mjs +0 -223
  102. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +0 -1
  103. package/dist/admin/pluginId.js +0 -6
  104. package/dist/admin/pluginId.js.map +0 -1
  105. package/dist/admin/pluginId.mjs +0 -4
  106. package/dist/admin/pluginId.mjs.map +0 -1
  107. package/dist/admin/services/homepage.js +0 -24
  108. package/dist/admin/services/homepage.js.map +0 -1
  109. package/dist/admin/services/homepage.mjs +0 -22
  110. package/dist/admin/services/homepage.mjs.map +0 -1
  111. package/dist/admin/services/release.js +0 -474
  112. package/dist/admin/services/release.js.map +0 -1
  113. package/dist/admin/services/release.mjs +0 -457
  114. package/dist/admin/services/release.mjs.map +0 -1
  115. package/dist/admin/src/components/EntryValidationPopover.d.ts +0 -13
  116. package/dist/admin/src/components/RelativeTime.d.ts +0 -28
  117. package/dist/admin/src/components/ReleaseAction.d.ts +0 -3
  118. package/dist/admin/src/components/ReleaseActionMenu.d.ts +0 -26
  119. package/dist/admin/src/components/ReleaseActionModal.d.ts +0 -24
  120. package/dist/admin/src/components/ReleaseActionOptions.d.ts +0 -9
  121. package/dist/admin/src/components/ReleaseListCell.d.ts +0 -28
  122. package/dist/admin/src/components/ReleaseModal.d.ts +0 -17
  123. package/dist/admin/src/components/ReleasesPanel.d.ts +0 -3
  124. package/dist/admin/src/components/Widgets.d.ts +0 -2
  125. package/dist/admin/src/constants.d.ts +0 -77
  126. package/dist/admin/src/index.d.ts +0 -3
  127. package/dist/admin/src/modules/hooks.d.ts +0 -7
  128. package/dist/admin/src/pages/App.d.ts +0 -1
  129. package/dist/admin/src/pages/PurchaseContentReleases.d.ts +0 -2
  130. package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +0 -2
  131. package/dist/admin/src/pages/ReleasesPage.d.ts +0 -8
  132. package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +0 -1
  133. package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +0 -181
  134. package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +0 -39
  135. package/dist/admin/src/pluginId.d.ts +0 -1
  136. package/dist/admin/src/services/homepage.d.ts +0 -9
  137. package/dist/admin/src/services/release.d.ts +0 -112
  138. package/dist/admin/src/store/hooks.d.ts +0 -7
  139. package/dist/admin/src/utils/api.d.ts +0 -6
  140. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +0 -3
  141. package/dist/admin/src/utils/time.d.ts +0 -10
  142. package/dist/admin/src/validation/schemas.d.ts +0 -6
  143. package/dist/admin/store/hooks.js +0 -8
  144. package/dist/admin/store/hooks.js.map +0 -1
  145. package/dist/admin/store/hooks.mjs +0 -6
  146. package/dist/admin/store/hooks.mjs.map +0 -1
  147. package/dist/admin/translations/en.json.js +0 -111
  148. package/dist/admin/translations/en.json.js.map +0 -1
  149. package/dist/admin/translations/en.json.mjs +0 -109
  150. package/dist/admin/translations/en.json.mjs.map +0 -1
  151. package/dist/admin/translations/uk.json.js +0 -103
  152. package/dist/admin/translations/uk.json.js.map +0 -1
  153. package/dist/admin/translations/uk.json.mjs +0 -101
  154. package/dist/admin/translations/uk.json.mjs.map +0 -1
  155. package/dist/admin/utils/api.js +0 -8
  156. package/dist/admin/utils/api.js.map +0 -1
  157. package/dist/admin/utils/api.mjs +0 -6
  158. package/dist/admin/utils/api.mjs.map +0 -1
  159. package/dist/admin/utils/prefixPluginTranslations.js +0 -11
  160. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  161. package/dist/admin/utils/prefixPluginTranslations.mjs +0 -9
  162. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  163. package/dist/admin/utils/time.js +0 -42
  164. package/dist/admin/utils/time.js.map +0 -1
  165. package/dist/admin/utils/time.mjs +0 -39
  166. package/dist/admin/utils/time.mjs.map +0 -1
  167. package/dist/admin/validation/schemas.js +0 -65
  168. package/dist/admin/validation/schemas.js.map +0 -1
  169. package/dist/admin/validation/schemas.mjs +0 -43
  170. package/dist/admin/validation/schemas.mjs.map +0 -1
  171. package/dist/server/bootstrap.js +0 -68
  172. package/dist/server/bootstrap.js.map +0 -1
  173. package/dist/server/bootstrap.mjs +0 -66
  174. package/dist/server/bootstrap.mjs.map +0 -1
  175. package/dist/server/constants.js +0 -74
  176. package/dist/server/constants.js.map +0 -1
  177. package/dist/server/constants.mjs +0 -69
  178. package/dist/server/constants.mjs.map +0 -1
  179. package/dist/server/content-types/index.js +0 -12
  180. package/dist/server/content-types/index.js.map +0 -1
  181. package/dist/server/content-types/index.mjs +0 -10
  182. package/dist/server/content-types/index.mjs.map +0 -1
  183. package/dist/server/content-types/release/index.js +0 -10
  184. package/dist/server/content-types/release/index.js.map +0 -1
  185. package/dist/server/content-types/release/index.mjs +0 -8
  186. package/dist/server/content-types/release/index.mjs.map +0 -1
  187. package/dist/server/content-types/release/schema.js +0 -58
  188. package/dist/server/content-types/release/schema.js.map +0 -1
  189. package/dist/server/content-types/release/schema.mjs +0 -56
  190. package/dist/server/content-types/release/schema.mjs.map +0 -1
  191. package/dist/server/content-types/release-action/index.js +0 -10
  192. package/dist/server/content-types/release-action/index.js.map +0 -1
  193. package/dist/server/content-types/release-action/index.mjs +0 -8
  194. package/dist/server/content-types/release-action/index.mjs.map +0 -1
  195. package/dist/server/content-types/release-action/schema.js +0 -55
  196. package/dist/server/content-types/release-action/schema.js.map +0 -1
  197. package/dist/server/content-types/release-action/schema.mjs +0 -53
  198. package/dist/server/content-types/release-action/schema.mjs.map +0 -1
  199. package/dist/server/controllers/homepage.js +0 -15
  200. package/dist/server/controllers/homepage.js.map +0 -1
  201. package/dist/server/controllers/homepage.mjs +0 -13
  202. package/dist/server/controllers/homepage.mjs.map +0 -1
  203. package/dist/server/controllers/index.js +0 -16
  204. package/dist/server/controllers/index.js.map +0 -1
  205. package/dist/server/controllers/index.mjs +0 -14
  206. package/dist/server/controllers/index.mjs.map +0 -1
  207. package/dist/server/controllers/release-action.js +0 -150
  208. package/dist/server/controllers/release-action.js.map +0 -1
  209. package/dist/server/controllers/release-action.mjs +0 -148
  210. package/dist/server/controllers/release-action.mjs.map +0 -1
  211. package/dist/server/controllers/release.js +0 -302
  212. package/dist/server/controllers/release.js.map +0 -1
  213. package/dist/server/controllers/release.mjs +0 -300
  214. package/dist/server/controllers/release.mjs.map +0 -1
  215. package/dist/server/controllers/settings.js +0 -37
  216. package/dist/server/controllers/settings.js.map +0 -1
  217. package/dist/server/controllers/settings.mjs +0 -35
  218. package/dist/server/controllers/settings.mjs.map +0 -1
  219. package/dist/server/controllers/validation/release-action.js +0 -34
  220. package/dist/server/controllers/validation/release-action.js.map +0 -1
  221. package/dist/server/controllers/validation/release-action.mjs +0 -30
  222. package/dist/server/controllers/validation/release-action.mjs.map +0 -1
  223. package/dist/server/controllers/validation/release.js +0 -26
  224. package/dist/server/controllers/validation/release.js.map +0 -1
  225. package/dist/server/controllers/validation/release.mjs +0 -22
  226. package/dist/server/controllers/validation/release.mjs.map +0 -1
  227. package/dist/server/controllers/validation/settings.js +0 -32
  228. package/dist/server/controllers/validation/settings.js.map +0 -1
  229. package/dist/server/controllers/validation/settings.mjs +0 -10
  230. package/dist/server/controllers/validation/settings.mjs.map +0 -1
  231. package/dist/server/destroy.js +0 -15
  232. package/dist/server/destroy.js.map +0 -1
  233. package/dist/server/destroy.mjs +0 -13
  234. package/dist/server/destroy.mjs.map +0 -1
  235. package/dist/server/middlewares/documents.js +0 -104
  236. package/dist/server/middlewares/documents.js.map +0 -1
  237. package/dist/server/middlewares/documents.mjs +0 -101
  238. package/dist/server/middlewares/documents.mjs.map +0 -1
  239. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +0 -51
  240. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +0 -1
  241. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +0 -49
  242. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +0 -1
  243. package/dist/server/migrations/index.js +0 -205
  244. package/dist/server/migrations/index.js.map +0 -1
  245. package/dist/server/migrations/index.mjs +0 -198
  246. package/dist/server/migrations/index.mjs.map +0 -1
  247. package/dist/server/register.js +0 -23
  248. package/dist/server/register.js.map +0 -1
  249. package/dist/server/register.mjs +0 -21
  250. package/dist/server/register.mjs.map +0 -1
  251. package/dist/server/routes/homepage.js +0 -25
  252. package/dist/server/routes/homepage.js.map +0 -1
  253. package/dist/server/routes/homepage.mjs +0 -23
  254. package/dist/server/routes/homepage.mjs.map +0 -1
  255. package/dist/server/routes/index.js +0 -16
  256. package/dist/server/routes/index.js.map +0 -1
  257. package/dist/server/routes/index.mjs +0 -14
  258. package/dist/server/routes/index.mjs.map +0 -1
  259. package/dist/server/routes/release-action.js +0 -100
  260. package/dist/server/routes/release-action.js.map +0 -1
  261. package/dist/server/routes/release-action.mjs +0 -98
  262. package/dist/server/routes/release-action.mjs.map +0 -1
  263. package/dist/server/routes/release.js +0 -154
  264. package/dist/server/routes/release.js.map +0 -1
  265. package/dist/server/routes/release.mjs +0 -152
  266. package/dist/server/routes/release.mjs.map +0 -1
  267. package/dist/server/routes/settings.js +0 -46
  268. package/dist/server/routes/settings.js.map +0 -1
  269. package/dist/server/routes/settings.mjs +0 -44
  270. package/dist/server/routes/settings.mjs.map +0 -1
  271. package/dist/server/services/homepage.js +0 -26
  272. package/dist/server/services/homepage.js.map +0 -1
  273. package/dist/server/services/homepage.mjs +0 -24
  274. package/dist/server/services/homepage.mjs.map +0 -1
  275. package/dist/server/services/index.js +0 -20
  276. package/dist/server/services/index.js.map +0 -1
  277. package/dist/server/services/index.mjs +0 -18
  278. package/dist/server/services/index.mjs.map +0 -1
  279. package/dist/server/services/release-action.js +0 -324
  280. package/dist/server/services/release-action.js.map +0 -1
  281. package/dist/server/services/release-action.mjs +0 -322
  282. package/dist/server/services/release-action.mjs.map +0 -1
  283. package/dist/server/services/release.js +0 -324
  284. package/dist/server/services/release.js.map +0 -1
  285. package/dist/server/services/release.mjs +0 -322
  286. package/dist/server/services/release.mjs.map +0 -1
  287. package/dist/server/services/scheduling.js +0 -74
  288. package/dist/server/services/scheduling.js.map +0 -1
  289. package/dist/server/services/scheduling.mjs +0 -72
  290. package/dist/server/services/scheduling.mjs.map +0 -1
  291. package/dist/server/services/settings.js +0 -34
  292. package/dist/server/services/settings.js.map +0 -1
  293. package/dist/server/services/settings.mjs +0 -32
  294. package/dist/server/services/settings.mjs.map +0 -1
  295. package/dist/server/services/validation.js +0 -91
  296. package/dist/server/services/validation.js.map +0 -1
  297. package/dist/server/services/validation.mjs +0 -86
  298. package/dist/server/services/validation.mjs.map +0 -1
  299. package/dist/server/src/bootstrap.d.ts +0 -5
  300. package/dist/server/src/bootstrap.d.ts.map +0 -1
  301. package/dist/server/src/constants.d.ts +0 -21
  302. package/dist/server/src/constants.d.ts.map +0 -1
  303. package/dist/server/src/content-types/index.d.ts +0 -97
  304. package/dist/server/src/content-types/index.d.ts.map +0 -1
  305. package/dist/server/src/content-types/release/index.d.ts +0 -48
  306. package/dist/server/src/content-types/release/index.d.ts.map +0 -1
  307. package/dist/server/src/content-types/release/schema.d.ts +0 -47
  308. package/dist/server/src/content-types/release/schema.d.ts.map +0 -1
  309. package/dist/server/src/content-types/release-action/index.d.ts +0 -48
  310. package/dist/server/src/content-types/release-action/index.d.ts.map +0 -1
  311. package/dist/server/src/content-types/release-action/schema.d.ts +0 -47
  312. package/dist/server/src/content-types/release-action/schema.d.ts.map +0 -1
  313. package/dist/server/src/controllers/homepage.d.ts +0 -6
  314. package/dist/server/src/controllers/homepage.d.ts.map +0 -1
  315. package/dist/server/src/controllers/index.d.ts +0 -28
  316. package/dist/server/src/controllers/index.d.ts.map +0 -1
  317. package/dist/server/src/controllers/release-action.d.ts +0 -10
  318. package/dist/server/src/controllers/release-action.d.ts.map +0 -1
  319. package/dist/server/src/controllers/release.d.ts +0 -18
  320. package/dist/server/src/controllers/release.d.ts.map +0 -1
  321. package/dist/server/src/controllers/settings.d.ts +0 -11
  322. package/dist/server/src/controllers/settings.d.ts.map +0 -1
  323. package/dist/server/src/controllers/validation/release-action.d.ts +0 -14
  324. package/dist/server/src/controllers/validation/release-action.d.ts.map +0 -1
  325. package/dist/server/src/controllers/validation/release.d.ts +0 -4
  326. package/dist/server/src/controllers/validation/release.d.ts.map +0 -1
  327. package/dist/server/src/controllers/validation/settings.d.ts +0 -3
  328. package/dist/server/src/controllers/validation/settings.d.ts.map +0 -1
  329. package/dist/server/src/destroy.d.ts +0 -5
  330. package/dist/server/src/destroy.d.ts.map +0 -1
  331. package/dist/server/src/index.d.ts +0 -2120
  332. package/dist/server/src/index.d.ts.map +0 -1
  333. package/dist/server/src/middlewares/documents.d.ts +0 -6
  334. package/dist/server/src/middlewares/documents.d.ts.map +0 -1
  335. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +0 -9
  336. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +0 -1
  337. package/dist/server/src/migrations/index.d.ts +0 -13
  338. package/dist/server/src/migrations/index.d.ts.map +0 -1
  339. package/dist/server/src/register.d.ts +0 -5
  340. package/dist/server/src/register.d.ts.map +0 -1
  341. package/dist/server/src/routes/homepage.d.ts +0 -4
  342. package/dist/server/src/routes/homepage.d.ts.map +0 -1
  343. package/dist/server/src/routes/index.d.ts +0 -52
  344. package/dist/server/src/routes/index.d.ts.map +0 -1
  345. package/dist/server/src/routes/release-action.d.ts +0 -18
  346. package/dist/server/src/routes/release-action.d.ts.map +0 -1
  347. package/dist/server/src/routes/release.d.ts +0 -18
  348. package/dist/server/src/routes/release.d.ts.map +0 -1
  349. package/dist/server/src/routes/settings.d.ts +0 -18
  350. package/dist/server/src/routes/settings.d.ts.map +0 -1
  351. package/dist/server/src/services/homepage.d.ts +0 -9
  352. package/dist/server/src/services/homepage.d.ts.map +0 -1
  353. package/dist/server/src/services/index.d.ts +0 -1829
  354. package/dist/server/src/services/index.d.ts.map +0 -1
  355. package/dist/server/src/services/release-action.d.ts +0 -34
  356. package/dist/server/src/services/release-action.d.ts.map +0 -1
  357. package/dist/server/src/services/release.d.ts +0 -31
  358. package/dist/server/src/services/release.d.ts.map +0 -1
  359. package/dist/server/src/services/scheduling.d.ts +0 -17
  360. package/dist/server/src/services/scheduling.d.ts.map +0 -1
  361. package/dist/server/src/services/settings.d.ts +0 -13
  362. package/dist/server/src/services/settings.d.ts.map +0 -1
  363. package/dist/server/src/services/validation.d.ts +0 -18
  364. package/dist/server/src/services/validation.d.ts.map +0 -1
  365. package/dist/server/src/utils/index.d.ts +0 -35
  366. package/dist/server/src/utils/index.d.ts.map +0 -1
  367. package/dist/server/utils/index.js +0 -94
  368. package/dist/server/utils/index.js.map +0 -1
  369. package/dist/server/utils/index.mjs +0 -88
  370. package/dist/server/utils/index.mjs.map +0 -1
  371. package/dist/shared/contracts/homepage.d.ts +0 -11
  372. package/dist/shared/contracts/homepage.d.ts.map +0 -1
  373. package/dist/shared/contracts/release-actions.d.ts +0 -136
  374. package/dist/shared/contracts/release-actions.d.ts.map +0 -1
  375. package/dist/shared/contracts/releases.d.ts +0 -183
  376. package/dist/shared/contracts/releases.d.ts.map +0 -1
  377. package/dist/shared/contracts/settings.d.ts +0 -38
  378. package/dist/shared/contracts/settings.d.ts.map +0 -1
  379. package/dist/shared/types.d.ts +0 -24
  380. package/dist/shared/types.d.ts.map +0 -1
@@ -1,751 +0,0 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import { useNotification, useAPIErrorHandler, Page, ConfirmDialog, useRBAC, useTracking, Layouts, BackButton, useQueryParams, useStrapiApp, Table, Pagination, isFetchError } from '@strapi/admin/strapi-admin';
4
- import { Flex, SimpleMenu, Dialog, Main, Typography, Badge, Menu, Button, EmptyStateLayout, LinkButton, SingleSelect, SingleSelectOption, Tr, Td } from '@strapi/design-system';
5
- import { More, Pencil, Trash } from '@strapi/icons';
6
- import { EmptyDocuments } from '@strapi/icons/symbols';
7
- import format from 'date-fns/format';
8
- import { utcToZonedTime } from 'date-fns-tz';
9
- import { useIntl } from 'react-intl';
10
- import { useParams, useNavigate, Navigate, Link } from 'react-router-dom';
11
- import { styled } from 'styled-components';
12
- import { EntryValidationPopover } from '../components/EntryValidationPopover.mjs';
13
- import { RelativeTime } from '../components/RelativeTime.mjs';
14
- import { ReleaseActionMenu } from '../components/ReleaseActionMenu.mjs';
15
- import { ReleaseActionOptions } from '../components/ReleaseActionOptions.mjs';
16
- import { ReleaseModal } from '../components/ReleaseModal.mjs';
17
- import { PERMISSIONS } from '../constants.mjs';
18
- import { useGetReleaseQuery, useGetReleaseSettingsQuery, useUpdateReleaseMutation, useDeleteReleaseMutation, usePublishReleaseMutation, useGetReleaseActionsQuery, useUpdateReleaseActionMutation, releaseApi } from '../services/release.mjs';
19
- import { useTypedDispatch } from '../store/hooks.mjs';
20
- import { isBaseQueryError } from '../utils/api.mjs';
21
- import { getTimezoneOffset } from '../utils/time.mjs';
22
- import { getBadgeProps } from './ReleasesPage.mjs';
23
-
24
- /* -------------------------------------------------------------------------------------------------
25
- * ReleaseDetailsLayout
26
- * -----------------------------------------------------------------------------------------------*/ const ReleaseInfoWrapper = styled(Flex)`
27
- align-self: stretch;
28
- border-bottom-right-radius: ${({ theme })=>theme.borderRadius};
29
- border-bottom-left-radius: ${({ theme })=>theme.borderRadius};
30
- border-top: 1px solid ${({ theme })=>theme.colors.neutral150};
31
- `;
32
- const ReleaseDetailsLayout = ({ toggleEditReleaseModal, toggleWarningSubmit, children })=>{
33
- const { formatMessage, formatDate, formatTime } = useIntl();
34
- const { releaseId } = useParams();
35
- const { data, isLoading: isLoadingDetails, error } = useGetReleaseQuery({
36
- id: releaseId
37
- }, {
38
- skip: !releaseId
39
- });
40
- const [publishRelease, { isLoading: isPublishing }] = usePublishReleaseMutation();
41
- const { toggleNotification } = useNotification();
42
- const { formatAPIError } = useAPIErrorHandler();
43
- const { allowedActions } = useRBAC(PERMISSIONS);
44
- const { canUpdate, canDelete, canPublish } = allowedActions;
45
- const dispatch = useTypedDispatch();
46
- const { trackUsage } = useTracking();
47
- const release = data?.data;
48
- const handlePublishRelease = (id)=>async ()=>{
49
- const response = await publishRelease({
50
- id
51
- });
52
- if ('data' in response) {
53
- // When the response returns an object with 'data', handle success
54
- toggleNotification({
55
- type: 'success',
56
- message: formatMessage({
57
- id: 'content-releases.pages.ReleaseDetails.publish-notification-success',
58
- defaultMessage: 'Release was published successfully.'
59
- })
60
- });
61
- const { totalEntries, totalPublishedEntries, totalUnpublishedEntries } = response.data.meta;
62
- trackUsage('didPublishRelease', {
63
- totalEntries,
64
- totalPublishedEntries,
65
- totalUnpublishedEntries
66
- });
67
- } else if (isFetchError(response.error)) {
68
- // When the response returns an object with 'error', handle fetch error
69
- toggleNotification({
70
- type: 'danger',
71
- message: formatAPIError(response.error)
72
- });
73
- } else {
74
- // Otherwise, the response returns an object with 'error', handle a generic error
75
- toggleNotification({
76
- type: 'danger',
77
- message: formatMessage({
78
- id: 'notification.error',
79
- defaultMessage: 'An error occurred'
80
- })
81
- });
82
- }
83
- };
84
- const handleRefresh = ()=>{
85
- dispatch(releaseApi.util.invalidateTags([
86
- {
87
- type: 'ReleaseAction',
88
- id: 'LIST'
89
- },
90
- {
91
- type: 'Release',
92
- id: releaseId
93
- }
94
- ]));
95
- };
96
- const getCreatedByUser = ()=>{
97
- if (!release?.createdBy) {
98
- return null;
99
- }
100
- // Favor the username
101
- if (release.createdBy.username) {
102
- return release.createdBy.username;
103
- }
104
- // Firstname may not exist if created with SSO
105
- if (release.createdBy.firstname) {
106
- return `${release.createdBy.firstname} ${release.createdBy.lastname || ''}`.trim();
107
- }
108
- // All users must have at least an email
109
- return release.createdBy.email;
110
- };
111
- if (isLoadingDetails) {
112
- return /*#__PURE__*/ jsx(Page.Loading, {});
113
- }
114
- if (isBaseQueryError(error) && 'code' in error || !release) {
115
- return /*#__PURE__*/ jsx(Navigate, {
116
- to: "..",
117
- state: {
118
- errors: [
119
- {
120
- // @ts-expect-error – TODO: fix this weird error flow
121
- code: error?.code
122
- }
123
- ]
124
- }
125
- });
126
- }
127
- const totalEntries = release.actions.meta.count || 0;
128
- const hasCreatedByUser = Boolean(getCreatedByUser());
129
- const isScheduled = release.scheduledAt && release.timezone;
130
- const numberOfEntriesText = formatMessage({
131
- id: 'content-releases.pages.Details.header-subtitle',
132
- defaultMessage: '{number, plural, =0 {No entries} one {# entry} other {# entries}}'
133
- }, {
134
- number: totalEntries
135
- });
136
- const scheduledText = isScheduled ? formatMessage({
137
- id: 'content-releases.pages.ReleaseDetails.header-subtitle.scheduled',
138
- defaultMessage: 'Scheduled for {date} at {time} ({offset})'
139
- }, {
140
- date: formatDate(new Date(release.scheduledAt), {
141
- weekday: 'long',
142
- day: 'numeric',
143
- month: 'long',
144
- year: 'numeric',
145
- timeZone: release.timezone
146
- }),
147
- time: formatTime(new Date(release.scheduledAt), {
148
- timeZone: release.timezone,
149
- hourCycle: 'h23'
150
- }),
151
- offset: getTimezoneOffset(release.timezone, new Date(release.scheduledAt))
152
- }) : '';
153
- return /*#__PURE__*/ jsxs(Main, {
154
- "aria-busy": isLoadingDetails,
155
- children: [
156
- /*#__PURE__*/ jsx(Layouts.Header, {
157
- title: release.name,
158
- subtitle: /*#__PURE__*/ jsxs(Flex, {
159
- gap: 2,
160
- lineHeight: 6,
161
- children: [
162
- /*#__PURE__*/ jsx(Typography, {
163
- textColor: "neutral600",
164
- variant: "epsilon",
165
- children: numberOfEntriesText + (isScheduled ? ` - ${scheduledText}` : '')
166
- }),
167
- /*#__PURE__*/ jsx(Badge, {
168
- ...getBadgeProps(release.status),
169
- children: release.status
170
- })
171
- ]
172
- }),
173
- navigationAction: /*#__PURE__*/ jsx(BackButton, {
174
- fallback: ".."
175
- }),
176
- primaryAction: !release.releasedAt && /*#__PURE__*/ jsxs(Flex, {
177
- gap: 2,
178
- children: [
179
- /*#__PURE__*/ jsxs(SimpleMenuButton, {
180
- label: /*#__PURE__*/ jsx(More, {}),
181
- variant: "tertiary",
182
- endIcon: null,
183
- paddingLeft: "7px",
184
- paddingRight: "7px",
185
- "aria-label": formatMessage({
186
- id: 'content-releases.header.actions.open-release-actions',
187
- defaultMessage: 'Release edit and delete menu'
188
- }),
189
- popoverPlacement: "bottom-end",
190
- children: [
191
- /*#__PURE__*/ jsx(Menu.Item, {
192
- disabled: !canUpdate,
193
- onSelect: toggleEditReleaseModal,
194
- startIcon: /*#__PURE__*/ jsx(Pencil, {}),
195
- children: formatMessage({
196
- id: 'content-releases.header.actions.edit',
197
- defaultMessage: 'Edit'
198
- })
199
- }),
200
- /*#__PURE__*/ jsx(Menu.Item, {
201
- disabled: !canDelete,
202
- onSelect: toggleWarningSubmit,
203
- variant: "danger",
204
- startIcon: /*#__PURE__*/ jsx(Trash, {}),
205
- children: formatMessage({
206
- id: 'content-releases.header.actions.delete',
207
- defaultMessage: 'Delete'
208
- })
209
- }),
210
- /*#__PURE__*/ jsxs(ReleaseInfoWrapper, {
211
- direction: "column",
212
- justifyContent: "center",
213
- alignItems: "flex-start",
214
- gap: 1,
215
- padding: 4,
216
- children: [
217
- /*#__PURE__*/ jsx(Typography, {
218
- variant: "pi",
219
- fontWeight: "bold",
220
- children: formatMessage({
221
- id: 'content-releases.header.actions.created',
222
- defaultMessage: 'Created'
223
- })
224
- }),
225
- /*#__PURE__*/ jsxs(Typography, {
226
- variant: "pi",
227
- color: "neutral300",
228
- children: [
229
- /*#__PURE__*/ jsx(RelativeTime, {
230
- timestamp: new Date(release.createdAt)
231
- }),
232
- formatMessage({
233
- id: 'content-releases.header.actions.created.description',
234
- defaultMessage: '{hasCreatedByUser, select, true { by {createdBy}} other { by deleted user}}'
235
- }, {
236
- createdBy: getCreatedByUser(),
237
- hasCreatedByUser
238
- })
239
- ]
240
- })
241
- ]
242
- })
243
- ]
244
- }),
245
- /*#__PURE__*/ jsx(Button, {
246
- size: "S",
247
- variant: "tertiary",
248
- onClick: handleRefresh,
249
- children: formatMessage({
250
- id: 'content-releases.header.actions.refresh',
251
- defaultMessage: 'Refresh'
252
- })
253
- }),
254
- canPublish ? /*#__PURE__*/ jsx(Button, {
255
- size: "S",
256
- variant: "default",
257
- onClick: handlePublishRelease(release.id.toString()),
258
- loading: isPublishing,
259
- disabled: release.actions.meta.count === 0,
260
- children: formatMessage({
261
- id: 'content-releases.header.actions.publish',
262
- defaultMessage: 'Publish'
263
- })
264
- }) : null
265
- ]
266
- })
267
- }),
268
- children
269
- ]
270
- });
271
- };
272
- const SimpleMenuButton = styled(SimpleMenu)`
273
- & > span {
274
- display: flex;
275
- }
276
- `;
277
- /* -------------------------------------------------------------------------------------------------
278
- * ReleaseDetailsBody
279
- * -----------------------------------------------------------------------------------------------*/ const GROUP_BY_OPTIONS = [
280
- 'contentType',
281
- 'locale',
282
- 'action'
283
- ];
284
- const GROUP_BY_OPTIONS_NO_LOCALE = [
285
- 'contentType',
286
- 'action'
287
- ];
288
- const getGroupByOptionLabel = (value)=>{
289
- if (value === 'locale') {
290
- return {
291
- id: 'content-releases.pages.ReleaseDetails.groupBy.option.locales',
292
- defaultMessage: 'Locales'
293
- };
294
- }
295
- if (value === 'action') {
296
- return {
297
- id: 'content-releases.pages.ReleaseDetails.groupBy.option.actions',
298
- defaultMessage: 'Actions'
299
- };
300
- }
301
- return {
302
- id: 'content-releases.pages.ReleaseDetails.groupBy.option.content-type',
303
- defaultMessage: 'Content-Types'
304
- };
305
- };
306
- const ReleaseDetailsBody = ({ releaseId })=>{
307
- const { formatMessage } = useIntl();
308
- const [{ query }, setQuery] = useQueryParams();
309
- const { toggleNotification } = useNotification();
310
- const { formatAPIError } = useAPIErrorHandler();
311
- const { data: releaseData, isLoading: isReleaseLoading, error: releaseError } = useGetReleaseQuery({
312
- id: releaseId
313
- });
314
- const { allowedActions: { canUpdate } } = useRBAC(PERMISSIONS);
315
- const runHookWaterfall = useStrapiApp('ReleaseDetailsPage', (state)=>state.runHookWaterfall);
316
- // TODO: Migrated displayedHeader to v5
317
- const { displayedHeaders, hasI18nEnabled } = runHookWaterfall('ContentReleases/pages/ReleaseDetails/add-locale-in-releases', {
318
- displayedHeaders: [
319
- {
320
- label: {
321
- id: 'content-releases.page.ReleaseDetails.table.header.label.name',
322
- defaultMessage: 'name'
323
- },
324
- name: 'name'
325
- }
326
- ],
327
- hasI18nEnabled: false
328
- });
329
- const release = releaseData?.data;
330
- const selectedGroupBy = query?.groupBy || 'contentType';
331
- const { isLoading, isFetching, isError, data, error: releaseActionsError } = useGetReleaseActionsQuery({
332
- ...query,
333
- releaseId
334
- });
335
- const [updateReleaseAction] = useUpdateReleaseActionMutation();
336
- const handleChangeType = async (e, actionId, actionPath)=>{
337
- const response = await updateReleaseAction({
338
- params: {
339
- releaseId,
340
- actionId
341
- },
342
- body: {
343
- type: e.target.value
344
- },
345
- query,
346
- actionPath
347
- });
348
- if ('error' in response) {
349
- if (isFetchError(response.error)) {
350
- // When the response returns an object with 'error', handle fetch error
351
- toggleNotification({
352
- type: 'danger',
353
- message: formatAPIError(response.error)
354
- });
355
- } else {
356
- // Otherwise, the response returns an object with 'error', handle a generic error
357
- toggleNotification({
358
- type: 'danger',
359
- message: formatMessage({
360
- id: 'notification.error',
361
- defaultMessage: 'An error occurred'
362
- })
363
- });
364
- }
365
- }
366
- };
367
- if (isLoading || isReleaseLoading) {
368
- return /*#__PURE__*/ jsx(Page.Loading, {});
369
- }
370
- const releaseActions = data?.data;
371
- const releaseMeta = data?.meta;
372
- const contentTypes = releaseMeta?.contentTypes || {};
373
- releaseMeta?.components || {};
374
- if (isBaseQueryError(releaseError) || !release) {
375
- const errorsArray = [];
376
- if (releaseError && 'code' in releaseError) {
377
- errorsArray.push({
378
- code: releaseError.code
379
- });
380
- }
381
- if (releaseActionsError && 'code' in releaseActionsError) {
382
- errorsArray.push({
383
- code: releaseActionsError.code
384
- });
385
- }
386
- return /*#__PURE__*/ jsx(Navigate, {
387
- to: "..",
388
- state: {
389
- errors: errorsArray
390
- }
391
- });
392
- }
393
- if (isError || !releaseActions) {
394
- return /*#__PURE__*/ jsx(Page.Error, {});
395
- }
396
- if (Object.keys(releaseActions).length === 0) {
397
- return /*#__PURE__*/ jsx(Layouts.Content, {
398
- children: /*#__PURE__*/ jsx(EmptyStateLayout, {
399
- action: /*#__PURE__*/ jsx(LinkButton, {
400
- tag: Link,
401
- to: {
402
- pathname: '/content-manager'
403
- },
404
- style: {
405
- textDecoration: 'none'
406
- },
407
- variant: "secondary",
408
- children: formatMessage({
409
- id: 'content-releases.page.Details.button.openContentManager',
410
- defaultMessage: 'Open the Content Manager'
411
- })
412
- }),
413
- icon: /*#__PURE__*/ jsx(EmptyDocuments, {
414
- width: "16rem"
415
- }),
416
- content: formatMessage({
417
- id: 'content-releases.pages.Details.tab.emptyEntries',
418
- defaultMessage: 'This release is empty. Open the Content Manager, select an entry and add it to the release.'
419
- })
420
- })
421
- });
422
- }
423
- const groupByLabel = formatMessage({
424
- id: 'content-releases.pages.ReleaseDetails.groupBy.aria-label',
425
- defaultMessage: 'Group by'
426
- });
427
- const headers = [
428
- ...displayedHeaders,
429
- {
430
- label: {
431
- id: 'content-releases.page.ReleaseDetails.table.header.label.content-type',
432
- defaultMessage: 'content-type'
433
- },
434
- name: 'content-type'
435
- },
436
- {
437
- label: {
438
- id: 'content-releases.page.ReleaseDetails.table.header.label.action',
439
- defaultMessage: 'action'
440
- },
441
- name: 'action'
442
- },
443
- ...!release.releasedAt ? [
444
- {
445
- label: {
446
- id: 'content-releases.page.ReleaseDetails.table.header.label.status',
447
- defaultMessage: 'status'
448
- },
449
- name: 'status'
450
- }
451
- ] : []
452
- ];
453
- const options = hasI18nEnabled ? GROUP_BY_OPTIONS : GROUP_BY_OPTIONS_NO_LOCALE;
454
- return /*#__PURE__*/ jsx(Layouts.Content, {
455
- children: /*#__PURE__*/ jsxs(Flex, {
456
- gap: 8,
457
- direction: "column",
458
- alignItems: "stretch",
459
- children: [
460
- /*#__PURE__*/ jsx(Flex, {
461
- children: /*#__PURE__*/ jsx(SingleSelect, {
462
- placeholder: groupByLabel,
463
- "aria-label": groupByLabel,
464
- customizeContent: (value)=>formatMessage({
465
- id: `content-releases.pages.ReleaseDetails.groupBy.label`,
466
- defaultMessage: `Group by {groupBy}`
467
- }, {
468
- groupBy: value
469
- }),
470
- value: formatMessage(getGroupByOptionLabel(selectedGroupBy)),
471
- onChange: (value)=>setQuery({
472
- groupBy: value
473
- }),
474
- children: options.map((option)=>/*#__PURE__*/ jsx(SingleSelectOption, {
475
- value: option,
476
- children: formatMessage(getGroupByOptionLabel(option))
477
- }, option))
478
- })
479
- }),
480
- Object.keys(releaseActions).map((key)=>/*#__PURE__*/ jsxs(Flex, {
481
- gap: 4,
482
- direction: "column",
483
- alignItems: "stretch",
484
- children: [
485
- /*#__PURE__*/ jsx(Flex, {
486
- role: "separator",
487
- "aria-label": key,
488
- children: /*#__PURE__*/ jsx(Badge, {
489
- children: key
490
- })
491
- }),
492
- /*#__PURE__*/ jsx(Table.Root, {
493
- rows: releaseActions[key].map((item)=>({
494
- ...item,
495
- id: Number(item.entry.id)
496
- })),
497
- headers: headers,
498
- isLoading: isLoading || isFetching,
499
- children: /*#__PURE__*/ jsxs(Table.Content, {
500
- children: [
501
- /*#__PURE__*/ jsx(Table.Head, {
502
- children: headers.map(({ label, name })=>/*#__PURE__*/ jsx(Table.HeaderCell, {
503
- label: formatMessage(label),
504
- name: name
505
- }, name))
506
- }),
507
- /*#__PURE__*/ jsx(Table.Loading, {}),
508
- /*#__PURE__*/ jsx(Table.Body, {
509
- children: releaseActions[key].map(({ id, contentType, locale, type, entry, status }, actionIndex)=>/*#__PURE__*/ jsxs(Tr, {
510
- children: [
511
- /*#__PURE__*/ jsx(Td, {
512
- width: "25%",
513
- maxWidth: "200px",
514
- children: /*#__PURE__*/ jsx(Typography, {
515
- ellipsis: true,
516
- children: `${contentType.mainFieldValue || entry.id}`
517
- })
518
- }),
519
- hasI18nEnabled && /*#__PURE__*/ jsx(Td, {
520
- width: "10%",
521
- children: /*#__PURE__*/ jsx(Typography, {
522
- children: `${locale?.name ? locale.name : '-'}`
523
- })
524
- }),
525
- /*#__PURE__*/ jsx(Td, {
526
- width: "10%",
527
- children: /*#__PURE__*/ jsx(Typography, {
528
- children: contentType.displayName || ''
529
- })
530
- }),
531
- /*#__PURE__*/ jsx(Td, {
532
- width: "20%",
533
- children: release.releasedAt ? /*#__PURE__*/ jsx(Typography, {
534
- children: formatMessage({
535
- id: 'content-releases.page.ReleaseDetails.table.action-published',
536
- defaultMessage: 'This entry was <b>{isPublish, select, true {published} other {unpublished}}</b>.'
537
- }, {
538
- isPublish: type === 'publish',
539
- b: (children)=>/*#__PURE__*/ jsx(Typography, {
540
- fontWeight: "bold",
541
- children: children
542
- })
543
- })
544
- }) : /*#__PURE__*/ jsx(ReleaseActionOptions, {
545
- selected: type,
546
- handleChange: (e)=>handleChangeType(e, id, [
547
- key,
548
- actionIndex
549
- ]),
550
- name: `release-action-${id}-type`,
551
- disabled: !canUpdate
552
- })
553
- }),
554
- !release.releasedAt && /*#__PURE__*/ jsxs(Fragment, {
555
- children: [
556
- /*#__PURE__*/ jsx(Td, {
557
- width: "20%",
558
- minWidth: "200px",
559
- children: /*#__PURE__*/ jsx(EntryValidationPopover, {
560
- action: type,
561
- schema: contentTypes?.[contentType.uid],
562
- entry: entry,
563
- status: status
564
- })
565
- }),
566
- /*#__PURE__*/ jsx(Td, {
567
- children: /*#__PURE__*/ jsx(Flex, {
568
- justifyContent: "flex-end",
569
- children: /*#__PURE__*/ jsxs(ReleaseActionMenu.Root, {
570
- children: [
571
- /*#__PURE__*/ jsx(ReleaseActionMenu.ReleaseActionEntryLinkItem, {
572
- contentTypeUid: contentType.uid,
573
- documentId: entry.documentId,
574
- locale: locale?.code
575
- }),
576
- /*#__PURE__*/ jsx(ReleaseActionMenu.DeleteReleaseActionItem, {
577
- releaseId: release.id,
578
- actionId: id
579
- })
580
- ]
581
- })
582
- })
583
- })
584
- ]
585
- })
586
- ]
587
- }, id))
588
- })
589
- ]
590
- })
591
- })
592
- ]
593
- }, `releases-group-${key}`)),
594
- /*#__PURE__*/ jsxs(Pagination.Root, {
595
- ...releaseMeta?.pagination,
596
- defaultPageSize: releaseMeta?.pagination?.pageSize,
597
- children: [
598
- /*#__PURE__*/ jsx(Pagination.PageSize, {}),
599
- /*#__PURE__*/ jsx(Pagination.Links, {})
600
- ]
601
- })
602
- ]
603
- })
604
- });
605
- };
606
- /* -------------------------------------------------------------------------------------------------
607
- * ReleaseDetailsPage
608
- * -----------------------------------------------------------------------------------------------*/ const ReleaseDetailsPage = ()=>{
609
- const { formatMessage } = useIntl();
610
- const { releaseId } = useParams();
611
- const { toggleNotification } = useNotification();
612
- const { formatAPIError } = useAPIErrorHandler();
613
- const navigate = useNavigate();
614
- const [releaseModalShown, setReleaseModalShown] = React.useState(false);
615
- const [showWarningSubmit, setWarningSubmit] = React.useState(false);
616
- const { isLoading: isLoadingDetails, data, isSuccess: isSuccessDetails } = useGetReleaseQuery({
617
- id: releaseId
618
- }, {
619
- skip: !releaseId
620
- });
621
- const { data: dataTimezone, isLoading: isLoadingTimezone } = useGetReleaseSettingsQuery();
622
- const [updateRelease, { isLoading: isSubmittingForm }] = useUpdateReleaseMutation();
623
- const [deleteRelease] = useDeleteReleaseMutation();
624
- const toggleEditReleaseModal = ()=>{
625
- setReleaseModalShown((prev)=>!prev);
626
- };
627
- const getTimezoneValue = ()=>{
628
- if (releaseData?.timezone) {
629
- return releaseData.timezone;
630
- } else {
631
- if (dataTimezone?.data.defaultTimezone) {
632
- return dataTimezone.data.defaultTimezone;
633
- }
634
- return null;
635
- }
636
- };
637
- const toggleWarningSubmit = ()=>setWarningSubmit((prevState)=>!prevState);
638
- if (isLoadingDetails || isLoadingTimezone) {
639
- return /*#__PURE__*/ jsx(ReleaseDetailsLayout, {
640
- toggleEditReleaseModal: toggleEditReleaseModal,
641
- toggleWarningSubmit: toggleWarningSubmit,
642
- children: /*#__PURE__*/ jsx(Page.Loading, {})
643
- });
644
- }
645
- if (!releaseId) {
646
- return /*#__PURE__*/ jsx(Navigate, {
647
- to: ".."
648
- });
649
- }
650
- const releaseData = isSuccessDetails && data?.data || null;
651
- const title = releaseData?.name || '';
652
- const timezone = getTimezoneValue();
653
- const scheduledAt = releaseData?.scheduledAt && timezone ? utcToZonedTime(releaseData.scheduledAt, timezone) : null;
654
- // Just get the date and time to display without considering updated timezone time
655
- const date = scheduledAt ? format(scheduledAt, 'yyyy-MM-dd') : undefined;
656
- const time = scheduledAt ? format(scheduledAt, 'HH:mm') : '';
657
- const handleEditRelease = async (values)=>{
658
- const response = await updateRelease({
659
- id: releaseId,
660
- name: values.name,
661
- scheduledAt: values.scheduledAt,
662
- timezone: values.timezone
663
- });
664
- if ('data' in response) {
665
- // When the response returns an object with 'data', handle success
666
- toggleNotification({
667
- type: 'success',
668
- message: formatMessage({
669
- id: 'content-releases.modal.release-updated-notification-success',
670
- defaultMessage: 'Release updated.'
671
- })
672
- });
673
- toggleEditReleaseModal();
674
- } else if (isFetchError(response.error)) {
675
- // When the response returns an object with 'error', handle fetch error
676
- toggleNotification({
677
- type: 'danger',
678
- message: formatAPIError(response.error)
679
- });
680
- } else {
681
- // Otherwise, the response returns an object with 'error', handle a generic error
682
- toggleNotification({
683
- type: 'danger',
684
- message: formatMessage({
685
- id: 'notification.error',
686
- defaultMessage: 'An error occurred'
687
- })
688
- });
689
- }
690
- };
691
- const handleDeleteRelease = async ()=>{
692
- const response = await deleteRelease({
693
- id: releaseId
694
- });
695
- if ('data' in response) {
696
- navigate('..');
697
- } else if (isFetchError(response.error)) {
698
- // When the response returns an object with 'error', handle fetch error
699
- toggleNotification({
700
- type: 'danger',
701
- message: formatAPIError(response.error)
702
- });
703
- } else {
704
- // Otherwise, the response returns an object with 'error', handle a generic error
705
- toggleNotification({
706
- type: 'danger',
707
- message: formatMessage({
708
- id: 'notification.error',
709
- defaultMessage: 'An error occurred'
710
- })
711
- });
712
- }
713
- };
714
- return /*#__PURE__*/ jsxs(ReleaseDetailsLayout, {
715
- toggleEditReleaseModal: toggleEditReleaseModal,
716
- toggleWarningSubmit: toggleWarningSubmit,
717
- children: [
718
- /*#__PURE__*/ jsx(ReleaseDetailsBody, {
719
- releaseId: releaseId
720
- }),
721
- /*#__PURE__*/ jsx(ReleaseModal, {
722
- open: releaseModalShown,
723
- handleClose: toggleEditReleaseModal,
724
- handleSubmit: handleEditRelease,
725
- isLoading: isLoadingDetails || isSubmittingForm,
726
- initialValues: {
727
- name: title || '',
728
- scheduledAt,
729
- date,
730
- time,
731
- isScheduled: Boolean(scheduledAt),
732
- timezone
733
- }
734
- }),
735
- /*#__PURE__*/ jsx(Dialog.Root, {
736
- open: showWarningSubmit,
737
- onOpenChange: toggleWarningSubmit,
738
- children: /*#__PURE__*/ jsx(ConfirmDialog, {
739
- onConfirm: handleDeleteRelease,
740
- children: formatMessage({
741
- id: 'content-releases.dialog.confirmation-message',
742
- defaultMessage: 'Are you sure you want to delete this release?'
743
- })
744
- })
745
- })
746
- ]
747
- });
748
- };
749
-
750
- export { ReleaseDetailsPage };
751
- //# sourceMappingURL=ReleaseDetailsPage.mjs.map