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,9 +1,7 @@
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
  const react_1 = __importDefault(require("react"));
9
7
  const prop_types_1 = __importDefault(require("prop-types"));
@@ -14,90 +12,59 @@ const helper_plugin_1 = require("@strapi/helper-plugin");
14
12
  const utils_1 = require("../../utils");
15
13
  const api_1 = require("../../pages/utils/api");
16
14
  const pluginId_1 = require("../../pluginId");
17
- const DiscussionThreadItemApprovalFlowActions = ({
18
- id,
19
- allowedActions: { canModerate },
20
- queryToInvalidate,
21
- }) => {
22
- const toggleNotification = (0, helper_plugin_1.useNotification)();
23
- const queryClient = (0, react_query_1.useQueryClient)();
24
- const { lockApp, unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
25
- const onSuccess = (message) => async () => {
26
- if (queryToInvalidate) {
27
- await queryClient.invalidateQueries(queryToInvalidate);
28
- }
29
- toggleNotification({
30
- type: "success",
31
- message: `${pluginId_1.pluginId}.${message}`,
15
+ const DiscussionThreadItemApprovalFlowActions = ({ id, allowedActions: { canModerate }, queryToInvalidate, }) => {
16
+ const toggleNotification = (0, helper_plugin_1.useNotification)();
17
+ const queryClient = (0, react_query_1.useQueryClient)();
18
+ const { lockApp, unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
19
+ const onSuccess = (message) => async () => {
20
+ if (queryToInvalidate) {
21
+ await queryClient.invalidateQueries(queryToInvalidate);
22
+ }
23
+ toggleNotification({
24
+ type: "success",
25
+ message: `${pluginId_1.pluginId}.${message}`,
26
+ });
27
+ unlockApp();
28
+ };
29
+ const onError = (err) => {
30
+ (0, utils_1.handleAPIError)(err, toggleNotification);
31
+ };
32
+ const approveItemMutation = (0, react_query_1.useMutation)(api_1.approveItem, {
33
+ onSuccess: onSuccess("page.details.actions.comment.approve.confirmation.success"),
34
+ onError,
35
+ refetchActive: false,
32
36
  });
33
- unlockApp();
34
- };
35
- const onError = (err) => {
36
- (0, utils_1.handleAPIError)(err, toggleNotification);
37
- };
38
- const approveItemMutation = (0, react_query_1.useMutation)(
39
- api_1.approveItem,
40
- {
41
- onSuccess: onSuccess(
42
- "page.details.actions.comment.approve.confirmation.success"
43
- ),
44
- onError,
45
- refetchActive: false,
46
- }
47
- );
48
- const rejectItemMutation = (0, react_query_1.useMutation)(api_1.rejectItem, {
49
- onSuccess: onSuccess(
50
- "page.details.actions.comment.reject.confirmation.success"
51
- ),
52
- onError,
53
- refetchActive: false,
54
- });
55
- const handleApproveClick = () => {
56
- if (canModerate) {
57
- lockApp();
58
- approveItemMutation.mutate(id);
59
- }
60
- };
61
- const handleRejectClick = () => {
37
+ const rejectItemMutation = (0, react_query_1.useMutation)(api_1.rejectItem, {
38
+ onSuccess: onSuccess("page.details.actions.comment.reject.confirmation.success"),
39
+ onError,
40
+ refetchActive: false,
41
+ });
42
+ const handleApproveClick = () => {
43
+ if (canModerate) {
44
+ lockApp();
45
+ approveItemMutation.mutate(id);
46
+ }
47
+ };
48
+ const handleRejectClick = () => {
49
+ if (canModerate) {
50
+ lockApp();
51
+ rejectItemMutation.mutate(id);
52
+ }
53
+ };
62
54
  if (canModerate) {
63
- lockApp();
64
- rejectItemMutation.mutate(id);
55
+ return (react_1.default.createElement(react_1.default.Fragment, null,
56
+ react_1.default.createElement(IconButton_1.IconButton, { icon: react_1.default.createElement(icons_1.Check, null), label: (0, utils_1.getMessage)("page.details.actions.comment.approve", "Approve"), onClick: handleApproveClick }),
57
+ react_1.default.createElement(IconButton_1.IconButton, { icon: react_1.default.createElement(icons_1.Cross, null), label: (0, utils_1.getMessage)("page.details.actions.comment.reject", "Reject"), onClick: handleRejectClick })));
65
58
  }
66
- };
67
- if (canModerate) {
68
- return react_1.default.createElement(
69
- react_1.default.Fragment,
70
- null,
71
- react_1.default.createElement(IconButton_1.IconButton, {
72
- icon: react_1.default.createElement(icons_1.Check, null),
73
- label: (0, utils_1.getMessage)(
74
- "page.details.actions.comment.approve",
75
- "Approve"
76
- ),
77
- onClick: handleApproveClick,
78
- }),
79
- react_1.default.createElement(IconButton_1.IconButton, {
80
- icon: react_1.default.createElement(icons_1.Cross, null),
81
- label: (0, utils_1.getMessage)(
82
- "page.details.actions.comment.reject",
83
- "Reject"
84
- ),
85
- onClick: handleRejectClick,
86
- })
87
- );
88
- }
89
- return null;
59
+ return null;
90
60
  };
91
61
  DiscussionThreadItemApprovalFlowActions.propTypes = {
92
- id: prop_types_1.default.oneOfType([
93
- prop_types_1.default.string,
94
- prop_types_1.default.number,
95
- ]).isRequired,
96
- queryToInvalidate: prop_types_1.default.string,
97
- allowedActions: prop_types_1.default.shape({
98
- canModerate: prop_types_1.default.bool,
99
- }),
100
- wrapped: prop_types_1.default.bool,
62
+ id: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.number]).isRequired,
63
+ queryToInvalidate: prop_types_1.default.string,
64
+ allowedActions: prop_types_1.default.shape({
65
+ canModerate: prop_types_1.default.bool,
66
+ }),
67
+ wrapped: prop_types_1.default.bool,
101
68
  };
102
69
  exports.default = DiscussionThreadItemApprovalFlowActions;
103
- //# sourceMappingURL=index.js.map
70
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export declare const DiscussionThreadItemActionsGroupWrapper: any;
2
- //# sourceMappingURL=styles.d.ts.map
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,15 +1,12 @@
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.DiscussionThreadItemActionsGroupWrapper = void 0;
9
7
  const styled_components_1 = __importDefault(require("styled-components"));
10
8
  const IconButton_1 = require("@strapi/design-system/IconButton");
11
- exports.DiscussionThreadItemActionsGroupWrapper = (0,
12
- styled_components_1.default)(IconButton_1.IconButtonGroup)`
9
+ exports.DiscussionThreadItemActionsGroupWrapper = (0, styled_components_1.default)(IconButton_1.IconButtonGroup) `
13
10
  margin-left: 0.5rem;
14
11
  `;
15
- //# sourceMappingURL=styles.js.map
12
+ //# sourceMappingURL=styles.js.map
@@ -1,73 +1,39 @@
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
  const react_1 = __importDefault(require("react"));
9
7
  const prop_types_1 = __importDefault(require("prop-types"));
10
8
  const react_intl_1 = require("react-intl");
11
- const Avatar_1 = require("@strapi/design-system/Avatar");
12
9
  const Box_1 = require("@strapi/design-system/Box");
13
10
  const Typography_1 = require("@strapi/design-system/Typography");
14
- const utils_1 = require("../../utils");
15
11
  const styles_1 = require("./styles");
16
- const DiscussionThreadItemFooter = ({
17
- children,
18
- author,
19
- createdAt,
20
- updatedAt,
21
- }) => {
22
- const { formatDate } = (0, react_intl_1.useIntl)();
23
- const dateTime = formatDate(updatedAt || createdAt, {
24
- dateStyle: "medium",
25
- timeStyle: "short",
26
- });
27
- const { name, avatar } = author;
28
- return react_1.default.createElement(
29
- styles_1.DiscussionThreadItemFooterStyled,
30
- { as: Box_1.Box, paddingTop: 2, direction: "row" },
31
- react_1.default.createElement(
32
- styles_1.DiscussionThreadItemFooterMeta,
33
- { size: 3, horizontal: true },
34
- avatar
35
- ? react_1.default.createElement(Avatar_1.Avatar, {
36
- src: avatar,
37
- alt: name,
38
- })
39
- : react_1.default.createElement(
40
- Avatar_1.Initials,
41
- null,
42
- (0, utils_1.renderInitials)(name)
43
- ),
44
- react_1.default.createElement(
45
- Typography_1.Typography,
46
- { variant: "pi", fontWeight: "bold", textColor: "neutral800" },
47
- name
48
- ),
49
- react_1.default.createElement(
50
- Typography_1.Typography,
51
- { variant: "pi", textColor: "neutral600" },
52
- dateTime
53
- )
54
- ),
55
- children
56
- );
12
+ const Avatar_1 = __importDefault(require("../Avatar"));
13
+ const DiscussionThreadItemFooter = ({ children, author, createdAt, updatedAt, }) => {
14
+ const { formatDate } = (0, react_intl_1.useIntl)();
15
+ const dateTime = formatDate(updatedAt || createdAt, {
16
+ dateStyle: "medium",
17
+ timeStyle: "short",
18
+ });
19
+ const { name, avatar } = author;
20
+ return (react_1.default.createElement(styles_1.DiscussionThreadItemFooterStyled, { as: Box_1.Box, paddingTop: 2, direction: "row" },
21
+ react_1.default.createElement(styles_1.DiscussionThreadItemFooterMeta, { size: 3, horizontal: true },
22
+ react_1.default.createElement(Avatar_1.default, { avatar: avatar, name: name }),
23
+ react_1.default.createElement(Typography_1.Typography, { variant: "pi", fontWeight: "bold", textColor: "neutral800" }, name),
24
+ react_1.default.createElement(Typography_1.Typography, { variant: "pi", textColor: "neutral600" }, dateTime)),
25
+ children));
57
26
  };
58
27
  DiscussionThreadItemFooter.propTypes = {
59
- author: prop_types_1.default.shape({
60
- id: prop_types_1.default.oneOfType(
61
- prop_types_1.default.string,
62
- prop_types_1.default.number
63
- ).isRequired,
64
- name: prop_types_1.default.string.isRequired,
65
- email: prop_types_1.default.string,
66
- avatar: prop_types_1.default.string,
67
- }).isRequired,
68
- createdAt: prop_types_1.default.string.isRequired,
69
- updatedAt: prop_types_1.default.string,
70
- children: prop_types_1.default.array,
28
+ author: prop_types_1.default.shape({
29
+ id: prop_types_1.default.oneOfType(prop_types_1.default.string, prop_types_1.default.number).isRequired,
30
+ name: prop_types_1.default.string.isRequired,
31
+ email: prop_types_1.default.string,
32
+ avatar: prop_types_1.default.oneOfType(prop_types_1.default.string, prop_types_1.default.object),
33
+ }).isRequired,
34
+ createdAt: prop_types_1.default.string.isRequired,
35
+ updatedAt: prop_types_1.default.string,
36
+ children: prop_types_1.default.array,
71
37
  };
72
38
  exports.default = DiscussionThreadItemFooter;
73
- //# sourceMappingURL=index.js.map
39
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  export declare const DiscussionThreadItemFooterStyled: any;
2
2
  export declare const DiscussionThreadItemFooterMeta: any;
3
- //# sourceMappingURL=styles.d.ts.map
3
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,25 +1,18 @@
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
- exports.DiscussionThreadItemFooterMeta =
9
- exports.DiscussionThreadItemFooterStyled = void 0;
6
+ exports.DiscussionThreadItemFooterMeta = exports.DiscussionThreadItemFooterStyled = void 0;
10
7
  const styled_components_1 = __importDefault(require("styled-components"));
11
8
  const Flex_1 = require("@strapi/design-system/Flex");
12
9
  const Stack_1 = require("@strapi/design-system/Stack");
13
- exports.DiscussionThreadItemFooterStyled = (0, styled_components_1.default)(
14
- Flex_1.Flex
15
- )`
10
+ exports.DiscussionThreadItemFooterStyled = (0, styled_components_1.default)(Flex_1.Flex) `
16
11
  width: 100%;
17
12
  `;
18
- exports.DiscussionThreadItemFooterMeta = (0, styled_components_1.default)(
19
- Stack_1.Stack
20
- )`
13
+ exports.DiscussionThreadItemFooterMeta = (0, styled_components_1.default)(Stack_1.Stack) `
21
14
  * + * {
22
15
  margin-left: 8px;
23
16
  }
24
17
  `;
25
- //# sourceMappingURL=styles.js.map
18
+ //# sourceMappingURL=styles.js.map
@@ -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"));
@@ -62,172 +39,79 @@ const utils_1 = require("../../utils");
62
39
  const ReportsReviewTable_1 = __importDefault(require("../ReportsReviewTable"));
63
40
  const ReportsReviewModal_1 = __importDefault(require("../ReportsReviewModal"));
64
41
  const pluginId_1 = require("../../pluginId");
65
- const DiscussionThreadItemReviewAction = ({
66
- item,
67
- isAnyActionLoading: isAnyActionLoading,
68
- queryToInvalidate,
69
- areBlockButtonsDisabled,
70
- allowedActions: { canModerate, canAccessReports, canReviewReports },
71
- blockItemMutation,
72
- blockItemThreadMutation,
73
- onBlockButtonsStateChange,
74
- onBlockActionClick,
75
- }) => {
76
- const { reports } = item;
77
- const [reportsReviewVisible, setReportsReviewVisible] = (0, react_1.useState)(
78
- false
79
- );
80
- const toggleNotification = (0, helper_plugin_1.useNotification)();
81
- const queryClient = (0, react_query_1.useQueryClient)();
82
- const { unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
83
- const onSuccess =
84
- (message, stateAction = () => {}, indalidate = true) =>
85
- async () => {
86
- if (indalidate) {
42
+ const DiscussionThreadItemReviewAction = ({ item, isAnyActionLoading: isAnyActionLoading, queryToInvalidate, areBlockButtonsDisabled, allowedActions: { canModerate, canAccessReports, canReviewReports }, blockItemMutation, blockItemThreadMutation, onBlockButtonsStateChange, onBlockActionClick, }) => {
43
+ const { reports } = item;
44
+ const [reportsReviewVisible, setReportsReviewVisible] = (0, react_1.useState)(false);
45
+ const toggleNotification = (0, helper_plugin_1.useNotification)();
46
+ const queryClient = (0, react_query_1.useQueryClient)();
47
+ const { unlockApp } = (0, helper_plugin_1.useOverlayBlocker)();
48
+ const onSuccess = (message, stateAction = () => { }, indalidate = true) => async () => {
49
+ if (indalidate) {
50
+ await queryClient.invalidateQueries(queryToInvalidate);
51
+ }
52
+ toggleNotification({
53
+ type: "success",
54
+ message: `${pluginId_1.pluginId}.${message}`,
55
+ });
56
+ stateAction(false);
57
+ unlockApp();
58
+ };
59
+ const onError = (err) => {
60
+ (0, utils_1.handleAPIError)(err, toggleNotification);
61
+ };
62
+ const resolveReportMutation = (0, react_query_1.useMutation)(api_1.resolveReport, {
63
+ onSuccess: onSuccess("page.details.panel.discussion.warnings.reports.dialog.confirmation.success", () => { }, false),
64
+ onError,
65
+ refetchActive: false,
66
+ });
67
+ const handleBlockActionClick = () => setReportsReviewVisible(false);
68
+ const handleReportsReviewClick = () => {
69
+ if (canAccessReports) {
70
+ setReportsReviewVisible(true);
71
+ }
72
+ };
73
+ const handleBlockItemClick = async () => {
74
+ if (canModerate) {
75
+ await onBlockActionClick(blockItemMutation, handleBlockActionClick);
76
+ }
77
+ };
78
+ const handleBlockItemThreadClick = async () => {
79
+ if (canModerate) {
80
+ await onBlockActionClick(blockItemThreadMutation, handleBlockActionClick);
81
+ }
82
+ };
83
+ const handleReportsReviewClose = async () => {
87
84
  await queryClient.invalidateQueries(queryToInvalidate);
88
- }
89
- toggleNotification({
90
- type: "success",
91
- message: `${pluginId_1.pluginId}.${message}`,
92
- });
93
- stateAction(false);
94
- unlockApp();
85
+ setReportsReviewVisible(false);
95
86
  };
96
- const onError = (err) => {
97
- (0, utils_1.handleAPIError)(err, toggleNotification);
98
- };
99
- const resolveReportMutation = (0, react_query_1.useMutation)(
100
- api_1.resolveReport,
101
- {
102
- onSuccess: onSuccess(
103
- "page.details.panel.discussion.warnings.reports.dialog.confirmation.success",
104
- () => {},
105
- false
106
- ),
107
- onError,
108
- refetchActive: false,
109
- }
110
- );
111
- const handleBlockActionClick = () => setReportsReviewVisible(false);
112
- const handleReportsReviewClick = () => {
113
- if (canAccessReports) {
114
- setReportsReviewVisible(true);
115
- }
116
- };
117
- const handleBlockItemClick = async () => {
118
- if (canModerate) {
119
- await onBlockActionClick(blockItemMutation, handleBlockActionClick);
120
- }
121
- };
122
- const handleBlockItemThreadClick = async () => {
123
- if (canModerate) {
124
- await onBlockActionClick(blockItemThreadMutation, handleBlockActionClick);
87
+ const isLoading = isAnyActionLoading && resolveReportMutation.isLoading;
88
+ const openReports = reports?.filter((_) => !_.resolved);
89
+ const hasReports = !(0, lodash_1.isEmpty)(openReports);
90
+ const reviewFlowEnabled = canAccessReports && hasReports && !(item.blocked || item.blockedThread);
91
+ if (reviewFlowEnabled) {
92
+ return (react_1.default.createElement(react_1.default.Fragment, null,
93
+ react_1.default.createElement(IconButton_1.IconButton, { onClick: handleReportsReviewClick, label: (0, utils_1.getMessage)("page.discover.table.reports.review"), icon: react_1.default.createElement(icons_1.ReviewIcon, null) }),
94
+ react_1.default.createElement(ReportsReviewModal_1.default, { isVisible: reportsReviewVisible, isActionAsync: isLoading, allowedActions: { canModerate, canAccessReports, canReviewReports }, onClose: handleReportsReviewClose, startActions: react_1.default.createElement(Button_1.Button, { onClick: handleReportsReviewClose, variant: "tertiary" }, (0, utils_1.getMessage)("compontents.confirmation.dialog.button.cancel", "Cancel")), endActions: canModerate && (react_1.default.createElement(react_1.default.Fragment, null,
95
+ react_1.default.createElement(Button_1.Button, { onClick: handleBlockItemClick, variant: "danger-light", startIcon: react_1.default.createElement(icons_1.LockIcon, null), disabled: areBlockButtonsDisabled }, (0, utils_1.getMessage)(`page.details.actions.comment.block`, "Block comment")),
96
+ item.gotThread && (react_1.default.createElement(Button_1.Button, { onClick: handleBlockItemThreadClick, variant: "danger", startIcon: react_1.default.createElement(icons_1.LockIcon, null), disabled: areBlockButtonsDisabled }, (0, utils_1.getMessage)(`page.details.actions.thread.block`, "Block thread"))))), item: item },
97
+ react_1.default.createElement(ReportsReviewTable_1.default, { commentId: item.id, items: (0, lodash_1.orderBy)(reports, ["resolved", "createdAt"], ["DESC", "DESC"]), mutation: resolveReportMutation, allowedActions: { canAccessReports, canReviewReports }, onBlockButtonsStateChange: onBlockButtonsStateChange }))));
125
98
  }
126
- };
127
- const handleReportsReviewClose = async () => {
128
- await queryClient.invalidateQueries(queryToInvalidate);
129
- setReportsReviewVisible(false);
130
- };
131
- const isLoading = isAnyActionLoading && resolveReportMutation.isLoading;
132
- const openReports = reports?.filter((_) => !_.resolved);
133
- const hasReports = !(0, lodash_1.isEmpty)(openReports);
134
- const reviewFlowEnabled =
135
- canAccessReports && hasReports && !(item.blocked || item.blockedThread);
136
- if (reviewFlowEnabled) {
137
- return react_1.default.createElement(
138
- react_1.default.Fragment,
139
- null,
140
- react_1.default.createElement(IconButton_1.IconButton, {
141
- onClick: handleReportsReviewClick,
142
- label: (0, utils_1.getMessage)("page.discover.table.reports.review"),
143
- icon: react_1.default.createElement(icons_1.ReviewIcon, null),
144
- }),
145
- react_1.default.createElement(
146
- ReportsReviewModal_1.default,
147
- {
148
- isVisible: reportsReviewVisible,
149
- isActionAsync: isLoading,
150
- allowedActions: { canModerate, canAccessReports, canReviewReports },
151
- onClose: handleReportsReviewClose,
152
- startActions: react_1.default.createElement(
153
- Button_1.Button,
154
- { onClick: handleReportsReviewClose, variant: "tertiary" },
155
- (0, utils_1.getMessage)(
156
- "compontents.confirmation.dialog.button.cancel",
157
- "Cancel"
158
- )
159
- ),
160
- endActions:
161
- canModerate &&
162
- react_1.default.createElement(
163
- react_1.default.Fragment,
164
- null,
165
- react_1.default.createElement(
166
- Button_1.Button,
167
- {
168
- onClick: handleBlockItemClick,
169
- variant: "danger-light",
170
- startIcon: react_1.default.createElement(
171
- icons_1.LockIcon,
172
- null
173
- ),
174
- disabled: areBlockButtonsDisabled,
175
- },
176
- (0, utils_1.getMessage)(
177
- `page.details.actions.comment.block`,
178
- "Block comment"
179
- )
180
- ),
181
- item.gotThread &&
182
- react_1.default.createElement(
183
- Button_1.Button,
184
- {
185
- onClick: handleBlockItemThreadClick,
186
- variant: "danger",
187
- startIcon: react_1.default.createElement(
188
- icons_1.LockIcon,
189
- null
190
- ),
191
- disabled: areBlockButtonsDisabled,
192
- },
193
- (0, utils_1.getMessage)(
194
- `page.details.actions.thread.block`,
195
- "Block thread"
196
- )
197
- )
198
- ),
199
- item: item,
200
- },
201
- react_1.default.createElement(ReportsReviewTable_1.default, {
202
- commentId: item.id,
203
- items: (0, lodash_1.orderBy)(
204
- reports,
205
- ["resolved", "createdAt"],
206
- ["DESC", "DESC"]
207
- ),
208
- mutation: resolveReportMutation,
209
- allowedActions: { canAccessReports, canReviewReports },
210
- onBlockButtonsStateChange: onBlockButtonsStateChange,
211
- })
212
- )
213
- );
214
- }
215
- return null;
99
+ return null;
216
100
  };
217
101
  DiscussionThreadItemReviewAction.propTypes = {
218
- item: prop_types_1.default.object.isRequired,
219
- isLoading: prop_types_1.default.bool,
220
- queryToInvalidate: prop_types_1.default.string.isRequired,
221
- areBlockButtonsDisabled: prop_types_1.default.bool,
222
- allowedActions: prop_types_1.default.shape({
223
- canModerate: prop_types_1.default.bool,
224
- canAccessReports: prop_types_1.default.bool,
225
- canReviewReports: prop_types_1.default.bool,
226
- }),
227
- blockItemMutation: prop_types_1.default.func.isRequired,
228
- blockItemThreadMutation: prop_types_1.default.func.isRequired,
229
- onBlockButtonsStateChange: prop_types_1.default.func.isRequired,
230
- onBlockActionClick: prop_types_1.default.func.isRequired,
102
+ item: prop_types_1.default.object.isRequired,
103
+ isLoading: prop_types_1.default.bool,
104
+ queryToInvalidate: prop_types_1.default.string.isRequired,
105
+ areBlockButtonsDisabled: prop_types_1.default.bool,
106
+ allowedActions: prop_types_1.default.shape({
107
+ canModerate: prop_types_1.default.bool,
108
+ canAccessReports: prop_types_1.default.bool,
109
+ canReviewReports: prop_types_1.default.bool,
110
+ }),
111
+ blockItemMutation: prop_types_1.default.func.isRequired,
112
+ blockItemThreadMutation: prop_types_1.default.func.isRequired,
113
+ onBlockButtonsStateChange: prop_types_1.default.func.isRequired,
114
+ onBlockActionClick: prop_types_1.default.func.isRequired,
231
115
  };
232
116
  exports.default = DiscussionThreadItemReviewAction;
233
- //# sourceMappingURL=index.js.map
117
+ //# sourceMappingURL=index.js.map
@@ -1,11 +1,7 @@
1
- declare const FormSwitch: ({
2
- label,
3
- hint,
4
- ...props
5
- }: {
6
- [x: string]: any;
7
- label: any;
8
- hint: any;
1
+ declare const FormSwitch: ({ label, hint, ...props }: {
2
+ [x: string]: any;
3
+ label: any;
4
+ hint: any;
9
5
  }) => any;
10
6
  export default FormSwitch;
11
- //# sourceMappingURL=index.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map