strapi-plugin-comments 2.0.11 → 2.1.1

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 (443) hide show
  1. package/README.md +165 -119
  2. package/admin/src/components/ActionButton/styles.ts +11 -0
  3. package/admin/src/components/Avatar/index.tsx +31 -0
  4. package/admin/src/components/ConfirmationDialog/index.tsx +88 -0
  5. package/admin/src/components/DiscussionStatus/index.tsx +36 -0
  6. package/admin/src/components/DiscussionThread/index.tsx +97 -0
  7. package/admin/src/components/DiscussionThreadItem/index.tsx +71 -0
  8. package/admin/src/components/DiscussionThreadItem/{styles.js → styles.ts} +8 -6
  9. package/admin/src/components/DiscussionThreadItemActions/index.tsx +365 -0
  10. package/admin/src/components/DiscussionThreadItemActions/styles.ts +9 -0
  11. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.tsx +99 -0
  12. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.ts +8 -0
  13. package/admin/src/components/DiscussionThreadItemFooter/index.tsx +62 -0
  14. package/admin/src/components/DiscussionThreadItemFooter/styles.ts +15 -0
  15. package/admin/src/components/DiscussionThreadItemReviewAction/index.tsx +180 -0
  16. package/admin/src/components/FormSwitch/index.tsx +35 -0
  17. package/admin/src/components/FormSwitch/styles.ts +10 -0
  18. package/admin/src/components/IconButton/styles.ts +19 -0
  19. package/admin/src/components/Initializer/{index.js → index.tsx} +8 -6
  20. package/admin/src/components/LoadingIndicatorOverlay/index.tsx +19 -0
  21. package/admin/src/components/LoadingIndicatorOverlay/styles.ts +21 -0
  22. package/admin/src/components/Nav/index.tsx +61 -0
  23. package/admin/src/components/PluginIcon/{index.js → index.tsx} +4 -2
  24. package/admin/src/components/ReportsReviewModal/index.tsx +71 -0
  25. package/admin/src/components/ReportsReviewTable/index.tsx +233 -0
  26. package/admin/src/components/StatusBadge/index.tsx +21 -0
  27. package/admin/src/components/StatusBadge/styles.ts +19 -0
  28. package/admin/src/components/TableFilters/{index.js → index.tsx} +14 -9
  29. package/admin/src/components/TablePagination/{index.js → index.tsx} +8 -6
  30. package/admin/src/components/icons/comments.tsx +15 -0
  31. package/admin/src/components/icons/index.ts +6 -0
  32. package/admin/src/components/icons/{lock.js → lock.tsx} +17 -12
  33. package/admin/src/components/icons/review.tsx +25 -0
  34. package/admin/src/components/icons/unlock.tsx +25 -0
  35. package/admin/src/hooks/useConfig.ts +58 -0
  36. package/admin/src/{index.js → index.ts} +26 -22
  37. package/admin/src/pages/App/index.tsx +67 -0
  38. package/admin/src/pages/App/reducer/actions.ts +10 -0
  39. package/admin/src/pages/App/reducer/constants.ts +4 -0
  40. package/admin/src/pages/App/reducer/{index.js → index.ts} +8 -6
  41. package/admin/src/pages/App/reducer/init.ts +9 -0
  42. package/admin/src/pages/App/reducer/selectors.ts +32 -0
  43. package/admin/src/pages/App/utils/{api.js → api.ts} +3 -1
  44. package/admin/src/pages/ComingSoonPage/index.tsx +31 -0
  45. package/admin/src/pages/Details/components/DetailsEntity/index.tsx +106 -0
  46. package/admin/src/pages/Details/components/DetailsFilters/index.tsx +43 -0
  47. package/admin/src/pages/Details/components/DetailsFilters/styles.ts +9 -0
  48. package/admin/src/pages/Details/index.tsx +169 -0
  49. package/admin/src/pages/Discover/components/DiscoverTableRow/index.tsx +252 -0
  50. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.ts +9 -0
  51. package/admin/src/pages/Discover/index.tsx +230 -0
  52. package/admin/src/pages/Discover/utils/api.ts +22 -0
  53. package/admin/src/pages/Discover/utils/filtersSchema.ts +9 -0
  54. package/admin/src/pages/Settings/components/RestartAlert/styles.ts +10 -0
  55. package/admin/src/pages/Settings/index.tsx +602 -0
  56. package/admin/src/pages/Settings/utils/{api.js → api.ts} +16 -5
  57. package/admin/src/pages/utils/api.ts +70 -0
  58. package/admin/src/permissions.ts +30 -0
  59. package/admin/src/pluginId.ts +3 -0
  60. package/admin/src/reducers.ts +8 -0
  61. package/admin/src/translations/en.json +131 -131
  62. package/admin/src/translations/pt-BR.json +130 -130
  63. package/admin/src/utils/{axiosInstance.js → axiosInstance.ts} +12 -9
  64. package/admin/src/utils/constants.ts +25 -0
  65. package/admin/src/utils/getApiUrl.ts +5 -0
  66. package/admin/src/utils/getMessage.ts +29 -0
  67. package/admin/src/utils/getRelatedGroups.ts +6 -0
  68. package/admin/src/utils/getUrl.ts +5 -0
  69. package/admin/src/utils/handleAPIError.ts +21 -0
  70. package/admin/src/utils/index.ts +11 -0
  71. package/admin/src/utils/parseRegExp.ts +9 -0
  72. package/admin/src/utils/renderEntryTitle.ts +16 -0
  73. package/admin/src/utils/renderInitials.ts +10 -0
  74. package/admin/src/utils/resolveCommentStatus.ts +37 -0
  75. package/admin/src/utils/resolveCommentStatusColor.ts +22 -0
  76. package/build/README.md +41 -5
  77. package/build/admin/src/components/ActionButton/styles.d.ts +1 -1
  78. package/build/admin/src/components/ActionButton/styles.js +5 -7
  79. package/build/admin/src/components/Avatar/index.d.ts +12 -0
  80. package/build/admin/src/components/Avatar/index.js +26 -0
  81. package/build/admin/src/components/ConfirmationDialog/index.js +23 -90
  82. package/build/admin/src/components/DiscussionStatus/index.js +13 -27
  83. package/build/admin/src/components/DiscussionThread/index.js +29 -83
  84. package/build/admin/src/components/DiscussionThreadItem/index.js +20 -59
  85. package/build/admin/src/components/DiscussionThreadItem/styles.d.ts +1 -1
  86. package/build/admin/src/components/DiscussionThreadItem/styles.js +8 -17
  87. package/build/admin/src/components/DiscussionThreadItemActions/index.js +163 -383
  88. package/build/admin/src/components/DiscussionThreadItemActions/styles.d.ts +1 -1
  89. package/build/admin/src/components/DiscussionThreadItemActions/styles.js +5 -9
  90. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.js +52 -85
  91. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.d.ts +1 -1
  92. package/build/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.js +5 -8
  93. package/build/admin/src/components/DiscussionThreadItemFooter/index.js +27 -61
  94. package/build/admin/src/components/DiscussionThreadItemFooter/styles.d.ts +1 -1
  95. package/build/admin/src/components/DiscussionThreadItemFooter/styles.js +7 -14
  96. package/build/admin/src/components/DiscussionThreadItemReviewAction/index.js +91 -207
  97. package/build/admin/src/components/FormSwitch/index.d.ts +5 -9
  98. package/build/admin/src/components/FormSwitch/index.js +8 -32
  99. package/build/admin/src/components/FormSwitch/styles.d.ts +1 -1
  100. package/build/admin/src/components/FormSwitch/styles.js +5 -7
  101. package/build/admin/src/components/IconButton/styles.d.ts +1 -1
  102. package/build/admin/src/components/IconButton/styles.js +7 -13
  103. package/build/admin/src/components/Initializer/index.d.ts +4 -2
  104. package/build/admin/src/components/Initializer/index.js +7 -7
  105. package/build/admin/src/components/LoadingIndicatorOverlay/index.d.ts +1 -1
  106. package/build/admin/src/components/LoadingIndicatorOverlay/index.js +6 -12
  107. package/build/admin/src/components/LoadingIndicatorOverlay/styles.d.ts +1 -1
  108. package/build/admin/src/components/LoadingIndicatorOverlay/styles.js +7 -14
  109. package/build/admin/src/components/Nav/index.js +16 -62
  110. package/build/admin/src/components/PluginIcon/index.d.ts +1 -1
  111. package/build/admin/src/components/PluginIcon/index.js +5 -8
  112. package/build/admin/src/components/ReportsReviewModal/index.js +23 -62
  113. package/build/admin/src/components/ReportsReviewTable/index.js +112 -293
  114. package/build/admin/src/components/StatusBadge/index.d.ts +5 -9
  115. package/build/admin/src/components/StatusBadge/index.js +6 -16
  116. package/build/admin/src/components/StatusBadge/styles.d.ts +1 -1
  117. package/build/admin/src/components/StatusBadge/styles.js +5 -7
  118. package/build/admin/src/components/TableFilters/index.js +38 -91
  119. package/build/admin/src/components/TablePagination/index.d.ts +13 -11
  120. package/build/admin/src/components/TablePagination/index.js +19 -31
  121. package/build/admin/src/components/icons/comments.d.ts +4 -7
  122. package/build/admin/src/components/icons/comments.js +7 -18
  123. package/build/admin/src/components/icons/index.d.ts +1 -1
  124. package/build/admin/src/components/icons/index.js +5 -11
  125. package/build/admin/src/components/icons/lock.d.ts +5 -9
  126. package/build/admin/src/components/icons/lock.js +7 -24
  127. package/build/admin/src/components/icons/review.d.ts +5 -9
  128. package/build/admin/src/components/icons/review.js +7 -26
  129. package/build/admin/src/components/icons/unlock.d.ts +5 -9
  130. package/build/admin/src/components/icons/unlock.js +7 -24
  131. package/build/admin/src/hooks/useConfig.js +34 -42
  132. package/build/admin/src/index.js +84 -121
  133. package/build/admin/src/pages/App/index.js +23 -66
  134. package/build/admin/src/pages/App/reducer/actions.d.ts +4 -4
  135. package/build/admin/src/pages/App/reducer/actions.js +3 -3
  136. package/build/admin/src/pages/App/reducer/constants.d.ts +1 -1
  137. package/build/admin/src/pages/App/reducer/constants.js +1 -1
  138. package/build/admin/src/pages/App/reducer/index.d.ts +5 -10
  139. package/build/admin/src/pages/App/reducer/index.js +16 -19
  140. package/build/admin/src/pages/App/reducer/init.d.ts +1 -1
  141. package/build/admin/src/pages/App/reducer/init.js +4 -4
  142. package/build/admin/src/pages/App/reducer/selectors.d.ts +1 -1
  143. package/build/admin/src/pages/App/reducer/selectors.js +6 -8
  144. package/build/admin/src/pages/App/utils/api.js +8 -9
  145. package/build/admin/src/pages/ComingSoonPage/index.js +27 -62
  146. package/build/admin/src/pages/Details/components/DetailsEntity/index.js +39 -115
  147. package/build/admin/src/pages/Details/components/DetailsFilters/index.js +13 -33
  148. package/build/admin/src/pages/Details/components/DetailsFilters/styles.d.ts +1 -1
  149. package/build/admin/src/pages/Details/components/DetailsFilters/styles.js +5 -7
  150. package/build/admin/src/pages/Details/index.js +64 -183
  151. package/build/admin/src/pages/Discover/components/DiscoverTableRow/index.js +139 -314
  152. package/build/admin/src/pages/Discover/components/DiscoverTableRow/styles.d.ts +1 -1
  153. package/build/admin/src/pages/Discover/components/DiscoverTableRow/styles.js +5 -7
  154. package/build/admin/src/pages/Discover/index.js +98 -298
  155. package/build/admin/src/pages/Discover/utils/api.js +8 -15
  156. package/build/admin/src/pages/Discover/utils/filtersSchema.d.ts +8 -8
  157. package/build/admin/src/pages/Discover/utils/filtersSchema.js +6 -6
  158. package/build/admin/src/pages/Settings/components/RestartAlert/styles.d.ts +1 -1
  159. package/build/admin/src/pages/Settings/components/RestartAlert/styles.js +5 -7
  160. package/build/admin/src/pages/Settings/index.js +192 -678
  161. package/build/admin/src/pages/Settings/utils/api.js +44 -59
  162. package/build/admin/src/pages/utils/api.js +26 -51
  163. package/build/admin/src/permissions.d.ts +25 -25
  164. package/build/admin/src/permissions.js +28 -60
  165. package/build/admin/src/pluginId.d.ts +1 -1
  166. package/build/admin/src/pluginId.js +20 -41
  167. package/build/admin/src/reducers.d.ts +4 -9
  168. package/build/admin/src/reducers.js +5 -7
  169. package/build/admin/src/translations/fr.json +132 -1
  170. package/build/admin/src/utils/axiosInstance.js +15 -23
  171. package/build/admin/src/utils/constants.d.ts +17 -17
  172. package/build/admin/src/utils/constants.js +16 -20
  173. package/build/admin/src/utils/getApiUrl.d.ts +1 -1
  174. package/build/admin/src/utils/getApiUrl.js +1 -1
  175. package/build/admin/src/utils/getMessage.js +13 -17
  176. package/build/admin/src/utils/getRelatedGroups.js +2 -3
  177. package/build/admin/src/utils/getUrl.d.ts +1 -1
  178. package/build/admin/src/utils/getUrl.js +1 -1
  179. package/build/admin/src/utils/handleAPIError.js +12 -15
  180. package/build/admin/src/utils/index.js +16 -84
  181. package/build/admin/src/utils/parseRegExp.d.ts +3 -3
  182. package/build/admin/src/utils/parseRegExp.js +6 -6
  183. package/build/admin/src/utils/renderEntryTitle.js +7 -10
  184. package/build/admin/src/utils/renderInitials.d.ts +1 -1
  185. package/build/admin/src/utils/renderInitials.js +2 -3
  186. package/build/admin/src/utils/resolveCommentStatus.js +19 -25
  187. package/build/admin/src/utils/resolveCommentStatusColor.js +15 -15
  188. package/build/content-types/comment.d.ts +87 -87
  189. package/build/content-types/comment.js +87 -87
  190. package/build/content-types/index.d.ts +136 -136
  191. package/build/content-types/index.js +10 -12
  192. package/build/content-types/report.d.ts +41 -41
  193. package/build/content-types/report.js +41 -41
  194. package/build/package.json +5 -5
  195. package/build/permissions.d.ts +14 -14
  196. package/build/permissions.js +14 -14
  197. package/build/server/bootstrap.js +52 -58
  198. package/build/server/config/index.js +13 -13
  199. package/build/server/controllers/admin.js +128 -117
  200. package/build/server/controllers/client.js +15 -4
  201. package/build/server/controllers/index.js +6 -8
  202. package/build/server/controllers/utils/functions.d.ts +1 -1
  203. package/build/server/controllers/utils/parsers.d.ts +5 -10
  204. package/build/server/controllers/utils/parsers.js +46 -20
  205. package/build/server/destroy.d.ts +1 -1
  206. package/build/server/destroy.js +3 -2
  207. package/build/server/graphql/index.js +19 -29
  208. package/build/server/graphql/mutations/createAbuseReport.js +19 -23
  209. package/build/server/graphql/mutations/createComment.d.ts +1 -1
  210. package/build/server/graphql/mutations/createComment.js +19 -22
  211. package/build/server/graphql/mutations/index.js +19 -21
  212. package/build/server/graphql/mutations/removeComment.d.ts +1 -1
  213. package/build/server/graphql/mutations/removeComment.js +19 -23
  214. package/build/server/graphql/mutations/updateComment.d.ts +1 -1
  215. package/build/server/graphql/mutations/updateComment.js +19 -23
  216. package/build/server/graphql/queries/findAllFlat.d.ts +1 -1
  217. package/build/server/graphql/queries/findAllFlat.js +30 -40
  218. package/build/server/graphql/queries/findAllInHierarchy.d.ts +1 -2
  219. package/build/server/graphql/queries/findAllInHierarchy.js +25 -32
  220. package/build/server/graphql/queries/index.js +17 -19
  221. package/build/server/graphql/resolvers-config.js +10 -10
  222. package/build/server/graphql/types/comment-author.js +7 -8
  223. package/build/server/graphql/types/comment-nested.js +14 -15
  224. package/build/server/graphql/types/comment.js +13 -14
  225. package/build/server/graphql/types/create-comment-author.js +7 -8
  226. package/build/server/graphql/types/create-comment.js +7 -8
  227. package/build/server/graphql/types/create-report.js +7 -8
  228. package/build/server/graphql/types/id.js +13 -14
  229. package/build/server/graphql/types/identify-comment-author.js +4 -5
  230. package/build/server/graphql/types/index.js +21 -27
  231. package/build/server/graphql/types/remove-comment.js +6 -7
  232. package/build/server/graphql/types/report-reason.js +9 -9
  233. package/build/server/graphql/types/report.js +9 -10
  234. package/build/server/graphql/types/response-find-all.js +5 -6
  235. package/build/server/graphql/types/response-meta.js +4 -5
  236. package/build/server/graphql/types/response-pagination.js +9 -10
  237. package/build/server/graphql/types/update-comment.js +7 -8
  238. package/build/server/register.d.ts +1 -1
  239. package/build/server/register.js +3 -2
  240. package/build/server/routes/admin.d.ts +1 -1
  241. package/build/server/routes/admin.js +99 -99
  242. package/build/server/routes/client.d.ts +1 -1
  243. package/build/server/routes/client.js +79 -43
  244. package/build/server/routes/index.d.ts +4 -4
  245. package/build/server/routes/index.js +12 -14
  246. package/build/server/services/admin.js +257 -284
  247. package/build/server/services/client.js +54 -42
  248. package/build/server/services/common.js +33 -11
  249. package/build/server/services/graphql.js +113 -124
  250. package/build/server/services/utils/functions.d.ts +1 -1
  251. package/build/server/services/utils/functions.js +76 -109
  252. package/build/server/utils/constants.js +13 -14
  253. package/build/server/utils/error.d.ts +12 -16
  254. package/build/server/utils/error.js +23 -23
  255. package/build/server/utils/functions.d.ts +4 -12
  256. package/build/server/utils/functions.js +20 -34
  257. package/build/strapi-admin.js +4 -6
  258. package/build/tsconfig.tsbuildinfo +1 -1
  259. package/build/types/contentTypes.d.ts +7 -5
  260. package/content-types/comment.ts +93 -0
  261. package/content-types/index.ts +11 -0
  262. package/content-types/report.ts +50 -0
  263. package/jest.config.ts +22 -0
  264. package/package.json +45 -11
  265. package/permissions.ts +17 -0
  266. package/server/{bootstrap.js → bootstrap.ts} +12 -11
  267. package/server/config/index.ts +19 -0
  268. package/server/controllers/admin.ts +194 -0
  269. package/server/controllers/client.ts +220 -0
  270. package/server/controllers/index.ts +13 -0
  271. package/server/controllers/utils/functions.ts +27 -0
  272. package/server/controllers/utils/parsers.ts +59 -0
  273. package/server/destroy.ts +3 -0
  274. package/server/graphql/index.ts +27 -0
  275. package/server/graphql/mutations/createAbuseReport.ts +38 -0
  276. package/server/graphql/mutations/createComment.ts +41 -0
  277. package/server/graphql/mutations/index.ts +26 -0
  278. package/server/graphql/mutations/removeComment.ts +41 -0
  279. package/server/graphql/mutations/updateComment.ts +40 -0
  280. package/server/graphql/queries/findAllFlat.ts +58 -0
  281. package/server/graphql/queries/findAllInHierarchy.ts +47 -0
  282. package/server/graphql/queries/index.ts +22 -0
  283. package/server/graphql/resolvers-config.ts +13 -0
  284. package/server/graphql/types/comment-author.ts +12 -0
  285. package/server/graphql/types/comment-nested.ts +19 -0
  286. package/server/graphql/types/comment.ts +18 -0
  287. package/server/graphql/types/create-comment-author.ts +12 -0
  288. package/server/graphql/types/create-comment.ts +12 -0
  289. package/server/graphql/types/create-report.ts +12 -0
  290. package/server/graphql/types/id.ts +28 -0
  291. package/server/graphql/types/identify-comment-author.ts +9 -0
  292. package/server/graphql/types/index.ts +38 -0
  293. package/server/graphql/types/remove-comment.ts +11 -0
  294. package/server/graphql/types/report-reason.ts +12 -0
  295. package/server/graphql/types/report.ts +14 -0
  296. package/server/graphql/types/response-find-all.ts +10 -0
  297. package/server/graphql/types/response-meta.ts +9 -0
  298. package/server/graphql/types/response-pagination.ts +14 -0
  299. package/server/graphql/types/update-comment.ts +12 -0
  300. package/server/index.ts +20 -0
  301. package/server/register.ts +3 -0
  302. package/server/routes/admin.ts +118 -0
  303. package/server/routes/client.ts +95 -0
  304. package/server/routes/index.ts +25 -0
  305. package/server/services/admin.ts +406 -0
  306. package/server/services/client.ts +394 -0
  307. package/server/services/common.ts +503 -0
  308. package/server/services/{graphql.js → graphql.ts} +72 -43
  309. package/server/services/index.ts +13 -0
  310. package/server/services/utils/functions.ts +150 -0
  311. package/server/utils/constants.ts +23 -0
  312. package/server/utils/error.ts +44 -0
  313. package/server/utils/functions.ts +55 -0
  314. package/strapi-admin.ts +5 -0
  315. package/strapi-server.ts +77 -0
  316. package/tsconfig.json +38 -0
  317. package/types/common.d.ts +1 -0
  318. package/types/config.d.ts +35 -0
  319. package/types/constants.d.ts +3 -0
  320. package/types/contentTypes.ts +56 -0
  321. package/types/controllers.d.ts +125 -0
  322. package/types/graphql.d.ts +24 -0
  323. package/types/index.d.ts +7 -0
  324. package/types/services.d.ts +166 -0
  325. package/__mocks__/initSetup.js +0 -108
  326. package/admin/src/components/ActionButton/styles.js +0 -10
  327. package/admin/src/components/ConfirmationDialog/index.js +0 -56
  328. package/admin/src/components/DiscussionStatus/index.js +0 -33
  329. package/admin/src/components/DiscussionThread/index.js +0 -62
  330. package/admin/src/components/DiscussionThreadItem/index.js +0 -57
  331. package/admin/src/components/DiscussionThreadItemActions/index.js +0 -231
  332. package/admin/src/components/DiscussionThreadItemActions/styles.js +0 -7
  333. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.js +0 -80
  334. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.js +0 -6
  335. package/admin/src/components/DiscussionThreadItemFooter/index.js +0 -47
  336. package/admin/src/components/DiscussionThreadItemFooter/styles.js +0 -13
  337. package/admin/src/components/DiscussionThreadItemReviewAction/index.js +0 -131
  338. package/admin/src/components/FormSwitch/index.js +0 -18
  339. package/admin/src/components/FormSwitch/styles.js +0 -8
  340. package/admin/src/components/IconButton/styles.js +0 -14
  341. package/admin/src/components/LoadingIndicatorOverlay/index.js +0 -15
  342. package/admin/src/components/LoadingIndicatorOverlay/styles.js +0 -20
  343. package/admin/src/components/Nav/index.js +0 -49
  344. package/admin/src/components/ReportsReviewModal/index.js +0 -48
  345. package/admin/src/components/ReportsReviewTable/index.js +0 -160
  346. package/admin/src/components/StatusBadge/index.js +0 -17
  347. package/admin/src/components/StatusBadge/styles.js +0 -17
  348. package/admin/src/components/icons/comments.js +0 -9
  349. package/admin/src/components/icons/index.js +0 -6
  350. package/admin/src/components/icons/review.js +0 -18
  351. package/admin/src/components/icons/unlock.js +0 -20
  352. package/admin/src/hooks/useConfig.js +0 -49
  353. package/admin/src/pages/App/index.js +0 -71
  354. package/admin/src/pages/App/reducer/actions.js +0 -8
  355. package/admin/src/pages/App/reducer/constants.js +0 -4
  356. package/admin/src/pages/App/reducer/init.js +0 -7
  357. package/admin/src/pages/App/reducer/selectors.js +0 -35
  358. package/admin/src/pages/ComingSoonPage/index.js +0 -25
  359. package/admin/src/pages/Details/components/DetailsEntity/index.js +0 -84
  360. package/admin/src/pages/Details/components/DetailsFilters/index.js +0 -35
  361. package/admin/src/pages/Details/components/DetailsFilters/styles.js +0 -8
  362. package/admin/src/pages/Details/index.js +0 -136
  363. package/admin/src/pages/Discover/components/DiscoverTableRow/index.js +0 -180
  364. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.js +0 -8
  365. package/admin/src/pages/Discover/index.js +0 -173
  366. package/admin/src/pages/Discover/utils/api.js +0 -14
  367. package/admin/src/pages/Discover/utils/filtersSchema.js +0 -9
  368. package/admin/src/pages/Settings/components/RestartAlert/styles.js +0 -8
  369. package/admin/src/pages/Settings/index.js +0 -392
  370. package/admin/src/pages/utils/api.js +0 -53
  371. package/admin/src/permissions.js +0 -19
  372. package/admin/src/pluginId.js +0 -5
  373. package/admin/src/reducers.js +0 -8
  374. package/admin/src/utils/constants.js +0 -25
  375. package/admin/src/utils/getApiUrl.js +0 -5
  376. package/admin/src/utils/getMessage.js +0 -21
  377. package/admin/src/utils/getRelatedGroups.js +0 -3
  378. package/admin/src/utils/getUrl.js +0 -5
  379. package/admin/src/utils/handleAPIError.js +0 -16
  380. package/admin/src/utils/index.js +0 -11
  381. package/admin/src/utils/parseRegExp.js +0 -10
  382. package/admin/src/utils/renderEntryTitle.js +0 -14
  383. package/admin/src/utils/renderInitials.js +0 -5
  384. package/admin/src/utils/resolveCommentStatus.js +0 -30
  385. package/admin/src/utils/resolveCommentStatusColor.js +0 -22
  386. package/content-types/comment.js +0 -93
  387. package/content-types/index.js +0 -11
  388. package/content-types/report.js +0 -54
  389. package/jest.config.js +0 -7
  390. package/permissions.js +0 -19
  391. package/server/config/index.js +0 -17
  392. package/server/controllers/admin.js +0 -168
  393. package/server/controllers/client.js +0 -114
  394. package/server/controllers/index.js +0 -9
  395. package/server/controllers/utils/__tests__/functions.test.js +0 -43
  396. package/server/controllers/utils/__tests__/parsers.test.js +0 -94
  397. package/server/controllers/utils/functions.js +0 -19
  398. package/server/controllers/utils/parsers.js +0 -23
  399. package/server/destroy.js +0 -5
  400. package/server/graphql/index.js +0 -25
  401. package/server/graphql/mutations/createAbuseReport.js +0 -25
  402. package/server/graphql/mutations/createComment.js +0 -25
  403. package/server/graphql/mutations/index.js +0 -21
  404. package/server/graphql/mutations/removeComment.js +0 -25
  405. package/server/graphql/mutations/updateComment.js +0 -25
  406. package/server/graphql/queries/findAllFlat.js +0 -35
  407. package/server/graphql/queries/findAllInHierarchy.js +0 -31
  408. package/server/graphql/queries/index.js +0 -19
  409. package/server/graphql/resolvers-config.js +0 -13
  410. package/server/graphql/types/comment-author.js +0 -9
  411. package/server/graphql/types/comment-nested.js +0 -16
  412. package/server/graphql/types/comment.js +0 -15
  413. package/server/graphql/types/create-comment-author.js +0 -9
  414. package/server/graphql/types/create-comment.js +0 -9
  415. package/server/graphql/types/create-report.js +0 -9
  416. package/server/graphql/types/id.js +0 -24
  417. package/server/graphql/types/identify-comment-author.js +0 -6
  418. package/server/graphql/types/index.js +0 -19
  419. package/server/graphql/types/remove-comment.js +0 -8
  420. package/server/graphql/types/report-reason.js +0 -10
  421. package/server/graphql/types/report.js +0 -11
  422. package/server/graphql/types/response-find-all.js +0 -7
  423. package/server/graphql/types/response-meta.js +0 -6
  424. package/server/graphql/types/response-pagination.js +0 -11
  425. package/server/graphql/types/update-comment.js +0 -9
  426. package/server/index.js +0 -22
  427. package/server/register.js +0 -5
  428. package/server/routes/admin.js +0 -124
  429. package/server/routes/client.js +0 -52
  430. package/server/routes/index.js +0 -15
  431. package/server/services/__tests__/common.test.js +0 -399
  432. package/server/services/admin.js +0 -296
  433. package/server/services/client.js +0 -263
  434. package/server/services/common.js +0 -295
  435. package/server/services/index.js +0 -13
  436. package/server/services/utils/__tests__/functions.test.js +0 -53
  437. package/server/services/utils/functions.js +0 -112
  438. package/server/utils/__tests__/functions.test.js +0 -17
  439. package/server/utils/constants.js +0 -26
  440. package/server/utils/error.js +0 -24
  441. package/server/utils/functions.js +0 -19
  442. package/strapi-admin.js +0 -3
  443. package/strapi-server.js +0 -49
@@ -1,53 +1,30 @@
1
1
  "use strict";
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
11
- ) {
12
- desc = {
13
- enumerable: true,
14
- get: function () {
15
- return m[k];
16
- },
17
- };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }
21
- : function (o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- });
25
- var __setModuleDefault =
26
- (this && this.__setModuleDefault) ||
27
- (Object.create
28
- ? function (o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }
31
- : function (o, v) {
32
- o["default"] = v;
33
- });
34
- var __importStar =
35
- (this && this.__importStar) ||
36
- function (mod) {
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
37
19
  if (mod && mod.__esModule) return mod;
38
20
  var result = {};
39
- if (mod != null)
40
- for (var k in mod)
41
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
42
- __createBinding(result, mod, k);
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
22
  __setModuleDefault(result, mod);
44
23
  return result;
45
- };
46
- var __importDefault =
47
- (this && this.__importDefault) ||
48
- function (mod) {
49
- return mod && mod.__esModule ? mod : { default: mod };
50
- };
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
51
28
  Object.defineProperty(exports, "__esModule", { value: true });
52
29
  const react_1 = __importStar(require("react"));
53
30
  const prop_types_1 = __importDefault(require("prop-types"));
@@ -64,351 +41,154 @@ const ConfirmationDialog_1 = __importDefault(require("../ConfirmationDialog"));
64
41
  const api_1 = require("../../pages/utils/api");
65
42
  const pluginId_1 = require("../../pluginId");
66
43
  const icons_2 = require("../icons");
67
- const DiscussionThreadItemApprovalFlowActions_1 = __importDefault(
68
- require("../DiscussionThreadItemApprovalFlowActions")
69
- );
44
+ const DiscussionThreadItemApprovalFlowActions_1 = __importDefault(require("../DiscussionThreadItemApprovalFlowActions"));
70
45
  const StatusBadge_1 = __importDefault(require("../StatusBadge"));
71
46
  const styles_2 = require("../IconButton/styles");
72
47
  const styles_3 = require("../ActionButton/styles");
73
- const DiscussionThreadItemReviewAction_1 = __importDefault(
74
- require("../DiscussionThreadItemReviewAction")
75
- );
76
- const DiscussionThreadItemActions = ({
77
- allowedActions: { canModerate, canAccessReports, canReviewReports },
78
- ...item
79
- }) => {
80
- const {
81
- id,
82
- blocked,
83
- removed,
84
- blockedThread,
85
- gotThread,
86
- threadItemsCount,
87
- threadFirstItemId,
88
- pinned,
89
- preview,
90
- reports = [],
91
- approvalStatus,
92
- } = item;
93
- const [blockConfirmationVisible, setBlockConfirmationVisible] = (0,
94
- react_1.useState)(false);
95
- const [blockThreadConfirmationVisible, setBlockThreadConfirmationVisible] =
96
- (0, react_1.useState)(false);
97
- const [blockButtonsDisabled, setBlockButtonsDisabled] = (0, react_1.useState)(
98
- blockedThread
99
- );
100
- const { push } = (0, react_router_dom_1.useHistory)();
101
- const toggleNotification = (0, helper_plugin_1.useNotification)();
102
- const queryClient = (0, react_query_1.useQueryClient)();
103
- const { lockApp, unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
104
- const onSuccess =
105
- (message, stateAction = () => {}) =>
106
- async () => {
107
- await queryClient.invalidateQueries("get-details-data");
108
- toggleNotification({
109
- type: "success",
110
- message: `${pluginId_1.pluginId}.${message}`,
111
- });
112
- stateAction(false);
113
- unlockApp();
48
+ const DiscussionThreadItemReviewAction_1 = __importDefault(require("../DiscussionThreadItemReviewAction"));
49
+ const DiscussionThreadItemActions = ({ allowedActions: { canModerate, canAccessReports, canReviewReports }, ...item }) => {
50
+ const { id, blocked, removed, blockedThread, gotThread, threadItemsCount, threadFirstItemId, pinned, preview, reports = [], approvalStatus, } = item;
51
+ const [blockConfirmationVisible, setBlockConfirmationVisible] = (0, react_1.useState)(false);
52
+ const [blockThreadConfirmationVisible, setBlockThreadConfirmationVisible] = (0, react_1.useState)(false);
53
+ const [blockButtonsDisabled, setBlockButtonsDisabled] = (0, react_1.useState)(blockedThread);
54
+ const { push } = (0, react_router_dom_1.useHistory)();
55
+ const toggleNotification = (0, helper_plugin_1.useNotification)();
56
+ const queryClient = (0, react_query_1.useQueryClient)();
57
+ const { lockApp, unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
58
+ const onSuccess = (message, stateAction = () => { }) => async () => {
59
+ await queryClient.invalidateQueries("get-details-data");
60
+ toggleNotification({
61
+ type: "success",
62
+ message: `${pluginId_1.pluginId}.${message}`,
63
+ });
64
+ stateAction(false);
65
+ unlockApp();
114
66
  };
115
- const onError = (err) => {
116
- (0, utils_1.handleAPIError)(err, toggleNotification);
117
- };
118
- const blockItemMutation = (0, react_query_1.useMutation)(api_1.blockItem, {
119
- onSuccess: onSuccess(
120
- "page.details.actions.comment.block.confirmation.success",
121
- setBlockConfirmationVisible
122
- ),
123
- onError,
124
- refetchActive: false,
125
- });
126
- const unblockItemMutation = (0, react_query_1.useMutation)(
127
- api_1.unblockItem,
128
- {
129
- onSuccess: onSuccess(
130
- "page.details.actions.comment.unblock.confirmation.success"
131
- ),
132
- onError,
133
- refetchActive: false,
134
- }
135
- );
136
- const blockItemThreadMutation = (0, react_query_1.useMutation)(
137
- api_1.blockItemThread,
138
- {
139
- onSuccess: onSuccess(
140
- "page.details.actions.thread.block.confirmation.success",
141
- setBlockThreadConfirmationVisible
142
- ),
143
- onError,
144
- refetchActive: false,
145
- }
146
- );
147
- const unblockItemThreadMutation = (0, react_query_1.useMutation)(
148
- api_1.unblockItemThread,
149
- {
150
- onSuccess: onSuccess(
151
- "page.details.actions.thread.unblock.confirmation.success"
152
- ),
153
- onError,
154
- refetchActive: false,
155
- }
156
- );
157
- const gotApprovalFlow = !(0, lodash_1.isNil)(approvalStatus);
158
- const needsApproval = gotApprovalFlow && approvalStatus === "PENDING";
159
- const isBlocked = blocked || blockedThread;
160
- const isRejected = gotApprovalFlow && approvalStatus === "REJECTED";
161
- const openReports = reports?.filter((_) => !_.resolved);
162
- const hasReports = !(0, lodash_1.isEmpty)(openReports);
163
- const reviewFlowEnabled =
164
- (canAccessReports || canReviewReports) && hasReports;
165
- const hasActiveThread =
166
- gotThread && !(removed || preview || pinned || blockedThread);
167
- const isStatusBadgeVisible = isBlocked || reviewFlowEnabled;
168
- const renderStatus = (props) => {
169
- const status = (0, utils_1.resolveCommentStatus)({
170
- ...props,
171
- reviewFlowEnabled,
67
+ const onError = (err) => {
68
+ (0, utils_1.handleAPIError)(err, toggleNotification);
69
+ };
70
+ const blockItemMutation = (0, react_query_1.useMutation)(api_1.blockItem, {
71
+ onSuccess: onSuccess("page.details.actions.comment.block.confirmation.success", setBlockConfirmationVisible),
72
+ onError,
73
+ refetchActive: false,
172
74
  });
173
- const color = (0, utils_1.resolveCommentStatusColor)(status);
174
- return react_1.default.createElement(
175
- StatusBadge_1.default,
176
- {
177
- backgroundColor: `${color}100`,
178
- textColor: `${color}700`,
179
- color: color,
180
- },
181
- (0, utils_1.getMessage)(
182
- {
183
- id: `page.common.item.status.${status}`,
184
- props: {
185
- count: openReports.length,
186
- },
187
- },
188
- status
189
- )
190
- );
191
- };
192
- const handleBlockClick = () => setBlockConfirmationVisible(true);
193
- const handleBlockConfirm = async () => {
194
- if (canModerate) {
195
- lockApp();
196
- blockItemMutation.mutate(id);
197
- }
198
- };
199
- const handleBlockCancel = () => {
200
- setBlockConfirmationVisible(false);
201
- };
202
- const handleUnblockClick = async () => {
203
- if (canModerate) {
204
- lockApp();
205
- unblockItemMutation.mutate(id);
206
- }
207
- };
208
- const handleBlockThreadClick = () => setBlockThreadConfirmationVisible(true);
209
- const handleBlockThreadConfirm = async () => {
210
- if (canModerate) {
211
- lockApp();
212
- blockItemThreadMutation.mutate(id);
213
- }
214
- };
215
- const handleBlockThreadCancel = () => {
216
- setBlockThreadConfirmationVisible(false);
217
- };
218
- const handleUnblockThreadClick = async () => {
219
- if (canModerate) {
220
- lockApp();
221
- unblockItemThreadMutation.mutate(id);
222
- }
223
- };
224
- const handleDrilldownClick = () => {
225
- if (hasActiveThread) {
226
- push((0, utils_1.getUrl)(`discover/${threadFirstItemId}`));
75
+ const unblockItemMutation = (0, react_query_1.useMutation)(api_1.unblockItem, {
76
+ onSuccess: onSuccess("page.details.actions.comment.unblock.confirmation.success"),
77
+ onError,
78
+ refetchActive: false,
79
+ });
80
+ const blockItemThreadMutation = (0, react_query_1.useMutation)(api_1.blockItemThread, {
81
+ onSuccess: onSuccess("page.details.actions.thread.block.confirmation.success", setBlockThreadConfirmationVisible),
82
+ onError,
83
+ refetchActive: false,
84
+ });
85
+ const unblockItemThreadMutation = (0, react_query_1.useMutation)(api_1.unblockItemThread, {
86
+ onSuccess: onSuccess("page.details.actions.thread.unblock.confirmation.success"),
87
+ onError,
88
+ refetchActive: false,
89
+ });
90
+ const gotApprovalFlow = !(0, lodash_1.isNil)(approvalStatus);
91
+ const needsApproval = gotApprovalFlow && approvalStatus === "PENDING";
92
+ const isBlocked = blocked || blockedThread;
93
+ const isRejected = gotApprovalFlow && approvalStatus === "REJECTED";
94
+ const openReports = reports?.filter((_) => !_.resolved);
95
+ const hasReports = !(0, lodash_1.isEmpty)(openReports);
96
+ const reviewFlowEnabled = (canAccessReports || canReviewReports) && hasReports;
97
+ const hasActiveThread = gotThread && !(removed || preview || pinned || blockedThread);
98
+ const isStatusBadgeVisible = isBlocked || reviewFlowEnabled;
99
+ const renderStatus = (props) => {
100
+ const status = (0, utils_1.resolveCommentStatus)({ ...props, reviewFlowEnabled });
101
+ const color = (0, utils_1.resolveCommentStatusColor)(status);
102
+ return (react_1.default.createElement(StatusBadge_1.default, { backgroundColor: `${color}100`, textColor: `${color}700`, color: color }, (0, utils_1.getMessage)({
103
+ id: `page.common.item.status.${status}`,
104
+ props: {
105
+ count: openReports.length,
106
+ },
107
+ }, status)));
108
+ };
109
+ const handleBlockClick = () => setBlockConfirmationVisible(true);
110
+ const handleBlockConfirm = async () => {
111
+ if (canModerate) {
112
+ lockApp();
113
+ blockItemMutation.mutate(id);
114
+ }
115
+ };
116
+ const handleBlockCancel = () => {
117
+ setBlockConfirmationVisible(false);
118
+ };
119
+ const handleUnblockClick = async () => {
120
+ if (canModerate) {
121
+ lockApp();
122
+ unblockItemMutation.mutate(id);
123
+ }
124
+ };
125
+ const handleBlockThreadClick = () => setBlockThreadConfirmationVisible(true);
126
+ const handleBlockThreadConfirm = async () => {
127
+ if (canModerate) {
128
+ lockApp();
129
+ blockItemThreadMutation.mutate(id);
130
+ }
131
+ };
132
+ const handleBlockThreadCancel = () => {
133
+ setBlockThreadConfirmationVisible(false);
134
+ };
135
+ const handleUnblockThreadClick = async () => {
136
+ if (canModerate) {
137
+ lockApp();
138
+ unblockItemThreadMutation.mutate(id);
139
+ }
140
+ };
141
+ const handleDrilldownClick = () => {
142
+ if (hasActiveThread) {
143
+ push((0, utils_1.getUrl)(`discover/${threadFirstItemId}`));
144
+ }
145
+ };
146
+ const handleBlockActionClick = async (mutation, onCallback) => {
147
+ lockApp();
148
+ await mutation.mutateAsync(id);
149
+ onCallback();
150
+ };
151
+ const handleBlockButtonsStateChange = (disabled) => setBlockButtonsDisabled(disabled);
152
+ const anyGroupButtonsVisible = needsApproval || reviewFlowEnabled || !blockedThread;
153
+ const isLoading = unblockItemMutation.isLoading ||
154
+ blockItemMutation.isLoading ||
155
+ blockItemThreadMutation.isLoading ||
156
+ unblockItemThreadMutation.isLoading;
157
+ if (removed || isRejected || !canModerate) {
158
+ return (react_1.default.createElement(styles_1.DiscussionThreadItemActionsWrapper, { as: Flex_1.Flex, direction: "row" }, renderStatus(item)));
227
159
  }
228
- };
229
- const handleBlockActionClick = async (mutation, onCallback) => {
230
- lockApp();
231
- await mutation.mutateAsync(id);
232
- onCallback();
233
- };
234
- const handleBlockButtonsStateChange = (disabled) =>
235
- setBlockButtonsDisabled(disabled);
236
- const anyGroupButtonsVisible =
237
- needsApproval || reviewFlowEnabled || !blockedThread;
238
- const isLoading =
239
- unblockItemMutation.isLoading ||
240
- blockItemMutation.isLoading ||
241
- blockItemThreadMutation.isLoading ||
242
- unblockItemThreadMutation.isLoading;
243
- if (removed || isRejected || !canModerate) {
244
- return react_1.default.createElement(
245
- styles_1.DiscussionThreadItemActionsWrapper,
246
- { as: Flex_1.Flex, direction: "row" },
247
- renderStatus(item)
248
- );
249
- }
250
- return react_1.default.createElement(
251
- react_1.default.Fragment,
252
- null,
253
- react_1.default.createElement(
254
- styles_1.DiscussionThreadItemActionsWrapper,
255
- { as: Flex_1.Flex, direction: "row" },
256
- isStatusBadgeVisible && renderStatus(item),
257
- !blockedThread &&
258
- (gotThread || pinned) &&
259
- react_1.default.createElement(
260
- styles_3.ActionButton,
261
- {
262
- onClick: handleBlockThreadClick,
263
- startIcon: react_1.default.createElement(icons_2.LockIcon, null),
264
- loading: blockItemThreadMutation.isLoading,
265
- variant: "danger",
266
- },
267
- (0, utils_1.getMessage)(
268
- "page.details.actions.thread.block",
269
- "Block thread"
270
- )
271
- ),
272
- blockedThread &&
273
- (gotThread || pinned) &&
274
- react_1.default.createElement(
275
- styles_3.ActionButton,
276
- {
277
- onClick: handleUnblockThreadClick,
278
- startIcon: react_1.default.createElement(icons_2.UnlockIcon, null),
279
- loading: unblockItemThreadMutation.isLoading,
280
- variant: "success",
281
- },
282
- (0, utils_1.getMessage)(
283
- "page.details.actions.thread.unblock",
284
- "Unblock thread"
285
- )
286
- ),
287
- anyGroupButtonsVisible &&
288
- react_1.default.createElement(
289
- styles_2.IconButtonGroupStyled,
290
- { isSingle: true, withMargin: true },
291
- !blockedThread &&
292
- !(blocked || needsApproval) &&
293
- react_1.default.createElement(IconButton_1.IconButton, {
294
- onClick: handleBlockClick,
295
- loading: blockItemMutation.isLoading,
296
- icon: react_1.default.createElement(icons_2.LockIcon, null),
297
- label: (0, utils_1.getMessage)(
298
- "page.details.actions.comment.block",
299
- "Block"
300
- ),
301
- }),
302
- !blockedThread &&
303
- blocked &&
304
- react_1.default.createElement(IconButton_1.IconButton, {
305
- onClick: handleUnblockClick,
306
- loading: unblockItemMutation.isLoading,
307
- icon: react_1.default.createElement(icons_2.UnlockIcon, null),
308
- label: (0, utils_1.getMessage)(
309
- "page.details.actions.comment.unblock",
310
- "Unblock"
311
- ),
312
- }),
313
- needsApproval &&
314
- react_1.default.createElement(
315
- DiscussionThreadItemApprovalFlowActions_1.default,
316
- {
317
- id: id,
318
- allowedActions: { canModerate },
319
- queryToInvalidate: "get-details-data",
320
- }
321
- ),
322
- react_1.default.createElement(
323
- DiscussionThreadItemReviewAction_1.default,
324
- {
325
- item: item,
326
- queryToInvalidate: "get-details-data",
327
- areBlockButtonsDisabled: blockButtonsDisabled,
328
- isLoading: isLoading,
329
- allowedActions: {
330
- canModerate,
331
- canAccessReports,
332
- canReviewReports,
333
- },
334
- blockItemMutation: blockItemMutation,
335
- blockItemThreadMutation: blockItemThreadMutation,
336
- onBlockButtonsStateChange: handleBlockButtonsStateChange,
337
- onBlockActionClick: handleBlockActionClick,
338
- }
339
- )
340
- ),
341
- hasActiveThread &&
342
- react_1.default.createElement(
343
- styles_2.IconButtonGroupStyled,
344
- { isSingle: true, withMargin: true },
345
- react_1.default.createElement(IconButton_1.IconButton, {
346
- onClick: handleDrilldownClick,
347
- icon: react_1.default.createElement(icons_1.Eye, null),
348
- label: (0, utils_1.getMessage)(
349
- "page.details.panel.discussion.nav.drilldown",
350
- "Drilldown thread"
351
- ),
352
- style:
353
- blocked && !blockedThread
354
- ? { marginTop: "1px", marginRight: ".5rem" }
355
- : {},
356
- })
357
- )
358
- ),
359
- !blocked &&
360
- react_1.default.createElement(
361
- ConfirmationDialog_1.default,
362
- {
363
- isVisible: blockConfirmationVisible,
364
- isActionAsync: blockItemMutation.isLoading,
365
- header: (0, utils_1.getMessage)(
366
- "page.details.actions.comment.block.confirmation.header"
367
- ),
368
- labelConfirm: (0, utils_1.getMessage)(
369
- "page.details.actions.comment.block.confirmation.button.confirm"
370
- ),
371
- iconConfirm: react_1.default.createElement(icons_2.LockIcon, null),
372
- onConfirm: handleBlockConfirm,
373
- onCancel: handleBlockCancel,
374
- },
375
- (0, utils_1.getMessage)(
376
- "page.details.actions.comment.block.confirmation.description"
377
- )
378
- ),
379
- !blockedThread &&
380
- react_1.default.createElement(
381
- ConfirmationDialog_1.default,
382
- {
383
- isVisible: blockThreadConfirmationVisible,
384
- isActionAsync: blockItemThreadMutation.isLoading,
385
- header: (0, utils_1.getMessage)(
386
- "page.details.actions.thread.block.confirmation.header"
387
- ),
388
- labelConfirm: (0, utils_1.getMessage)(
389
- "page.details.actions.thread.block.confirmation.button.confirm"
390
- ),
391
- iconConfirm: react_1.default.createElement(icons_2.LockIcon, null),
392
- onConfirm: handleBlockThreadConfirm,
393
- onCancel: handleBlockThreadCancel,
394
- },
395
- (0, utils_1.getMessage)(
396
- "page.details.actions.thread.block.confirmation.description"
397
- )
398
- )
399
- );
160
+ return (react_1.default.createElement(react_1.default.Fragment, null,
161
+ react_1.default.createElement(styles_1.DiscussionThreadItemActionsWrapper, { as: Flex_1.Flex, direction: "row" },
162
+ isStatusBadgeVisible && renderStatus(item),
163
+ !blockedThread && (gotThread || pinned) && (react_1.default.createElement(styles_3.ActionButton, { onClick: handleBlockThreadClick, startIcon: react_1.default.createElement(icons_2.LockIcon, null), loading: blockItemThreadMutation.isLoading, variant: "danger" }, (0, utils_1.getMessage)("page.details.actions.thread.block", "Block thread"))),
164
+ blockedThread && (gotThread || pinned) && (react_1.default.createElement(styles_3.ActionButton, { onClick: handleUnblockThreadClick, startIcon: react_1.default.createElement(icons_2.UnlockIcon, null), loading: unblockItemThreadMutation.isLoading, variant: "success" }, (0, utils_1.getMessage)("page.details.actions.thread.unblock", "Unblock thread"))),
165
+ anyGroupButtonsVisible && (react_1.default.createElement(styles_2.IconButtonGroupStyled, { isSingle: true, withMargin: true },
166
+ !blockedThread && !(blocked || needsApproval) && (react_1.default.createElement(IconButton_1.IconButton, { onClick: handleBlockClick, loading: blockItemMutation.isLoading, icon: react_1.default.createElement(icons_2.LockIcon, null), label: (0, utils_1.getMessage)("page.details.actions.comment.block", "Block") })),
167
+ !blockedThread && blocked && (react_1.default.createElement(IconButton_1.IconButton, { onClick: handleUnblockClick, loading: unblockItemMutation.isLoading, icon: react_1.default.createElement(icons_2.UnlockIcon, null), label: (0, utils_1.getMessage)("page.details.actions.comment.unblock", "Unblock") })),
168
+ needsApproval && (react_1.default.createElement(DiscussionThreadItemApprovalFlowActions_1.default, { id: id, allowedActions: { canModerate }, queryToInvalidate: "get-details-data" })),
169
+ react_1.default.createElement(DiscussionThreadItemReviewAction_1.default, { item: item, queryToInvalidate: "get-details-data", areBlockButtonsDisabled: blockButtonsDisabled, isLoading: isLoading, allowedActions: {
170
+ canModerate,
171
+ canAccessReports,
172
+ canReviewReports,
173
+ }, blockItemMutation: blockItemMutation, blockItemThreadMutation: blockItemThreadMutation, onBlockButtonsStateChange: handleBlockButtonsStateChange, onBlockActionClick: handleBlockActionClick }))),
174
+ hasActiveThread && (react_1.default.createElement(styles_2.IconButtonGroupStyled, { isSingle: true, withMargin: true },
175
+ react_1.default.createElement(IconButton_1.IconButton, { onClick: handleDrilldownClick, icon: react_1.default.createElement(icons_1.Eye, null), label: (0, utils_1.getMessage)("page.details.panel.discussion.nav.drilldown", "Drilldown thread"), style: blocked && !blockedThread
176
+ ? { marginTop: "1px", marginRight: ".5rem" }
177
+ : {} })))),
178
+ !blocked && (react_1.default.createElement(ConfirmationDialog_1.default, { isVisible: blockConfirmationVisible, isActionAsync: blockItemMutation.isLoading, header: (0, utils_1.getMessage)("page.details.actions.comment.block.confirmation.header"), labelConfirm: (0, utils_1.getMessage)("page.details.actions.comment.block.confirmation.button.confirm"), iconConfirm: react_1.default.createElement(icons_2.LockIcon, null), onConfirm: handleBlockConfirm, onCancel: handleBlockCancel }, (0, utils_1.getMessage)("page.details.actions.comment.block.confirmation.description"))),
179
+ !blockedThread && (react_1.default.createElement(ConfirmationDialog_1.default, { isVisible: blockThreadConfirmationVisible, isActionAsync: blockItemThreadMutation.isLoading, header: (0, utils_1.getMessage)("page.details.actions.thread.block.confirmation.header"), labelConfirm: (0, utils_1.getMessage)("page.details.actions.thread.block.confirmation.button.confirm"), iconConfirm: react_1.default.createElement(icons_2.LockIcon, null), onConfirm: handleBlockThreadConfirm, onCancel: handleBlockThreadCancel }, (0, utils_1.getMessage)("page.details.actions.thread.block.confirmation.description")))));
400
180
  };
401
181
  DiscussionThreadItemActions.propTypes = {
402
- isRoot: prop_types_1.default.bool,
403
- blocked: prop_types_1.default.bool.isRequired,
404
- blockedThread: prop_types_1.default.bool.isRequired,
405
- approvalStatus: prop_types_1.default.oneOfType([
406
- prop_types_1.default.nullable,
407
- prop_types_1.default.oneOf(["PENDING", "APPROVED", "REJECTED"]),
408
- ]),
409
- allowedActions: prop_types_1.default.shape({
410
- canModerate: prop_types_1.default.bool,
411
- }),
182
+ isRoot: prop_types_1.default.bool,
183
+ blocked: prop_types_1.default.bool.isRequired,
184
+ blockedThread: prop_types_1.default.bool.isRequired,
185
+ approvalStatus: prop_types_1.default.oneOfType([
186
+ prop_types_1.default.nullable,
187
+ prop_types_1.default.oneOf(["PENDING", "APPROVED", "REJECTED"]),
188
+ ]),
189
+ allowedActions: prop_types_1.default.shape({
190
+ canModerate: prop_types_1.default.bool,
191
+ }),
412
192
  };
413
193
  exports.default = DiscussionThreadItemActions;
414
- //# sourceMappingURL=index.js.map
194
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export declare const DiscussionThreadItemActionsWrapper: any;
2
- //# sourceMappingURL=styles.d.ts.map
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
7
5
  Object.defineProperty(exports, "__esModule", { value: true });
8
6
  exports.DiscussionThreadItemActionsWrapper = void 0;
9
7
  const styled_components_1 = __importDefault(require("styled-components"));
10
8
  const Box_1 = require("@strapi/design-system/Box");
11
- exports.DiscussionThreadItemActionsWrapper = (0, styled_components_1.default)(
12
- Box_1.Box
13
- )`
9
+ exports.DiscussionThreadItemActionsWrapper = (0, styled_components_1.default)(Box_1.Box) `
14
10
  margin-left: 1rem;
15
11
  align-items: flex-start;
16
12
  `;
17
- //# sourceMappingURL=styles.js.map
13
+ //# sourceMappingURL=styles.js.map