strapi-plugin-comments 2.0.8 → 2.1.0-beta.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 (267) hide show
  1. package/README.md +171 -127
  2. package/admin/src/components/ActionButton/styles.d.ts +2 -0
  3. package/admin/src/components/ActionButton/styles.js +13 -8
  4. package/admin/src/components/ConfirmationDialog/index.d.ts +26 -0
  5. package/admin/src/components/ConfirmationDialog/index.js +36 -55
  6. package/admin/src/components/DiscussionStatus/index.d.ts +9 -0
  7. package/admin/src/components/DiscussionStatus/index.js +22 -31
  8. package/admin/src/components/DiscussionThread/index.d.ts +16 -0
  9. package/admin/src/components/DiscussionThread/index.js +39 -56
  10. package/admin/src/components/DiscussionThreadItem/index.d.ts +9 -0
  11. package/admin/src/components/DiscussionThreadItem/index.js +28 -52
  12. package/admin/src/components/DiscussionThreadItem/styles.d.ts +4 -0
  13. package/admin/src/components/DiscussionThreadItem/styles.js +16 -11
  14. package/admin/src/components/DiscussionThreadItemActions/index.d.ts +19 -0
  15. package/admin/src/components/DiscussionThreadItemActions/index.js +121 -158
  16. package/admin/src/components/DiscussionThreadItemActions/styles.d.ts +2 -0
  17. package/admin/src/components/DiscussionThreadItemActions/styles.js +13 -7
  18. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.d.ts +17 -0
  19. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/index.js +38 -48
  20. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.d.ts +2 -0
  21. package/admin/src/components/DiscussionThreadItemApprovalFlowActions/styles.js +12 -6
  22. package/admin/src/components/DiscussionThreadItemFooter/index.d.ts +16 -0
  23. package/admin/src/components/DiscussionThreadItemFooter/index.js +35 -42
  24. package/admin/src/components/DiscussionThreadItemFooter/styles.d.ts +3 -0
  25. package/admin/src/components/DiscussionThreadItemFooter/styles.js +17 -12
  26. package/admin/src/components/DiscussionThreadItemReviewAction/index.d.ts +30 -0
  27. package/admin/src/components/DiscussionThreadItemReviewAction/index.js +77 -91
  28. package/admin/src/components/FormSwitch/index.d.ts +7 -0
  29. package/admin/src/components/FormSwitch/index.js +15 -18
  30. package/admin/src/components/FormSwitch/styles.d.ts +2 -0
  31. package/admin/src/components/FormSwitch/styles.js +14 -8
  32. package/admin/src/components/IconButton/styles.d.ts +2 -0
  33. package/admin/src/components/IconButton/styles.js +16 -9
  34. package/admin/src/components/Initializer/index.d.ts +5 -0
  35. package/admin/src/components/Initializer/index.js +12 -24
  36. package/admin/src/components/LoadingIndicatorOverlay/index.d.ts +3 -0
  37. package/admin/src/components/LoadingIndicatorOverlay/index.js +12 -15
  38. package/admin/src/components/LoadingIndicatorOverlay/styles.d.ts +3 -0
  39. package/admin/src/components/LoadingIndicatorOverlay/styles.js +22 -17
  40. package/admin/src/components/Nav/index.d.ts +7 -0
  41. package/admin/src/components/Nav/index.js +25 -48
  42. package/admin/src/components/PluginIcon/index.d.ts +3 -0
  43. package/admin/src/components/PluginIcon/index.js +10 -12
  44. package/admin/src/components/ReportsReviewModal/index.d.ts +21 -0
  45. package/admin/src/components/ReportsReviewModal/index.js +31 -46
  46. package/admin/src/components/ReportsReviewTable/index.d.ts +21 -0
  47. package/admin/src/components/ReportsReviewTable/index.js +120 -140
  48. package/admin/src/components/StatusBadge/index.d.ts +7 -0
  49. package/admin/src/components/StatusBadge/index.js +12 -17
  50. package/admin/src/components/StatusBadge/styles.d.ts +2 -0
  51. package/admin/src/components/StatusBadge/styles.js +19 -13
  52. package/admin/src/components/TableFilters/index.d.ts +10 -0
  53. package/admin/src/components/TableFilters/index.js +52 -49
  54. package/admin/src/components/TablePagination/index.d.ts +17 -0
  55. package/admin/src/components/TablePagination/index.js +27 -29
  56. package/admin/src/components/icons/comments.d.ts +6 -0
  57. package/admin/src/components/icons/comments.js +11 -8
  58. package/admin/src/components/icons/index.d.ts +6 -0
  59. package/admin/src/components/icons/index.js +15 -6
  60. package/admin/src/components/icons/lock.d.ts +7 -0
  61. package/admin/src/components/icons/lock.js +11 -21
  62. package/admin/src/components/icons/review.d.ts +7 -0
  63. package/admin/src/components/icons/review.js +11 -17
  64. package/admin/src/components/icons/unlock.d.ts +7 -0
  65. package/admin/src/components/icons/unlock.js +11 -19
  66. package/admin/src/hooks/useConfig.d.ts +8 -0
  67. package/admin/src/hooks/useConfig.js +40 -45
  68. package/admin/src/index.d.ts +7 -0
  69. package/admin/src/index.js +98 -92
  70. package/admin/src/pages/App/index.d.ts +4 -0
  71. package/admin/src/pages/App/index.js +43 -67
  72. package/admin/src/pages/App/reducer/actions.d.ts +8 -0
  73. package/admin/src/pages/App/reducer/actions.js +11 -7
  74. package/admin/src/pages/App/reducer/constants.d.ts +4 -0
  75. package/admin/src/pages/App/reducer/constants.js +7 -4
  76. package/admin/src/pages/App/reducer/index.d.ts +9 -0
  77. package/admin/src/pages/App/reducer/index.js +24 -22
  78. package/admin/src/pages/App/reducer/init.d.ts +3 -0
  79. package/admin/src/pages/App/reducer/init.js +6 -4
  80. package/admin/src/pages/App/reducer/selectors.d.ts +6 -0
  81. package/admin/src/pages/App/reducer/selectors.js +17 -34
  82. package/admin/src/pages/App/utils/api.d.ts +2 -0
  83. package/admin/src/pages/App/utils/api.js +14 -11
  84. package/admin/src/pages/ComingSoonPage/index.d.ts +3 -0
  85. package/admin/src/pages/ComingSoonPage/index.js +42 -24
  86. package/admin/src/pages/Details/components/DetailsEntity/index.d.ts +18 -0
  87. package/admin/src/pages/Details/components/DetailsEntity/index.js +49 -77
  88. package/admin/src/pages/Details/components/DetailsFilters/index.d.ts +12 -0
  89. package/admin/src/pages/Details/components/DetailsFilters/index.js +19 -26
  90. package/admin/src/pages/Details/components/DetailsFilters/styles.d.ts +2 -0
  91. package/admin/src/pages/Details/components/DetailsFilters/styles.js +14 -8
  92. package/admin/src/pages/Details/index.d.ts +4 -0
  93. package/admin/src/pages/Details/index.js +94 -133
  94. package/admin/src/pages/Discover/components/DiscoverTableRow/index.d.ts +20 -0
  95. package/admin/src/pages/Discover/components/DiscoverTableRow/index.js +128 -139
  96. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.d.ts +2 -0
  97. package/admin/src/pages/Discover/components/DiscoverTableRow/styles.js +14 -8
  98. package/admin/src/pages/Discover/index.d.ts +4 -0
  99. package/admin/src/pages/Discover/index.js +129 -170
  100. package/admin/src/pages/Discover/utils/api.d.ts +2 -0
  101. package/admin/src/pages/Discover/utils/api.js +15 -13
  102. package/admin/src/pages/Discover/utils/filtersSchema.d.ts +11 -0
  103. package/admin/src/pages/Discover/utils/filtersSchema.js +8 -6
  104. package/admin/src/pages/Settings/components/RestartAlert/styles.d.ts +2 -0
  105. package/admin/src/pages/Settings/components/RestartAlert/styles.js +14 -8
  106. package/admin/src/pages/Settings/index.d.ts +3 -0
  107. package/admin/src/pages/Settings/index.js +225 -391
  108. package/admin/src/pages/Settings/utils/api.d.ts +7 -0
  109. package/admin/src/pages/Settings/utils/api.js +60 -55
  110. package/admin/src/pages/utils/api.d.ts +12 -0
  111. package/admin/src/pages/utils/api.js +58 -53
  112. package/admin/src/permissions.d.ts +28 -0
  113. package/admin/src/permissions.js +31 -17
  114. package/admin/src/pluginId.d.ts +2 -0
  115. package/admin/src/pluginId.js +29 -5
  116. package/admin/src/reducers.d.ts +7 -0
  117. package/admin/src/reducers.js +10 -6
  118. package/admin/src/translations/en.json +131 -130
  119. package/admin/src/translations/fr.json +1 -1
  120. package/admin/src/translations/pt-BR.json +132 -0
  121. package/admin/src/utils/axiosInstance.d.ts +3 -0
  122. package/admin/src/utils/axiosInstance.js +21 -27
  123. package/admin/src/utils/constants.d.ts +25 -0
  124. package/admin/src/utils/constants.js +23 -22
  125. package/admin/src/utils/getApiUrl.d.ts +3 -0
  126. package/admin/src/utils/getApiUrl.js +6 -5
  127. package/admin/src/utils/getMessage.d.ts +4 -0
  128. package/admin/src/utils/getMessage.js +15 -15
  129. package/admin/src/utils/getRelatedGroups.d.ts +4 -0
  130. package/admin/src/utils/getRelatedGroups.js +5 -3
  131. package/admin/src/utils/getUrl.d.ts +3 -0
  132. package/admin/src/utils/getUrl.js +6 -5
  133. package/admin/src/utils/handleAPIError.d.ts +4 -0
  134. package/admin/src/utils/handleAPIError.js +12 -11
  135. package/admin/src/utils/index.d.ts +12 -0
  136. package/admin/src/utils/index.js +29 -11
  137. package/admin/src/utils/parseRegExp.d.ts +6 -0
  138. package/admin/src/utils/parseRegExp.js +6 -5
  139. package/admin/src/utils/renderEntryTitle.d.ts +4 -0
  140. package/admin/src/utils/renderEntryTitle.js +11 -12
  141. package/admin/src/utils/renderInitials.d.ts +3 -0
  142. package/admin/src/utils/renderInitials.js +10 -5
  143. package/admin/src/utils/resolveCommentStatus.d.ts +4 -0
  144. package/admin/src/utils/resolveCommentStatus.js +17 -21
  145. package/admin/src/utils/resolveCommentStatusColor.d.ts +4 -0
  146. package/admin/src/utils/resolveCommentStatusColor.js +19 -19
  147. package/content-types/comment.d.ts +91 -0
  148. package/content-types/comment.js +87 -88
  149. package/content-types/index.d.ts +143 -0
  150. package/content-types/index.js +15 -10
  151. package/content-types/report.d.ts +48 -0
  152. package/content-types/report.js +44 -49
  153. package/package.json +24 -19
  154. package/permissions.d.ts +18 -0
  155. package/permissions.js +12 -13
  156. package/server/bootstrap.d.ts +4 -0
  157. package/server/bootstrap.js +56 -62
  158. package/server/config/index.d.ts +4 -0
  159. package/server/config/index.js +17 -15
  160. package/server/controllers/admin.d.ts +4 -0
  161. package/server/controllers/admin.js +134 -167
  162. package/server/controllers/client.d.ts +4 -0
  163. package/server/controllers/client.js +104 -115
  164. package/server/controllers/index.d.ts +6 -0
  165. package/server/controllers/index.js +12 -8
  166. package/server/controllers/utils/functions.d.ts +7 -0
  167. package/server/controllers/utils/functions.js +22 -17
  168. package/server/controllers/utils/parsers.d.ts +15 -0
  169. package/server/controllers/utils/parsers.js +17 -17
  170. package/server/destroy.d.ts +3 -0
  171. package/server/destroy.js +3 -4
  172. package/server/graphql/index.d.ts +4 -0
  173. package/server/graphql/index.js +27 -25
  174. package/server/graphql/mutations/createAbuseReport.d.ts +11 -0
  175. package/server/graphql/mutations/createAbuseReport.js +22 -24
  176. package/server/graphql/mutations/createComment.d.ts +14 -0
  177. package/server/graphql/mutations/createComment.js +22 -24
  178. package/server/graphql/mutations/index.d.ts +4 -0
  179. package/server/graphql/mutations/index.js +24 -19
  180. package/server/graphql/mutations/removeComment.d.ts +11 -0
  181. package/server/graphql/mutations/removeComment.js +22 -24
  182. package/server/graphql/mutations/updateComment.d.ts +11 -0
  183. package/server/graphql/mutations/updateComment.js +22 -24
  184. package/server/graphql/queries/findAllFlat.d.ts +19 -0
  185. package/server/graphql/queries/findAllFlat.js +31 -30
  186. package/server/graphql/queries/findAllInHierarchy.d.ts +18 -0
  187. package/server/graphql/queries/findAllInHierarchy.js +26 -30
  188. package/server/graphql/queries/index.d.ts +4 -0
  189. package/server/graphql/queries/index.js +20 -17
  190. package/server/graphql/resolvers-config.d.ts +23 -0
  191. package/server/graphql/resolvers-config.js +11 -11
  192. package/server/graphql/types/comment-author.d.ts +4 -0
  193. package/server/graphql/types/comment-author.js +10 -8
  194. package/server/graphql/types/comment-nested.d.ts +4 -0
  195. package/server/graphql/types/comment-nested.js +17 -15
  196. package/server/graphql/types/comment.d.ts +4 -0
  197. package/server/graphql/types/comment.js +16 -14
  198. package/server/graphql/types/create-comment-author.d.ts +4 -0
  199. package/server/graphql/types/create-comment-author.js +10 -8
  200. package/server/graphql/types/create-comment.d.ts +4 -0
  201. package/server/graphql/types/create-comment.js +10 -8
  202. package/server/graphql/types/create-report.d.ts +4 -0
  203. package/server/graphql/types/create-report.js +10 -8
  204. package/server/graphql/types/id.d.ts +4 -0
  205. package/server/graphql/types/id.js +24 -23
  206. package/server/graphql/types/identify-comment-author.d.ts +4 -0
  207. package/server/graphql/types/identify-comment-author.js +7 -5
  208. package/server/graphql/types/index.d.ts +4 -0
  209. package/server/graphql/types/index.js +36 -17
  210. package/server/graphql/types/remove-comment.d.ts +4 -0
  211. package/server/graphql/types/remove-comment.js +9 -7
  212. package/server/graphql/types/report-reason.d.ts +4 -0
  213. package/server/graphql/types/report-reason.js +10 -8
  214. package/server/graphql/types/report.d.ts +4 -0
  215. package/server/graphql/types/report.js +12 -10
  216. package/server/graphql/types/response-find-all.d.ts +4 -0
  217. package/server/graphql/types/response-find-all.js +8 -6
  218. package/server/graphql/types/response-meta.d.ts +4 -0
  219. package/server/graphql/types/response-meta.js +7 -5
  220. package/server/graphql/types/response-pagination.d.ts +4 -0
  221. package/server/graphql/types/response-pagination.js +12 -10
  222. package/server/graphql/types/update-comment.d.ts +4 -0
  223. package/server/graphql/types/update-comment.js +10 -8
  224. package/server/index.d.ts +26 -0
  225. package/server/index.js +24 -21
  226. package/server/register.d.ts +3 -0
  227. package/server/register.js +3 -4
  228. package/server/routes/admin.d.ts +4 -0
  229. package/server/routes/admin.js +103 -109
  230. package/server/routes/client.d.ts +4 -0
  231. package/server/routes/client.js +48 -46
  232. package/server/routes/index.d.ts +11 -0
  233. package/server/routes/index.js +18 -14
  234. package/server/services/admin.d.ts +5 -0
  235. package/server/services/admin.js +126 -158
  236. package/server/services/client.d.ts +5 -0
  237. package/server/services/client.js +135 -151
  238. package/server/services/common.d.ts +5 -0
  239. package/server/services/common.js +165 -194
  240. package/server/services/graphql.d.ts +5 -0
  241. package/server/services/graphql.js +117 -182
  242. package/server/services/index.d.ts +8 -0
  243. package/server/services/index.js +15 -12
  244. package/server/services/utils/functions.d.ts +13 -0
  245. package/server/services/utils/functions.js +100 -109
  246. package/server/utils/constants.d.ts +9 -0
  247. package/server/utils/constants.js +19 -23
  248. package/server/utils/error.d.ts +19 -0
  249. package/server/utils/error.js +23 -18
  250. package/server/utils/functions.d.ts +6 -0
  251. package/server/utils/functions.js +35 -18
  252. package/strapi-admin.d.ts +3 -0
  253. package/strapi-admin.js +8 -3
  254. package/strapi-server.d.ts +177 -0
  255. package/strapi-server.js +43 -46
  256. package/tsconfig.tsbuildinfo +1 -0
  257. package/types/contentTypes.d.ts +44 -0
  258. package/types/contentTypes.js +3 -0
  259. package/.husky/pre-commit +0 -4
  260. package/LICENSE.md +0 -7
  261. package/__mocks__/initSetup.js +0 -108
  262. package/jest.config.js +0 -7
  263. package/server/controllers/utils/__tests__/functions.test.js +0 -43
  264. package/server/controllers/utils/__tests__/parsers.test.js +0 -94
  265. package/server/services/__tests__/common.test.js +0 -399
  266. package/server/services/utils/__tests__/functions.test.js +0 -53
  267. package/server/utils/__tests__/functions.test.js +0 -17
@@ -1,47 +1,40 @@
1
- /**
2
- *
3
- * Discussion thread - Item footer
4
- *
5
- */
6
-
7
- import React from 'react';
8
- import PropTypes from 'prop-types';
9
- import { useIntl } from 'react-intl';
10
- import { Avatar, Initials } from '@strapi/design-system/Avatar';
11
- import { Box } from '@strapi/design-system/Box';
12
- import { Typography } from '@strapi/design-system/Typography';
13
- import { renderInitials } from '../../utils';
14
- import { DiscussionThreadItemFooterMeta, DiscussionThreadItemFooterStyled } from './styles';
15
-
16
- const DiscussionThreadItemFooter = ({ children, author, createdAt, updatedAt }) => {
17
-
18
- const { formatDate } = useIntl();
19
-
20
- const dateTime = formatDate(updatedAt || createdAt, { dateStyle: 'medium', timeStyle: 'short' });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const prop_types_1 = __importDefault(require("prop-types"));
8
+ const react_intl_1 = require("react-intl");
9
+ const Avatar_1 = require("@strapi/design-system/Avatar");
10
+ const Box_1 = require("@strapi/design-system/Box");
11
+ const Typography_1 = require("@strapi/design-system/Typography");
12
+ const utils_1 = require("../../utils");
13
+ const styles_1 = require("./styles");
14
+ const DiscussionThreadItemFooter = ({ children, author, createdAt, updatedAt, }) => {
15
+ const { formatDate } = (0, react_intl_1.useIntl)();
16
+ const dateTime = formatDate(updatedAt || createdAt, {
17
+ dateStyle: "medium",
18
+ timeStyle: "short",
19
+ });
21
20
  const { name, avatar } = author;
22
-
23
-
24
- return (<DiscussionThreadItemFooterStyled as={Box} paddingTop={2} direction="row">
25
- <DiscussionThreadItemFooterMeta size={3} horizontal>
26
- { avatar ? <Avatar src={avatar} alt={name} /> : <Initials>{ renderInitials(name) }</Initials> }
27
- <Typography variant="pi" fontWeight="bold" textColor="neutral800">{ name }</Typography>
28
- <Typography variant="pi" textColor="neutral600">{ dateTime }</Typography>
29
- </DiscussionThreadItemFooterMeta>
30
- { children }
31
- </DiscussionThreadItemFooterStyled>);
21
+ return (react_1.default.createElement(styles_1.DiscussionThreadItemFooterStyled, { as: Box_1.Box, paddingTop: 2, direction: "row" },
22
+ react_1.default.createElement(styles_1.DiscussionThreadItemFooterMeta, { size: 3, horizontal: true },
23
+ avatar ? (react_1.default.createElement(Avatar_1.Avatar, { src: avatar, alt: name })) : (react_1.default.createElement(Avatar_1.Initials, null, (0, utils_1.renderInitials)(name))),
24
+ react_1.default.createElement(Typography_1.Typography, { variant: "pi", fontWeight: "bold", textColor: "neutral800" }, name),
25
+ react_1.default.createElement(Typography_1.Typography, { variant: "pi", textColor: "neutral600" }, dateTime)),
26
+ children));
32
27
  };
33
-
34
28
  DiscussionThreadItemFooter.propTypes = {
35
- author: PropTypes.shape({
36
- id: PropTypes.oneOfType(PropTypes.string, PropTypes.number).isRequired,
37
- name: PropTypes.string.isRequired,
38
- email: PropTypes.string,
39
- avatar: PropTypes.string,
29
+ author: prop_types_1.default.shape({
30
+ id: prop_types_1.default.oneOfType(prop_types_1.default.string, prop_types_1.default.number).isRequired,
31
+ name: prop_types_1.default.string.isRequired,
32
+ email: prop_types_1.default.string,
33
+ avatar: prop_types_1.default.string,
40
34
  }).isRequired,
41
- createdAt: PropTypes.string.isRequired,
42
- updatedAt: PropTypes.string,
43
- children: PropTypes.array,
35
+ createdAt: prop_types_1.default.string.isRequired,
36
+ updatedAt: prop_types_1.default.string,
37
+ children: prop_types_1.default.array,
44
38
  };
45
-
46
- export default DiscussionThreadItemFooter;
47
-
39
+ exports.default = DiscussionThreadItemFooter;
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ export declare const DiscussionThreadItemFooterStyled: any;
2
+ export declare const DiscussionThreadItemFooterMeta: any;
3
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,13 +1,18 @@
1
- import styled from 'styled-components';
2
- import { Flex } from '@strapi/design-system/Flex';
3
- import { Stack } from '@strapi/design-system/Stack';
4
-
5
- export const DiscussionThreadItemFooterStyled = styled(Flex)`
6
- width: 100%;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DiscussionThreadItemFooterMeta = exports.DiscussionThreadItemFooterStyled = void 0;
7
+ const styled_components_1 = __importDefault(require("styled-components"));
8
+ const Flex_1 = require("@strapi/design-system/Flex");
9
+ const Stack_1 = require("@strapi/design-system/Stack");
10
+ exports.DiscussionThreadItemFooterStyled = (0, styled_components_1.default)(Flex_1.Flex) `
11
+ width: 100%;
7
12
  `;
8
-
9
- export const DiscussionThreadItemFooterMeta = styled(Stack)`
10
- * + * {
11
- margin-left: 8px;
12
- }
13
- `;
13
+ exports.DiscussionThreadItemFooterMeta = (0, styled_components_1.default)(Stack_1.Stack) `
14
+ * + * {
15
+ margin-left: 8px;
16
+ }
17
+ `;
18
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,30 @@
1
+ declare const DiscussionThreadItemReviewAction: {
2
+ ({ item, isAnyActionLoading: isAnyActionLoading, queryToInvalidate, areBlockButtonsDisabled, allowedActions: { canModerate, canAccessReports, canReviewReports }, blockItemMutation, blockItemThreadMutation, onBlockButtonsStateChange, onBlockActionClick, }: {
3
+ item: any;
4
+ isAnyActionLoading: any;
5
+ queryToInvalidate: any;
6
+ areBlockButtonsDisabled: any;
7
+ allowedActions: {
8
+ canModerate: any;
9
+ canAccessReports: any;
10
+ canReviewReports: any;
11
+ };
12
+ blockItemMutation: any;
13
+ blockItemThreadMutation: any;
14
+ onBlockButtonsStateChange: any;
15
+ onBlockActionClick: any;
16
+ }): any;
17
+ propTypes: {
18
+ item: any;
19
+ isLoading: any;
20
+ queryToInvalidate: any;
21
+ areBlockButtonsDisabled: any;
22
+ allowedActions: any;
23
+ blockItemMutation: any;
24
+ blockItemThreadMutation: any;
25
+ onBlockButtonsStateChange: any;
26
+ onBlockActionClick: any;
27
+ };
28
+ };
29
+ export default DiscussionThreadItemReviewAction;
30
+ //# sourceMappingURL=index.d.ts.map
@@ -1,58 +1,70 @@
1
- import React, { useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { useMutation, useQueryClient } from 'react-query';
4
- import { isNil, isEmpty, orderBy } from 'lodash';
5
- import { Button } from '@strapi/design-system/Button';
6
- import { IconButton } from '@strapi/design-system/IconButton';
7
- import { useNotification, useOverlayBlocker } from '@strapi/helper-plugin';
8
- import { ReviewIcon, LockIcon } from '../icons';
9
- import { resolveReport } from '../../pages/utils/api';
10
- import { getMessage, handleAPIError } from '../../utils';
11
- import ReportsReviewTable from '../ReportsReviewTable';
12
- import ReportsReviewModal from '../ReportsReviewModal';
13
- import pluginId from '../../pluginId';
14
-
15
- const DiscussionThreadItemReviewAction = ({
16
- item,
17
- isAnyActionLoading: isAnyActionLoading,
18
- queryToInvalidate,
19
- areBlockButtonsDisabled,
20
- allowedActions: { canModerate, canAccessReports, canReviewReports },
21
- blockItemMutation,
22
- blockItemThreadMutation,
23
- onBlockButtonsStateChange,
24
- onBlockActionClick }) => {
25
-
1
+ "use strict";
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) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = __importStar(require("react"));
30
+ const prop_types_1 = __importDefault(require("prop-types"));
31
+ const react_query_1 = require("react-query");
32
+ const lodash_1 = require("lodash");
33
+ const Button_1 = require("@strapi/design-system/Button");
34
+ const IconButton_1 = require("@strapi/design-system/IconButton");
35
+ const helper_plugin_1 = require("@strapi/helper-plugin");
36
+ const icons_1 = require("../icons");
37
+ const api_1 = require("../../pages/utils/api");
38
+ const utils_1 = require("../../utils");
39
+ const ReportsReviewTable_1 = __importDefault(require("../ReportsReviewTable"));
40
+ const ReportsReviewModal_1 = __importDefault(require("../ReportsReviewModal"));
41
+ const pluginId_1 = require("../../pluginId");
42
+ const DiscussionThreadItemReviewAction = ({ item, isAnyActionLoading: isAnyActionLoading, queryToInvalidate, areBlockButtonsDisabled, allowedActions: { canModerate, canAccessReports, canReviewReports }, blockItemMutation, blockItemThreadMutation, onBlockButtonsStateChange, onBlockActionClick, }) => {
26
43
  const { reports } = item;
27
-
28
- const [reportsReviewVisible, setReportsReviewVisible] = useState(false);
29
-
30
- const toggleNotification = useNotification();
31
- const queryClient = useQueryClient();
32
- const { unlockApp } = useOverlayBlocker();
33
-
34
- const onSuccess = (message, stateAction = () => {}, indalidate = true) => async () => {
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 () => {
35
49
  if (indalidate) {
36
50
  await queryClient.invalidateQueries(queryToInvalidate);
37
51
  }
38
52
  toggleNotification({
39
- type: 'success',
40
- message: `${pluginId}.${message}`,
53
+ type: "success",
54
+ message: `${pluginId_1.pluginId}.${message}`,
41
55
  });
42
56
  stateAction(false);
43
57
  unlockApp();
44
58
  };
45
-
46
- const onError = err => { handleAPIError(err, toggleNotification); };
47
-
48
- const resolveReportMutation = useMutation(resolveReport, {
49
- onSuccess: onSuccess('page.details.panel.discussion.warnings.reports.dialog.confirmation.success', () => {}, false),
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),
50
64
  onError,
51
65
  refetchActive: false,
52
66
  });
53
-
54
67
  const handleBlockActionClick = () => setReportsReviewVisible(false);
55
-
56
68
  const handleReportsReviewClick = () => {
57
69
  if (canAccessReports) {
58
70
  setReportsReviewVisible(true);
@@ -68,64 +80,38 @@ const DiscussionThreadItemReviewAction = ({
68
80
  await onBlockActionClick(blockItemThreadMutation, handleBlockActionClick);
69
81
  }
70
82
  };
71
-
72
83
  const handleReportsReviewClose = async () => {
73
84
  await queryClient.invalidateQueries(queryToInvalidate);
74
85
  setReportsReviewVisible(false);
75
86
  };
76
-
77
87
  const isLoading = isAnyActionLoading && resolveReportMutation.isLoading;
78
- const openReports = reports?.filter(_ => !_.resolved);
79
- const hasReports = !isEmpty(openReports);
80
- const reviewFlowEnabled = (canAccessReports && hasReports) && !(item.blocked || item.blockedThread);
81
-
88
+ const openReports = reports?.filter((_) => !_.resolved);
89
+ const hasReports = !(0, lodash_1.isEmpty)(openReports);
90
+ const reviewFlowEnabled = canAccessReports && hasReports && !(item.blocked || item.blockedThread);
82
91
  if (reviewFlowEnabled) {
83
- return (<>
84
- <IconButton onClick={handleReportsReviewClick} label={ getMessage('page.discover.table.reports.review') } icon={<ReviewIcon />} />
85
- <ReportsReviewModal
86
- isVisible={reportsReviewVisible}
87
- isActionAsync={isLoading}
88
- allowedActions={{ canModerate, canAccessReports, canReviewReports }}
89
- onClose={handleReportsReviewClose}
90
- startActions={<Button onClick={handleReportsReviewClose} variant="tertiary">
91
- { getMessage('compontents.confirmation.dialog.button.cancel', 'Cancel') }
92
- </Button>}
93
- endActions={canModerate && (<>
94
- <Button onClick={handleBlockItemClick} variant="danger-light" startIcon={<LockIcon />} disabled={areBlockButtonsDisabled}>
95
- { getMessage(`page.details.actions.comment.block`, 'Block comment') }
96
- </Button>
97
- { item.gotThread && (<Button onClick={handleBlockItemThreadClick} variant="danger" startIcon={<LockIcon />} disabled={areBlockButtonsDisabled}>
98
- { getMessage(`page.details.actions.thread.block`, 'Block thread') }
99
- </Button>) }
100
- </>)}
101
- item={item}>
102
- <ReportsReviewTable
103
- commentId={item.id}
104
- items={orderBy(reports, ['resolved', 'createdAt'], ['DESC', 'DESC'])}
105
- mutation={resolveReportMutation}
106
- allowedActions={{ canAccessReports, canReviewReports }}
107
- onBlockButtonsStateChange={onBlockButtonsStateChange}
108
- />
109
- </ReportsReviewModal>
110
- </>);
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 }))));
111
98
  }
112
99
  return null;
113
100
  };
114
-
115
101
  DiscussionThreadItemReviewAction.propTypes = {
116
- item: PropTypes.object.isRequired,
117
- isLoading: PropTypes.bool,
118
- queryToInvalidate: PropTypes.string.isRequired,
119
- areBlockButtonsDisabled: PropTypes.bool,
120
- allowedActions: PropTypes.shape({
121
- canModerate: PropTypes.bool,
122
- canAccessReports: PropTypes.bool,
123
- canReviewReports: PropTypes.bool,
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,
124
110
  }),
125
- blockItemMutation: PropTypes.func.isRequired,
126
- blockItemThreadMutation: PropTypes.func.isRequired,
127
- onBlockButtonsStateChange: PropTypes.func.isRequired,
128
- onBlockActionClick: PropTypes.func.isRequired,
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,
129
115
  };
130
-
131
- export default DiscussionThreadItemReviewAction;
116
+ exports.default = DiscussionThreadItemReviewAction;
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ declare const FormSwitch: ({ label, hint, ...props }: {
2
+ [x: string]: any;
3
+ label: any;
4
+ hint: any;
5
+ }) => any;
6
+ export default FormSwitch;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -1,18 +1,15 @@
1
- /**
2
- *
3
- * Form Switch
4
- *
5
- */
6
-
7
- import React from 'react';
8
- import { Stack } from '@strapi/design-system/Stack';
9
- import { Typography } from '@strapi/design-system/Typography';
10
- import { StyledSwitch } from './styles';
11
-
12
- const FormSwitch = ({ label, hint, ...props }) => (<Stack size={1}>
13
- { label && (<Typography variant="pi" as="label" fontWeight="bold" textColor="neutral800">{ label }</Typography>) }
14
- <StyledSwitch label={label} { ...props } />
15
- { hint && (<Typography variant="pi" as="label" textColor="neutral600">{ hint }</Typography>) }
16
- </Stack>);
17
-
18
- export default FormSwitch;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const Stack_1 = require("@strapi/design-system/Stack");
8
+ const Typography_1 = require("@strapi/design-system/Typography");
9
+ const styles_1 = require("./styles");
10
+ const FormSwitch = ({ label, hint, ...props }) => (react_1.default.createElement(Stack_1.Stack, { size: 1 },
11
+ label && (react_1.default.createElement(Typography_1.Typography, { variant: "pi", as: "label", fontWeight: "bold", textColor: "neutral800" }, label)),
12
+ react_1.default.createElement(styles_1.StyledSwitch, { label: label, ...props }),
13
+ hint && (react_1.default.createElement(Typography_1.Typography, { variant: "pi", as: "label", textColor: "neutral600" }, hint))));
14
+ exports.default = FormSwitch;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare const StyledSwitch: any;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,8 +1,14 @@
1
- import styled from 'styled-components';
2
- import { Switch } from '@strapi/design-system/Switch';
3
-
4
- export const StyledSwitch = styled(Switch)`
5
- &>div>span {
6
- font-size: 12px;
7
- }
8
- `;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StyledSwitch = void 0;
7
+ const styled_components_1 = __importDefault(require("styled-components"));
8
+ const Switch_1 = require("@strapi/design-system/Switch");
9
+ exports.StyledSwitch = (0, styled_components_1.default)(Switch_1.Switch) `
10
+ & > div > span {
11
+ font-size: 12px;
12
+ }
13
+ `;
14
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,2 @@
1
+ export declare const IconButtonGroupStyled: any;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,14 +1,21 @@
1
-
2
- import styled from 'styled-components';
3
- import { IconButtonGroup } from '@strapi/design-system/IconButton';
4
-
5
- export const IconButtonGroupStyled = styled(IconButtonGroup)`
6
- ${ ({ isSingle }) => isSingle && (`
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IconButtonGroupStyled = void 0;
7
+ const styled_components_1 = __importDefault(require("styled-components"));
8
+ const IconButton_1 = require("@strapi/design-system/IconButton");
9
+ exports.IconButtonGroupStyled = (0, styled_components_1.default)(IconButton_1.IconButtonGroup) `
10
+ ${({ isSingle }) => isSingle &&
11
+ `
7
12
  span:first-child button {
8
13
  border-radius: 4px;
9
14
  }
10
- `)}
11
- ${ ({ withMargin }) => withMargin && (`
15
+ `}
16
+ ${({ withMargin }) => withMargin &&
17
+ `
12
18
  margin-left: .5rem;
13
- `)}
19
+ `}
14
20
  `;
21
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,5 @@
1
+ declare const Initializer: ({ setPlugin }: {
2
+ setPlugin: any;
3
+ }) => null;
4
+ export default Initializer;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -1,26 +1,14 @@
1
- /**
2
- *
3
- * Initializer
4
- *
5
- */
6
-
7
- import { useEffect, useRef } from 'react';
8
- import PropTypes from 'prop-types';
9
- import pluginId from '../../pluginId';
10
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
4
+ const pluginId_1 = require("../../pluginId");
11
5
  const Initializer = ({ setPlugin }) => {
12
- const ref = useRef();
13
- ref.current = setPlugin;
14
-
15
- useEffect(() => {
16
- ref.current(pluginId);
17
- }, []);
18
-
19
- return null;
6
+ const ref = (0, react_1.useRef)();
7
+ ref.current = setPlugin;
8
+ (0, react_1.useEffect)(() => {
9
+ ref.current(pluginId_1.pluginId);
10
+ }, []);
11
+ return null;
20
12
  };
21
-
22
- Initializer.propTypes = {
23
- setPlugin: PropTypes.func.isRequired,
24
- };
25
-
26
- export default Initializer;
13
+ exports.default = Initializer;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ declare const LoadingIndicatorOverlay: () => any;
2
+ export default LoadingIndicatorOverlay;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1,15 +1,12 @@
1
- /**
2
- *
3
- * Entity Details
4
- *
5
- */
6
-
7
- import React from 'react';
8
- import { LoadingIndicatorPage } from '@strapi/helper-plugin';
9
- import { LoadingIndicatorOverlayWrapper } from './styles';
10
-
11
- const LoadingIndicatorOverlay = () => (<LoadingIndicatorOverlayWrapper>
12
- <LoadingIndicatorPage />
13
- </LoadingIndicatorOverlayWrapper>);
14
-
15
- export default LoadingIndicatorOverlay;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const helper_plugin_1 = require("@strapi/helper-plugin");
8
+ const styles_1 = require("./styles");
9
+ const LoadingIndicatorOverlay = () => (react_1.default.createElement(styles_1.LoadingIndicatorOverlayWrapper, null,
10
+ react_1.default.createElement(helper_plugin_1.LoadingIndicatorPage, null)));
11
+ exports.default = LoadingIndicatorOverlay;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ export declare const LoadingIndicatorOverlayWrapper: any;
2
+ export declare const LoadingIndicatorContainer: any;
3
+ //# sourceMappingURL=styles.d.ts.map
@@ -1,20 +1,25 @@
1
- import styled from 'styled-components';
2
- import { Box } from '@strapi/design-system/Box';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LoadingIndicatorContainer = exports.LoadingIndicatorOverlayWrapper = void 0;
7
+ const styled_components_1 = __importDefault(require("styled-components"));
8
+ const Box_1 = require("@strapi/design-system/Box");
9
+ exports.LoadingIndicatorOverlayWrapper = (0, styled_components_1.default)(Box_1.Box) `
10
+ height: 100% !important;
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 100%;
15
+ background: rgba(255, 255, 255, 0.7);
16
+ z-index: 1;
3
17
 
4
- export const LoadingIndicatorOverlayWrapper = styled(Box)`
18
+ & > div {
5
19
  height: 100% !important;
6
- position: absolute;
7
- top: 0;
8
- left: 0;
9
- width: 100%;
10
- background: rgba(255,255,255,.7);
11
- z-index: 1;
12
-
13
- &>div {
14
- height: 100% !important;
15
- }
20
+ }
16
21
  `;
17
-
18
- export const LoadingIndicatorContainer = styled((props) => props.as)`
19
- position: relative;
20
- `
22
+ exports.LoadingIndicatorContainer = (0, styled_components_1.default)((props) => props.as) `
23
+ position: relative;
24
+ `;
25
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ declare const Nav: ({ visible, hasNewComments, hasNewReports }: {
2
+ visible?: boolean | undefined;
3
+ hasNewComments: any;
4
+ hasNewReports: any;
5
+ }) => any;
6
+ export default Nav;
7
+ //# sourceMappingURL=index.d.ts.map