strapi-plugin-comments 3.2.4 → 3.2.6

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 (144) hide show
  1. package/LICENSE.md +18 -4
  2. package/README.md +379 -26
  3. package/dist/_chunks/{en-CT6Rt2uf.mjs → en-B_ywmALc.mjs} +3 -0
  4. package/dist/_chunks/{en-Tdlz6WoL.js → en-CTX-vxI-.js} +1 -1
  5. package/dist/_chunks/{fr-BlaISu0-.js → fr-CJZ1I0cO.js} +1 -1
  6. package/dist/_chunks/{fr-CTKzDZoe.mjs → fr-CzgABcR9.mjs} +3 -0
  7. package/dist/_chunks/index-BE4WKyKM.js +44 -0
  8. package/dist/_chunks/{index-D9B_m9fB.mjs → index-BF9v7878.mjs} +185 -146
  9. package/dist/_chunks/index-Bp-bmc3E.js +1 -0
  10. package/dist/_chunks/{index-CqWqvu-C.mjs → index-CSGHz1Ar.mjs} +10679 -11434
  11. package/dist/_chunks/{index-CgbBtemc.js → index-C_4LXdQ6.js} +134 -91
  12. package/dist/_chunks/{index-CynNsAVf.mjs → index-CdDH4b25.mjs} +45 -23
  13. package/dist/_chunks/index-Dfe55Tn-.mjs +6042 -0
  14. package/dist/_chunks/index-zjD2IIJE.js +5 -0
  15. package/dist/_chunks/{pl-BE9Xc2Tq.mjs → pl-Ca-o0rE-.mjs} +3 -0
  16. package/dist/_chunks/{pl-r2tJzCYX.js → pl-clljrMvo.js} +1 -1
  17. package/dist/_chunks/{pt-BR-BntmApbV.js → pt-BR-DV48_kX8.js} +1 -1
  18. package/dist/_chunks/{pt-BR-ZzKZqryk.mjs → pt-BR-XHO5Olrb.mjs} +3 -0
  19. package/dist/_chunks/{ru-DdjjIy0c.js → ru-BK78F2Vt.js} +1 -1
  20. package/dist/_chunks/{ru-NqAiywiG.mjs → ru-zKH0YOjJ.mjs} +3 -0
  21. package/dist/_chunks/{tr-v1mNvsod.js → tr-BMe1cFKp.js} +1 -1
  22. package/dist/_chunks/{tr-6Vivmm9L.mjs → tr-BaczzuT6.mjs} +3 -0
  23. package/dist/_chunks/{zh-Hans-B3CCaxs8.mjs → zh-Hans-CPSQ76Y3.mjs} +3 -0
  24. package/dist/_chunks/{zh-Hans-_ImAlhp2.js → zh-Hans-xMRxrXVG.js} +1 -1
  25. package/dist/admin/index.js +1 -1
  26. package/dist/admin/index.mjs +1 -1
  27. package/dist/admin/src/api/client.d.ts +67 -58
  28. package/dist/admin/src/api/schemas.d.ts +169 -2797
  29. package/dist/admin/src/components/ActionButton/index.d.ts +2 -4
  30. package/dist/admin/src/components/CommentReactionsSummary/index.d.ts +8 -0
  31. package/dist/admin/src/components/CommentStatusFilters/index.d.ts +2 -1
  32. package/dist/admin/src/components/CustomInjectionZone/index.d.ts +6 -0
  33. package/dist/admin/src/components/CustomInjectionZoneCell/index.d.ts +7 -0
  34. package/dist/admin/src/components/DiscussionThreadItem/DiscussionThreadItemFooter.d.ts +1 -1
  35. package/dist/admin/src/components/DiscussionThreadItem/index.d.ts +3 -3
  36. package/dist/admin/src/components/IconButtonGroup/index.d.ts +2 -5
  37. package/dist/admin/src/components/LoadingIndicatorOverlay/index.d.ts +2 -1
  38. package/dist/admin/src/components/PluginIcon/index.d.ts +2 -1
  39. package/dist/admin/src/components/ReactionCounter/index.d.ts +7 -0
  40. package/dist/admin/src/components/ReactionCounter/styled.d.ts +16 -0
  41. package/dist/admin/src/components/SideNav/index.d.ts +2 -1
  42. package/dist/admin/src/components/StatusBadge/index.d.ts +3 -5
  43. package/dist/admin/src/components/Wysiwyg/EditorLayout.d.ts +2 -2
  44. package/dist/admin/src/components/Wysiwyg/PreviewWysiwyg.d.ts +2 -1
  45. package/dist/admin/src/components/Wysiwyg/WysiwygFooter.d.ts +2 -1
  46. package/dist/admin/src/components/Wysiwyg/WysiwygNav.d.ts +1 -1
  47. package/dist/admin/src/components/Wysiwyg/WysiwygStyles.d.ts +4 -4
  48. package/dist/admin/src/components/icons/comments.d.ts +2 -1
  49. package/dist/admin/src/components/icons/strapiIcons.d.ts +2 -1
  50. package/dist/admin/src/contexts/UserContext.d.ts +7 -7
  51. package/dist/admin/src/hooks/useAPI.d.ts +74 -65
  52. package/dist/admin/src/hooks/useCommentMutations.d.ts +18 -18
  53. package/dist/admin/src/hooks/useCommentsAll.d.ts +8 -6
  54. package/dist/admin/src/hooks/useConfig.d.ts +2 -0
  55. package/dist/admin/src/hooks/useReactionCounts.d.ts +2 -0
  56. package/dist/admin/src/hooks/useReactionTypes.d.ts +8 -0
  57. package/dist/admin/src/hooks/useReports.d.ts +13 -11
  58. package/dist/admin/src/hooks/useUserContext.d.ts +7 -7
  59. package/dist/admin/src/pages/AiEvaluations/index.d.ts +2 -0
  60. package/dist/admin/src/pages/App/index.d.ts +2 -1
  61. package/dist/admin/src/pages/Details/DetailsEntry.d.ts +2 -1
  62. package/dist/admin/src/pages/Discover/index.d.ts +2 -1
  63. package/dist/admin/src/pages/Settings/hooks/useSettingsAPI.d.ts +9 -7
  64. package/dist/admin/src/pages/Settings/index.d.ts +2 -1
  65. package/dist/admin/src/translations/en.d.ts +3 -0
  66. package/dist/admin/src/translations/fr.d.ts +3 -0
  67. package/dist/admin/src/translations/pl.d.ts +3 -0
  68. package/dist/admin/src/translations/pt-BR.d.ts +3 -0
  69. package/dist/admin/src/translations/ru.d.ts +3 -0
  70. package/dist/admin/src/translations/tr.d.ts +3 -0
  71. package/dist/admin/src/translations/zh-Hans.d.ts +3 -0
  72. package/dist/admin/src/utils/functions.d.ts +3 -0
  73. package/dist/admin/src/utils/reactionsIntegration.d.ts +24 -0
  74. package/dist/admin/src/utils/resolveCommentStatusColor.d.ts +1 -1
  75. package/dist/admin/src/utils/resolveReportStatusColor.d.ts +1 -1
  76. package/dist/server/index.js +69 -88
  77. package/dist/server/index.mjs +9727 -7544
  78. package/dist/server/src/config/index.d.ts +37 -112
  79. package/dist/server/src/const/REPORT_SOURCE.d.ts +4 -0
  80. package/dist/server/src/const/index.d.ts +1 -0
  81. package/dist/server/src/content-types/index.d.ts +7 -0
  82. package/dist/server/src/content-types/report/index.d.ts +7 -0
  83. package/dist/server/src/content-types/report/schema.d.ts +8 -1
  84. package/dist/server/src/controllers/admin.controller.d.ts +920 -888
  85. package/dist/server/src/controllers/client.controller.d.ts +1595 -709
  86. package/dist/server/src/controllers/index.d.ts +2784 -6208
  87. package/dist/server/src/controllers/settings.controller.d.ts +110 -94
  88. package/dist/server/src/graphql/getResolversConfig.d.ts +33 -0
  89. package/dist/server/src/graphql/mutations/getApproveComment.d.ts +149 -0
  90. package/dist/server/src/graphql/mutations/getBlockComment.d.ts +149 -0
  91. package/dist/server/src/graphql/mutations/getBlockCommentThread.d.ts +149 -0
  92. package/dist/server/src/graphql/mutations/getCreateAbuseReport.d.ts +81 -78
  93. package/dist/server/src/graphql/mutations/getCreateComment.d.ts +74 -72
  94. package/dist/server/src/graphql/mutations/getRejectComment.d.ts +149 -0
  95. package/dist/server/src/graphql/mutations/getRemoveComment.d.ts +74 -72
  96. package/dist/server/src/graphql/mutations/getResolveAbuseReport.d.ts +25 -0
  97. package/dist/server/src/graphql/mutations/getResolveAllAbuseReportsForComment.d.ts +16 -0
  98. package/dist/server/src/graphql/mutations/getResolveAllAbuseReportsForThread.d.ts +16 -0
  99. package/dist/server/src/graphql/mutations/getResolveCommentMultipleAbuseReports.d.ts +17 -0
  100. package/dist/server/src/graphql/mutations/getResolveMultipleAbuseReports.d.ts +16 -0
  101. package/dist/server/src/graphql/mutations/getUnblockComment.d.ts +149 -0
  102. package/dist/server/src/graphql/mutations/getUnblockCommentThread.d.ts +149 -0
  103. package/dist/server/src/graphql/mutations/getUpdateComment.d.ts +74 -72
  104. package/dist/server/src/graphql/queries/findAllFlat.d.ts +162 -155
  105. package/dist/server/src/graphql/queries/findAllInHierarchy.d.ts +9 -1
  106. package/dist/server/src/graphql/queries/findAllPerAuthor.d.ts +161 -154
  107. package/dist/server/src/graphql/types/getCommentReactionCount.d.ts +2 -0
  108. package/dist/server/src/graphql/types/getCommentReactionsMetaEntry.d.ts +2 -0
  109. package/dist/server/src/graphql/types/getModerateCommentInput.d.ts +2 -0
  110. package/dist/server/src/graphql/types/getReportsResolveBatch.d.ts +2 -0
  111. package/dist/server/src/graphql/types/getResolveAbuseReportInput.d.ts +2 -0
  112. package/dist/server/src/graphql/types/getResolveCommentMultipleAbuseReportsInput.d.ts +2 -0
  113. package/dist/server/src/graphql/types/getResolveMultipleAbuseReportsInput.d.ts +2 -0
  114. package/dist/server/src/graphql/types/index.d.ts +1 -1
  115. package/dist/server/src/index.d.ts +17 -35339
  116. package/dist/server/src/repositories/report.comment.repository.d.ts +87 -83
  117. package/dist/server/src/repositories/store.repository.d.ts +144 -124
  118. package/dist/server/src/services/admin/admin.service.d.ts +14597 -8230
  119. package/dist/server/src/services/client.service.d.ts +11410 -7681
  120. package/dist/server/src/services/common.service.d.ts +3548 -471
  121. package/dist/server/src/services/email.service.d.ts +11 -0
  122. package/dist/server/src/services/index.d.ts +17 -27339
  123. package/dist/server/src/services/reactions.service.d.ts +11976 -0
  124. package/dist/server/src/services/settings.service.d.ts +85 -73
  125. package/dist/server/src/services/utils/functions.d.ts +2 -2
  126. package/dist/server/src/services/utils/reactions.d.ts +12 -0
  127. package/dist/server/src/utils/constants.d.ts +1 -0
  128. package/dist/server/src/utils/getConfig.d.ts +1 -1
  129. package/dist/server/src/utils/getPluginService.d.ts +1 -1
  130. package/dist/server/src/utils/types.d.ts +5 -3
  131. package/dist/server/src/validators/api/controllers/admin.controller.validator.d.ts +234 -1322
  132. package/dist/server/src/validators/api/controllers/client.controller.validator.d.ts +2051 -2013
  133. package/dist/server/src/validators/api/controllers/settings.controller.validator.d.ts +15 -13
  134. package/dist/server/src/validators/repositories/comment.schema.d.ts +15 -439
  135. package/dist/server/src/validators/repositories/comment.validator.d.ts +240 -7397
  136. package/dist/server/src/validators/repositories/reports.validator.d.ts +89 -2940
  137. package/dist/server/src/validators/repositories/utils.d.ts +5 -13
  138. package/dist/server/src/validators/utils.d.ts +164 -1875
  139. package/dist/shared/constants.d.ts +1 -0
  140. package/package.json +49 -49
  141. package/dist/_chunks/index-BIaTg-pL.mjs +0 -5682
  142. package/dist/_chunks/index-BIivsuhp.js +0 -44
  143. package/dist/_chunks/index-Dz3cg8MA.js +0 -1
  144. package/dist/_chunks/index-sPxsE9Y1.js +0 -5
@@ -1,72 +1,83 @@
1
- import { jsx as e, Fragment as O, jsxs as i } from "react/jsx-runtime";
2
- import { Button as F, Flex as I, Typography as h, Badge as oe, Box as m, Grid as s, Field as n, MultiSelect as q, MultiSelectOption as A, Accordion as y, Switch as re, Toggle as B, Alert as se } from "@strapi/design-system";
3
- import { Check as le, Play as ae, ArrowClockwise as W } from "@strapi/icons";
4
- import { useNotification as ce, Page as j, Layouts as N, Form as de } from "@strapi/strapi/admin";
5
- import { useMutation as T, useQuery as v, useQueryClient as ge } from "@tanstack/react-query";
6
- import { u as U, f as he, a as pe, g as t, l as D, e as me } from "./index-BIaTg-pL.mjs";
7
- import { useMemo as ue, useRef as be, useState as fe, useCallback as Q } from "react";
8
- import ye from "styled-components";
9
- import { v as Se } from "./index-CynNsAVf.mjs";
10
- const P = ({
11
- children: c,
1
+ import { jsx as e, Fragment as V, jsxs as o } from "react/jsx-runtime";
2
+ import { Button as P, Flex as F, Typography as h, Badge as ae, Box as m, Grid as s, Field as n, MultiSelect as T, MultiSelectOption as A, Accordion as y, Switch as ce, Toggle as v, Alert as de } from "@strapi/design-system";
3
+ import { Check as ge, Play as he, ArrowClockwise as j } from "@strapi/icons";
4
+ import { useNotification as pe, Page as N, Layouts as D, Form as me } from "@strapi/strapi/admin";
5
+ import { useMutation as k, useQuery as M, useQueryClient as ue } from "@tanstack/react-query";
6
+ import { u as G, f as be, a as fe, g as t, l as O, e as ye } from "./index-Dfe55Tn-.mjs";
7
+ import { useMemo as we, useRef as Se, useState as Ie, useCallback as U } from "react";
8
+ import Re from "styled-components";
9
+ import { v as Ce } from "./index-CdDH4b25.mjs";
10
+ const x = ({
11
+ children: d,
12
12
  condition: a
13
- }) => a ? /* @__PURE__ */ e(O, { children: c }) : null, we = (c = {}) => {
14
- const a = U(), S = T({
13
+ }) => a ? /* @__PURE__ */ e(V, { children: d }) : null, Le = (d = {}) => {
14
+ const a = G(), w = k({
15
15
  mutationFn: a.settings.update,
16
- onSuccess: c.updateSettingsMutationSuccess,
17
- onError: c.updateSettingsMutationError
18
- }), p = T({
16
+ onSuccess: d.updateSettingsMutationSuccess,
17
+ onError: d.updateSettingsMutationError
18
+ }), p = k({
19
19
  mutationFn: a.settings.restore,
20
- onSuccess: c.restoreSettingsMutationSuccess,
21
- onError: c.restoreSettingsMutationError
22
- }), w = T({
20
+ onSuccess: d.restoreSettingsMutationSuccess,
21
+ onError: d.restoreSettingsMutationError
22
+ }), S = k({
23
23
  mutationFn: a.settings.restart,
24
- onSuccess: c.restartStrapiMutationSuccess,
25
- onError: c.restartStrapiMutationError
26
- }), u = v({
24
+ onSuccess: d.restartStrapiMutationSuccess,
25
+ onError: d.restartStrapiMutationError
26
+ }), u = M({
27
27
  queryKey: a.config.getKey(),
28
28
  queryFn: a.config.query
29
- }), b = v({
29
+ }), b = M({
30
30
  queryKey: a.contentTypeBuilder.all.getKey(),
31
31
  queryFn: a.contentTypeBuilder.all.query
32
- }), f = v({
32
+ }), f = M({
33
33
  queryKey: a.roles.getKey(),
34
34
  queryFn: a.roles.query
35
35
  });
36
- return ue(() => ({
36
+ return we(() => ({
37
37
  config: u,
38
38
  collectionTypes: b,
39
39
  roles: f,
40
40
  restoreSettingsMutation: p,
41
- updateSettingsMutation: S,
42
- restartStrapiMutation: w
41
+ updateSettingsMutation: w,
42
+ restartStrapiMutation: S
43
43
  }), [
44
44
  u,
45
45
  f,
46
46
  b,
47
47
  p,
48
- S,
49
- w
48
+ w,
49
+ S
50
50
  ]);
51
- }, Ce = Se, R = {
51
+ }, Fe = Ce, E = {
52
52
  background: "neutral0",
53
53
  hasRadius: !0,
54
54
  shadow: "filterShadow",
55
55
  padding: 6,
56
56
  width: "100%"
57
- }, Ie = ye(se)(() => ({
57
+ }, xe = Re(de)(() => ({
58
58
  "[role]": {
59
59
  flexDirection: "column"
60
60
  }
61
- })), Re = () => {
62
- const c = be(null), { toggleNotification: a } = ce(), [S, p] = fe(!1), { isLoadingForPermissions: w, canSettingsChange: u } = pe(), b = ge(), f = U(), {
63
- config: d,
64
- collectionTypes: M,
65
- roles: L,
66
- restoreSettingsMutation: V,
67
- updateSettingsMutation: k,
68
- restartStrapiMutation: G
69
- } = we({
61
+ })), Ee = {
62
+ entryLabel: {},
63
+ approvalFlow: [],
64
+ blockedAuthorProps: [],
65
+ reactionsEnabled: !1,
66
+ enabledCollections: [],
67
+ moderatorRoles: [],
68
+ isReactionsPluginInstalled: !1,
69
+ client: { url: "", contactEmail: "" },
70
+ gql: { auth: !1 },
71
+ badWords: void 0
72
+ }, qe = () => {
73
+ const d = Se(null), { toggleNotification: a } = pe(), [w, p] = Ie(!1), { isLoadingForPermissions: S, canSettingsChange: u } = fe(), b = ue(), f = G(), {
74
+ config: I,
75
+ collectionTypes: R,
76
+ roles: C,
77
+ restoreSettingsMutation: z,
78
+ updateSettingsMutation: H,
79
+ restartStrapiMutation: J
80
+ } = Le({
70
81
  restoreSettingsMutationSuccess: () => {
71
82
  b.invalidateQueries({
72
83
  queryKey: f.config.getKey(),
@@ -85,76 +96,82 @@ const P = ({
85
96
  exact: !1
86
97
  }), p(!0);
87
98
  }
88
- }), z = Q(() => {
89
- c.current?.requestSubmit();
90
- }, []), J = Q(
91
- (r) => {
92
- k.mutate({
93
- ...r,
94
- blockedAuthorProps: r.blockedAuthorProps.split(",").map((l) => l.trim())
99
+ }), X = U(() => {
100
+ d.current?.requestSubmit();
101
+ }, []), Y = U(
102
+ (i) => {
103
+ H.mutate({
104
+ ...i,
105
+ blockedAuthorProps: i.blockedAuthorProps.split(",").map((l) => l.trim()),
106
+ reactionsEnabled: i.reactionsEnabled
95
107
  });
96
108
  },
97
- [k]
98
- );
99
- if (d.status !== "success" || M.status !== "success" || L.status !== "success" || w)
109
+ [H]
110
+ ), c = I.data ?? Ee, Z = R.data ?? [], K = C.data ?? [];
111
+ if (I.status === "pending" || R.status === "pending" || C.status === "pending" || S)
100
112
  return t("page.settings.loading");
101
- const x = M.data.filter((r) => r.uid.includes("api::")), X = d.data.enabledCollections.filter(
102
- (r) => x.some((l) => l.uid === r)
103
- ), Y = D.isNil(d.data.badWords) ? !0 : d.data?.badWords, Z = !!d.data.gql?.auth, _ = d.data.moderatorRoles.filter(
104
- (r) => L.data.filter((l) => l.code === r)
105
- ), $ = d.data.client?.url, ee = d.data.client?.contactEmail, te = d.data.blockedAuthorProps ?? [], ne = () => p(!1);
106
- return /* @__PURE__ */ i(O, { children: [
107
- /* @__PURE__ */ e(j.Title, { children: "Comments - settings" }),
108
- /* @__PURE__ */ i(j.Main, { children: [
113
+ (I.status === "error" || R.status === "error" || C.status === "error") && (a({
114
+ message: t("page.settings.error"),
115
+ type: "danger"
116
+ }), console.error("Failed to fetch configuration. Please try again later."), console.error(I.error), console.error(R.error), console.error(C.error));
117
+ const q = Z.filter((i) => i.uid.includes("api::")), _ = c.enabledCollections.filter(
118
+ (i) => q.some((l) => l.uid === i)
119
+ ), $ = O.isNil(c.badWords) ? !0 : c.badWords, ee = !!c.gql?.auth, te = c.moderatorRoles.filter(
120
+ (i) => K.filter((l) => l.code === i)
121
+ ), ne = c.client?.url, oe = c.client?.contactEmail, ie = c.blockedAuthorProps ?? [], re = c.reactionsEnabled ?? !1, se = () => p(!1);
122
+ return /* @__PURE__ */ o(V, { children: [
123
+ /* @__PURE__ */ e(N.Title, { children: "Comments - settings" }),
124
+ /* @__PURE__ */ o(N.Main, { children: [
109
125
  /* @__PURE__ */ e(
110
- N.Header,
126
+ D.Header,
111
127
  {
112
128
  title: t("page.settings.header.title"),
113
- subtitle: /* @__PURE__ */ i(I, { direction: "row", gap: 3, alignItems: "center", justifyContent: "space-between", children: [
129
+ subtitle: /* @__PURE__ */ o(F, { direction: "row", gap: 3, alignItems: "center", justifyContent: "space-between", children: [
114
130
  /* @__PURE__ */ e(h, { variant: "epsilon", textColor: "neutral600", tag: "p", children: t("page.settings.header.description") }),
115
- /* @__PURE__ */ e(oe, { color: "neutral", minWidth: "fit-content", children: /* @__PURE__ */ i("span", { style: { textTransform: "none" }, children: [
131
+ /* @__PURE__ */ e(ae, { color: "neutral", minWidth: "fit-content", children: /* @__PURE__ */ o("span", { style: { textTransform: "none" }, children: [
116
132
  "v",
117
- Ce
133
+ Fe
118
134
  ] }) })
119
135
  ] }),
120
- primaryAction: /* @__PURE__ */ e(P, { condition: u, children: /* @__PURE__ */ e(F, { type: "submit", startIcon: /* @__PURE__ */ e(le, {}), onClick: z, children: t("page.settings.actions.submit") }) })
136
+ primaryAction: /* @__PURE__ */ e(x, { condition: u, children: /* @__PURE__ */ e(P, { type: "submit", startIcon: /* @__PURE__ */ e(ge, {}), onClick: X, children: t("page.settings.actions.submit") }) })
121
137
  }
122
138
  ),
123
- /* @__PURE__ */ i(N.Content, { children: [
124
- S && /* @__PURE__ */ e(m, { marginBottom: 4, children: /* @__PURE__ */ e(
125
- Ie,
139
+ /* @__PURE__ */ o(D.Content, { children: [
140
+ w && /* @__PURE__ */ e(m, { marginBottom: 4, children: /* @__PURE__ */ e(
141
+ xe,
126
142
  {
127
143
  closeLabel: t("page.settings.actions.restart.alert.close"),
128
144
  title: t("page.settings.actions.restart.alert.title"),
129
- onClose: ne,
130
- action: /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(F, { onClick: G.mutate, startIcon: /* @__PURE__ */ e(ae, {}), children: t("page.settings.actions.restart") }) }),
145
+ onClose: se,
146
+ action: /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(P, { onClick: J.mutate, startIcon: /* @__PURE__ */ e(he, {}), children: t("page.settings.actions.restart") }) }),
131
147
  children: /* @__PURE__ */ e(m, { marginTop: 4, children: t("page.settings.actions.restart.alert.description") })
132
148
  }
133
149
  ) }),
134
150
  /* @__PURE__ */ e(
135
- de,
151
+ me,
136
152
  {
137
153
  method: "POST",
138
154
  width: "auto",
139
155
  height: "auto",
140
- ref: c,
141
- onSubmit: J,
156
+ ref: d,
157
+ onSubmit: Y,
142
158
  initialValues: {
143
- enabledCollections: X,
144
- moderatorRoles: _,
145
- badWords: Y,
146
- clientEmail: ee,
147
- clientUrl: $,
148
- gqlAuthEnabled: Z,
149
- approvalFlow: d.data.approvalFlow,
150
- entryLabel: d.data.entryLabel,
151
- blockedAuthorProps: te.join(", ")
159
+ enabledCollections: _,
160
+ moderatorRoles: te,
161
+ badWords: $,
162
+ clientEmail: oe,
163
+ clientUrl: ne,
164
+ gqlAuthEnabled: ee,
165
+ approvalFlow: c.approvalFlow,
166
+ entryLabel: c.entryLabel,
167
+ blockedAuthorProps: ie.join(", "),
168
+ reactionsEnabled: re
152
169
  },
153
- children: ({ values: r, onChange: l }) => /* @__PURE__ */ i(I, { gap: 4, direction: "column", children: [
154
- /* @__PURE__ */ i(m, { ...R, children: [
170
+ children: ({ values: i, onChange: l }) => /* @__PURE__ */ o(F, { gap: 4, direction: "column", children: [
171
+ /* @__PURE__ */ o(m, { ...E, children: [
155
172
  /* @__PURE__ */ e(h, { variant: "delta", as: "h2", children: t("page.settings.section.general") }),
156
- /* @__PURE__ */ i(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
157
- /* @__PURE__ */ e(s.Item, { xs: 12, children: /* @__PURE__ */ i(
173
+ /* @__PURE__ */ o(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
174
+ /* @__PURE__ */ e(s.Item, { xs: 12, children: /* @__PURE__ */ o(
158
175
  n.Root,
159
176
  {
160
177
  width: "100%",
@@ -162,58 +179,58 @@ const P = ({
162
179
  children: [
163
180
  /* @__PURE__ */ e(n.Label, { htmlFor: "enabledCollections", children: t("page.settings.form.enabledCollections.label") }),
164
181
  /* @__PURE__ */ e(
165
- q,
182
+ T,
166
183
  {
167
184
  withTags: !0,
168
185
  name: "enabledCollections",
169
- value: r.enabledCollections,
170
- onChange: (o) => {
171
- l("enabledCollections", o);
186
+ value: i.enabledCollections,
187
+ onChange: (r) => {
188
+ l("enabledCollections", r);
172
189
  },
173
- children: x.map((o) => /* @__PURE__ */ e(A, { value: o.uid, children: o.schema.displayName }, o.uid))
190
+ children: q.map((r) => /* @__PURE__ */ e(A, { value: r.uid, children: r.schema.displayName }, r.uid))
174
191
  }
175
192
  ),
176
193
  /* @__PURE__ */ e(n.Hint, {})
177
194
  ]
178
195
  }
179
196
  ) }),
180
- r.enabledCollections.length > 0 && /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ i(s.Root, { gap: 4, width: "100%", children: [
197
+ i.enabledCollections.length > 0 && /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ o(s.Root, { gap: 4, width: "100%", children: [
181
198
  /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ e(h, { children: t("page.settings.form.contentTypesSettings.label") }) }),
182
- /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ e(y.Root, { style: { width: "100%" }, children: D.orderBy(r.enabledCollections).map((o) => {
183
- const E = x.find((C) => C.uid === o);
184
- if (E) {
199
+ /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ e(y.Root, { style: { width: "100%" }, children: O.orderBy(i.enabledCollections).map((r) => {
200
+ const W = q.find((L) => L.uid === r);
201
+ if (W) {
185
202
  const {
186
- schema: { displayName: C, attributes: H }
187
- } = E, K = Object.keys(H).filter(
188
- (g) => H[g].type === "string"
203
+ schema: { displayName: L, attributes: B }
204
+ } = W, Q = Object.keys(B).filter(
205
+ (g) => B[g].type === "string"
189
206
  );
190
- return /* @__PURE__ */ i(y.Item, { value: o, children: [
191
- /* @__PURE__ */ e(y.Header, { children: /* @__PURE__ */ e(y.Trigger, { children: /* @__PURE__ */ e(h, { variant: "epsilon", as: "h3", children: C }) }) }),
192
- /* @__PURE__ */ e(y.Content, { children: /* @__PURE__ */ i(s.Root, { padding: 6, gap: 4, children: [
193
- /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ i(
207
+ return /* @__PURE__ */ o(y.Item, { value: r, children: [
208
+ /* @__PURE__ */ e(y.Header, { children: /* @__PURE__ */ e(y.Trigger, { children: /* @__PURE__ */ e(h, { variant: "epsilon", as: "h3", children: L }) }) }),
209
+ /* @__PURE__ */ e(y.Content, { children: /* @__PURE__ */ o(s.Root, { padding: 6, gap: 4, children: [
210
+ /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ o(
194
211
  n.Root,
195
212
  {
196
213
  width: "100%",
197
214
  hint: t({
198
215
  id: "page.settings.form.approvalFlow.hint",
199
- props: { name: C }
216
+ props: { name: L }
200
217
  }),
201
218
  children: [
202
219
  /* @__PURE__ */ e(n.Label, { children: t(
203
220
  "page.settings.form.approvalFlow.label"
204
221
  ) }),
205
222
  /* @__PURE__ */ e(
206
- re,
223
+ ce,
207
224
  {
208
225
  visibleLabels: !0,
209
226
  onLabel: t("components.toogle.enabled"),
210
227
  offLabel: t("components.toogle.disabled"),
211
- checked: r.approvalFlow.includes(o),
228
+ checked: i.approvalFlow.includes(r),
212
229
  onCheckedChange: (g) => {
213
230
  l(
214
231
  "approvalFlow",
215
- g ? [...r.approvalFlow, o] : r.approvalFlow.filter(
216
- (ie) => ie !== o
232
+ g ? [...i.approvalFlow, r] : i.approvalFlow.filter(
233
+ (le) => le !== r
217
234
  )
218
235
  );
219
236
  }
@@ -223,7 +240,7 @@ const P = ({
223
240
  ]
224
241
  }
225
242
  ) }),
226
- /* @__PURE__ */ e(P, { condition: K.length > 0, children: /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ i(
243
+ /* @__PURE__ */ e(x, { condition: Q.length > 0, children: /* @__PURE__ */ e(s.Item, { children: /* @__PURE__ */ o(
227
244
  n.Root,
228
245
  {
229
246
  width: "100%",
@@ -235,21 +252,21 @@ const P = ({
235
252
  "page.settings.form.entryLabel.label"
236
253
  ) }),
237
254
  /* @__PURE__ */ e(
238
- q,
255
+ T,
239
256
  {
240
257
  withTags: !0,
241
258
  placeholder: t(
242
259
  "page.settings.form.entryLabel.placeholder"
243
260
  ),
244
261
  name: "enabledCollections",
245
- value: r.entryLabel[o] ?? [],
262
+ value: i.entryLabel[r] ?? [],
246
263
  onChange: (g) => {
247
264
  l("entryLabel", {
248
- ...r.entryLabel,
249
- [o]: g
265
+ ...i.entryLabel,
266
+ [r]: g
250
267
  });
251
268
  },
252
- children: K.map((g) => /* @__PURE__ */ e(A, { value: g, children: g }, g))
269
+ children: Q.map((g) => /* @__PURE__ */ e(A, { value: g, children: g }, g))
253
270
  }
254
271
  ),
255
272
  /* @__PURE__ */ e(n.Hint, {})
@@ -257,28 +274,28 @@ const P = ({
257
274
  }
258
275
  ) }) })
259
276
  ] }) })
260
- ] }, o);
277
+ ] }, r);
261
278
  }
262
279
  return null;
263
280
  }) }) })
264
281
  ] }) })
265
282
  ] })
266
283
  ] }),
267
- /* @__PURE__ */ i(m, { ...R, children: [
284
+ /* @__PURE__ */ o(m, { ...E, children: [
268
285
  /* @__PURE__ */ e(h, { variant: "delta", as: "h2", children: t("page.settings.section.additional") }),
269
- /* @__PURE__ */ i(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
270
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(
286
+ /* @__PURE__ */ o(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
287
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
271
288
  n.Root,
272
289
  {
273
290
  width: "100%",
274
- hint: t("page.settings.form.enabledCollections.hint"),
291
+ hint: t("page.settings.form.badWords.hint"),
275
292
  children: [
276
- /* @__PURE__ */ e(n.Label, { htmlFor: "enabledCollections", children: t("page.settings.form.enabledCollections.label") }),
293
+ /* @__PURE__ */ e(n.Label, { htmlFor: "badWords", children: t("page.settings.form.badWords.label") }),
277
294
  /* @__PURE__ */ e(
278
- B,
295
+ v,
279
296
  {
280
297
  name: "badWords",
281
- checked: r.badWords,
298
+ checked: i.badWords,
282
299
  onChange: l,
283
300
  onLabel: t("components.toogle.enabled"),
284
301
  offLabel: t("components.toogle.disabled"),
@@ -289,7 +306,7 @@ const P = ({
289
306
  ]
290
307
  }
291
308
  ) }),
292
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(
309
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
293
310
  n.Root,
294
311
  {
295
312
  width: "100%",
@@ -300,7 +317,7 @@ const P = ({
300
317
  n.Input,
301
318
  {
302
319
  name: "blockedAuthorProps",
303
- value: r.blockedAuthorProps,
320
+ value: i.blockedAuthorProps,
304
321
  onChange: l
305
322
  }
306
323
  ),
@@ -308,13 +325,13 @@ const P = ({
308
325
  ]
309
326
  }
310
327
  ) }),
311
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(n.Root, { width: "100%", hint: t("page.settings.form.gqlAuth.hint"), children: [
328
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(n.Root, { width: "100%", hint: t("page.settings.form.gqlAuth.hint"), children: [
312
329
  /* @__PURE__ */ e(n.Label, { children: t("page.settings.form.gqlAuth.label") }),
313
330
  /* @__PURE__ */ e(
314
- B,
331
+ v,
315
332
  {
316
333
  name: "gqlAuthEnabled",
317
- checked: r.gqlAuthEnabled,
334
+ checked: i.gqlAuthEnabled,
318
335
  onChange: l,
319
336
  onLabel: t("components.toogle.enabled"),
320
337
  offLabel: t("components.toogle.disabled"),
@@ -322,13 +339,35 @@ const P = ({
322
339
  }
323
340
  ),
324
341
  /* @__PURE__ */ e(n.Hint, {})
325
- ] }) })
342
+ ] }) }),
343
+ /* @__PURE__ */ e(x, { condition: c.isReactionsPluginInstalled, children: /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
344
+ n.Root,
345
+ {
346
+ width: "100%",
347
+ hint: t("page.settings.form.reactionsEnabled.hint"),
348
+ children: [
349
+ /* @__PURE__ */ e(n.Label, { children: t("page.settings.form.reactionsEnabled.label") }),
350
+ /* @__PURE__ */ e(
351
+ v,
352
+ {
353
+ name: "reactionsEnabled",
354
+ checked: i.reactionsEnabled,
355
+ onChange: l,
356
+ onLabel: t("components.toogle.enabled"),
357
+ offLabel: t("components.toogle.disabled"),
358
+ width: "100%"
359
+ }
360
+ ),
361
+ /* @__PURE__ */ e(n.Hint, {})
362
+ ]
363
+ }
364
+ ) }) })
326
365
  ] })
327
366
  ] }),
328
- /* @__PURE__ */ i(m, { ...R, children: [
367
+ /* @__PURE__ */ o(m, { ...E, children: [
329
368
  /* @__PURE__ */ e(h, { variant: "delta", as: "h2", children: t("page.settings.section.client") }),
330
- /* @__PURE__ */ i(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
331
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(
369
+ /* @__PURE__ */ o(s.Root, { gap: 4, marginTop: 4, width: "100%", children: [
370
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
332
371
  n.Root,
333
372
  {
334
373
  width: "100%",
@@ -340,7 +379,7 @@ const P = ({
340
379
  ]
341
380
  }
342
381
  ) }),
343
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(
382
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
344
383
  n.Root,
345
384
  {
346
385
  width: "100%",
@@ -352,7 +391,7 @@ const P = ({
352
391
  ]
353
392
  }
354
393
  ) }),
355
- /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ i(
394
+ /* @__PURE__ */ e(s.Item, { col: 4, xs: 12, alignItems: "start", children: /* @__PURE__ */ o(
356
395
  n.Root,
357
396
  {
358
397
  width: "100%",
@@ -360,16 +399,16 @@ const P = ({
360
399
  children: [
361
400
  /* @__PURE__ */ e(n.Label, { children: t("page.settings.form.moderatorRoles.label") }),
362
401
  /* @__PURE__ */ e(
363
- q,
402
+ T,
364
403
  {
365
404
  withTags: !0,
366
405
  placeholder: t("page.settings.form.moderatorRoles.placeholder"),
367
406
  name: "enabledCollections",
368
- value: r.moderatorRoles,
369
- onChange: (o) => {
370
- l("moderatorRoles", o);
407
+ value: i.moderatorRoles,
408
+ onChange: (r) => {
409
+ l("moderatorRoles", r);
371
410
  },
372
- children: L.data.map((o) => /* @__PURE__ */ e(A, { value: o.code, children: o.name }, o.code))
411
+ children: K.map((r) => /* @__PURE__ */ e(A, { value: r.code, children: r.name }, r.code))
373
412
  }
374
413
  ),
375
414
  /* @__PURE__ */ e(n.Hint, {})
@@ -378,29 +417,29 @@ const P = ({
378
417
  ) })
379
418
  ] })
380
419
  ] }),
381
- /* @__PURE__ */ e(P, { condition: u, children: /* @__PURE__ */ e(m, { ...R, children: /* @__PURE__ */ i(I, { gap: 4, direction: "column", alignItems: "flex-start", children: [
382
- /* @__PURE__ */ i(I, { gap: 2, direction: "column", alignItems: "flex-start", children: [
420
+ /* @__PURE__ */ e(x, { condition: u, children: /* @__PURE__ */ e(m, { ...E, children: /* @__PURE__ */ o(F, { gap: 4, direction: "column", alignItems: "flex-start", children: [
421
+ /* @__PURE__ */ o(F, { gap: 2, direction: "column", alignItems: "flex-start", children: [
383
422
  /* @__PURE__ */ e(h, { variant: "delta", as: "h2", children: t("page.settings.section.restore") }),
384
423
  /* @__PURE__ */ e(h, { variant: "pi", as: "h4", children: t("page.settings.section.restore.subtitle") })
385
424
  ] }),
386
425
  /* @__PURE__ */ e(
387
- me,
426
+ ye,
388
427
  {
389
- Trigger: ({ onClick: o }) => /* @__PURE__ */ e(
390
- F,
428
+ Trigger: ({ onClick: r }) => /* @__PURE__ */ e(
429
+ P,
391
430
  {
392
431
  variant: "danger-light",
393
- startIcon: /* @__PURE__ */ e(W, {}),
394
- onClick: o,
432
+ startIcon: /* @__PURE__ */ e(j, {}),
433
+ onClick: r,
395
434
  children: t("page.settings.actions.restore")
396
435
  }
397
436
  ),
398
- onConfirm: V.mutate,
437
+ onConfirm: z.mutate,
399
438
  title: t("page.settings.actions.restore.confirmation.header"),
400
439
  labelConfirm: t(
401
440
  "page.settings.actions.restore.confirmation.button.confirm"
402
441
  ),
403
- iconConfirm: /* @__PURE__ */ e(W, {}),
442
+ iconConfirm: /* @__PURE__ */ e(j, {}),
404
443
  children: t("page.settings.actions.restore.confirmation.description")
405
444
  }
406
445
  )
@@ -411,7 +450,7 @@ const P = ({
411
450
  ] })
412
451
  ] })
413
452
  ] });
414
- }, ke = () => /* @__PURE__ */ e(he, { children: /* @__PURE__ */ e(Re, {}) });
453
+ }, Be = () => /* @__PURE__ */ e(be, { children: /* @__PURE__ */ e(qe, {}) });
415
454
  export {
416
- ke as default
455
+ Be as default
417
456
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("@strapi/design-system"),S=require("@strapi/icons"),h=require("@strapi/strapi/admin"),g=require("@tanstack/react-query"),s=require("./index-BE4WKyKM.js"),x=require("react"),V=require("styled-components"),$=require("./index-zjD2IIJE.js"),z=o=>o&&o.__esModule?o:{default:o},J=z(V),w=({children:o,condition:l})=>l?e.jsx(e.Fragment,{children:o}):null,X=(o={})=>{const l=s.useAPI(),j=g.useMutation({mutationFn:l.settings.update,onSuccess:o.updateSettingsMutationSuccess,onError:o.updateSettingsMutationError}),d=g.useMutation({mutationFn:l.settings.restore,onSuccess:o.restoreSettingsMutationSuccess,onError:o.restoreSettingsMutationError}),b=g.useMutation({mutationFn:l.settings.restart,onSuccess:o.restartStrapiMutationSuccess,onError:o.restartStrapiMutationError}),u=g.useQuery({queryKey:l.config.getKey(),queryFn:l.config.query}),p=g.useQuery({queryKey:l.contentTypeBuilder.all.getKey(),queryFn:l.contentTypeBuilder.all.query}),m=g.useQuery({queryKey:l.roles.getKey(),queryFn:l.roles.query});return x.useMemo(()=>({config:u,collectionTypes:p,roles:m,restoreSettingsMutation:d,updateSettingsMutation:j,restartStrapiMutation:b}),[u,m,p,d,j,b])},Y=$.version,I={background:"neutral0",hasRadius:!0,shadow:"filterShadow",padding:6,width:"100%"},Z=J.default(t.Alert)(()=>({"[role]":{flexDirection:"column"}})),ee={entryLabel:{},approvalFlow:[],blockedAuthorProps:[],reactionsEnabled:!1,enabledCollections:[],moderatorRoles:[],isReactionsPluginInstalled:!1,client:{url:"",contactEmail:""},gql:{auth:!1},badWords:void 0},te=()=>{const o=x.useRef(null),{toggleNotification:l}=h.useNotification(),[j,d]=x.useState(!1),{isLoadingForPermissions:b,canSettingsChange:u}=s.usePermissions(),p=g.useQueryClient(),m=s.useAPI(),{config:f,collectionTypes:y,roles:M,restoreSettingsMutation:P,updateSettingsMutation:C,restartStrapiMutation:E}=X({restoreSettingsMutationSuccess:()=>{p.invalidateQueries({queryKey:m.config.getKey(),exact:!1}),d(!0),l({message:s.getMessage("page.settings.actions.restore.success"),type:"success"})},restartStrapiMutationSuccess:()=>{d(!1)},updateSettingsMutationSuccess:()=>{p.invalidateQueries({queryKey:m.config.getKey(),exact:!1}),d(!0)}}),k=x.useCallback(()=>{o.current?.requestSubmit()},[]),v=x.useCallback(n=>{C.mutate({...n,blockedAuthorProps:n.blockedAuthorProps.split(",").map(r=>r.trim()),reactionsEnabled:n.reactionsEnabled})},[C]),a=f.data??ee,G=y.data??[],L=M.data??[];if(f.status==="pending"||y.status==="pending"||M.status==="pending"||b)return s.getMessage("page.settings.loading");(f.status==="error"||y.status==="error"||M.status==="error")&&(l({message:s.getMessage("page.settings.error"),type:"danger"}),console.error("Failed to fetch configuration. Please try again later."),console.error(f.error),console.error(y.error),console.error(M.error));const R=G.filter(n=>n.uid.includes("api::")),B=a.enabledCollections.filter(n=>R.some(r=>r.uid===n)),H=s.lodashExports.isNil(a.badWords)?!0:a.badWords,K=!!a.gql?.auth,Q=a.moderatorRoles.filter(n=>L.filter(r=>r.code===n)),W=a.client?.url,O=a.client?.contactEmail,D=a.blockedAuthorProps??[],N=a.reactionsEnabled??!1,_=()=>d(!1);return e.jsxs(e.Fragment,{children:[e.jsx(h.Page.Title,{children:"Comments - settings"}),e.jsxs(h.Page.Main,{children:[e.jsx(h.Layouts.Header,{title:s.getMessage("page.settings.header.title"),subtitle:e.jsxs(t.Flex,{direction:"row",gap:3,alignItems:"center",justifyContent:"space-between",children:[e.jsx(t.Typography,{variant:"epsilon",textColor:"neutral600",tag:"p",children:s.getMessage("page.settings.header.description")}),e.jsx(t.Badge,{color:"neutral",minWidth:"fit-content",children:e.jsxs("span",{style:{textTransform:"none"},children:["v",Y]})})]}),primaryAction:e.jsx(w,{condition:u,children:e.jsx(t.Button,{type:"submit",startIcon:e.jsx(S.Check,{}),onClick:k,children:s.getMessage("page.settings.actions.submit")})})}),e.jsxs(h.Layouts.Content,{children:[j&&e.jsx(t.Box,{marginBottom:4,children:e.jsx(Z,{closeLabel:s.getMessage("page.settings.actions.restart.alert.close"),title:s.getMessage("page.settings.actions.restart.alert.title"),onClose:_,action:e.jsx(t.Box,{children:e.jsx(t.Button,{onClick:E.mutate,startIcon:e.jsx(S.Play,{}),children:s.getMessage("page.settings.actions.restart")})}),children:e.jsx(t.Box,{marginTop:4,children:s.getMessage("page.settings.actions.restart.alert.description")})})}),e.jsx(h.Form,{method:"POST",width:"auto",height:"auto",ref:o,onSubmit:v,initialValues:{enabledCollections:B,moderatorRoles:Q,badWords:H,clientEmail:O,clientUrl:W,gqlAuthEnabled:K,approvalFlow:a.approvalFlow,entryLabel:a.entryLabel,blockedAuthorProps:D.join(", "),reactionsEnabled:N},children:({values:n,onChange:r})=>e.jsxs(t.Flex,{gap:4,direction:"column",children:[e.jsxs(t.Box,{...I,children:[e.jsx(t.Typography,{variant:"delta",as:"h2",children:s.getMessage("page.settings.section.general")}),e.jsxs(t.Grid.Root,{gap:4,marginTop:4,width:"100%",children:[e.jsx(t.Grid.Item,{xs:12,children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.enabledCollections.hint"),children:[e.jsx(t.Field.Label,{htmlFor:"enabledCollections",children:s.getMessage("page.settings.form.enabledCollections.label")}),e.jsx(t.MultiSelect,{withTags:!0,name:"enabledCollections",value:n.enabledCollections,onChange:i=>{r("enabledCollections",i)},children:R.map(i=>e.jsx(t.MultiSelectOption,{value:i.uid,children:i.schema.displayName},i.uid))}),e.jsx(t.Field.Hint,{})]})}),n.enabledCollections.length>0&&e.jsx(t.Grid.Item,{children:e.jsxs(t.Grid.Root,{gap:4,width:"100%",children:[e.jsx(t.Grid.Item,{children:e.jsx(t.Typography,{children:s.getMessage("page.settings.form.contentTypesSettings.label")})}),e.jsx(t.Grid.Item,{children:e.jsx(t.Accordion.Root,{style:{width:"100%"},children:s.lodashExports.orderBy(n.enabledCollections).map(i=>{const T=R.find(F=>F.uid===i);if(T){const{schema:{displayName:F,attributes:q}}=T,A=Object.keys(q).filter(c=>q[c].type==="string");return e.jsxs(t.Accordion.Item,{value:i,children:[e.jsx(t.Accordion.Header,{children:e.jsx(t.Accordion.Trigger,{children:e.jsx(t.Typography,{variant:"epsilon",as:"h3",children:F})})}),e.jsx(t.Accordion.Content,{children:e.jsxs(t.Grid.Root,{padding:6,gap:4,children:[e.jsx(t.Grid.Item,{children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage({id:"page.settings.form.approvalFlow.hint",props:{name:F}}),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.approvalFlow.label")}),e.jsx(t.Switch,{visibleLabels:!0,onLabel:s.getMessage("components.toogle.enabled"),offLabel:s.getMessage("components.toogle.disabled"),checked:n.approvalFlow.includes(i),onCheckedChange:c=>{r("approvalFlow",c?[...n.approvalFlow,i]:n.approvalFlow.filter(U=>U!==i))}}),e.jsx(t.Field.Hint,{})]})}),e.jsx(w,{condition:A.length>0,children:e.jsx(t.Grid.Item,{children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.entryLabel.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.entryLabel.label")}),e.jsx(t.MultiSelect,{withTags:!0,placeholder:s.getMessage("page.settings.form.entryLabel.placeholder"),name:"enabledCollections",value:n.entryLabel[i]??[],onChange:c=>{r("entryLabel",{...n.entryLabel,[i]:c})},children:A.map(c=>e.jsx(t.MultiSelectOption,{value:c,children:c},c))}),e.jsx(t.Field.Hint,{})]})})})]})})]},i)}return null})})})]})})]})]}),e.jsxs(t.Box,{...I,children:[e.jsx(t.Typography,{variant:"delta",as:"h2",children:s.getMessage("page.settings.section.additional")}),e.jsxs(t.Grid.Root,{gap:4,marginTop:4,width:"100%",children:[e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.badWords.hint"),children:[e.jsx(t.Field.Label,{htmlFor:"badWords",children:s.getMessage("page.settings.form.badWords.label")}),e.jsx(t.Toggle,{name:"badWords",checked:n.badWords,onChange:r,onLabel:s.getMessage("components.toogle.enabled"),offLabel:s.getMessage("components.toogle.disabled"),width:"100%"}),e.jsx(t.Field.Hint,{})]})}),e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.author.blockedProps.hint"),children:[e.jsx(t.Field.Label,{htmlFor:"enabledCollections",children:s.getMessage("page.settings.form.author.blockedProps.label")}),e.jsx(t.Field.Input,{name:"blockedAuthorProps",value:n.blockedAuthorProps,onChange:r}),e.jsx(t.Field.Hint,{})]})}),e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.gqlAuth.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.gqlAuth.label")}),e.jsx(t.Toggle,{name:"gqlAuthEnabled",checked:n.gqlAuthEnabled,onChange:r,onLabel:s.getMessage("components.toogle.enabled"),offLabel:s.getMessage("components.toogle.disabled"),width:"100%"}),e.jsx(t.Field.Hint,{})]})}),e.jsx(w,{condition:a.isReactionsPluginInstalled,children:e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.reactionsEnabled.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.reactionsEnabled.label")}),e.jsx(t.Toggle,{name:"reactionsEnabled",checked:n.reactionsEnabled,onChange:r,onLabel:s.getMessage("components.toogle.enabled"),offLabel:s.getMessage("components.toogle.disabled"),width:"100%"}),e.jsx(t.Field.Hint,{})]})})})]})]}),e.jsxs(t.Box,{...I,children:[e.jsx(t.Typography,{variant:"delta",as:"h2",children:s.getMessage("page.settings.section.client")}),e.jsxs(t.Grid.Root,{gap:4,marginTop:4,width:"100%",children:[e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.client.url.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.client.url.label")}),e.jsx(t.Field.Input,{name:"clientUrl",onChange:r}),e.jsx(t.Field.Hint,{})]})}),e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.client.email.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.client.email.label")}),e.jsx(t.Field.Input,{name:"clientEmail",onChange:r}),e.jsx(t.Field.Hint,{})]})}),e.jsx(t.Grid.Item,{col:4,xs:12,alignItems:"start",children:e.jsxs(t.Field.Root,{width:"100%",hint:s.getMessage("page.settings.form.moderatorRoles.hint"),children:[e.jsx(t.Field.Label,{children:s.getMessage("page.settings.form.moderatorRoles.label")}),e.jsx(t.MultiSelect,{withTags:!0,placeholder:s.getMessage("page.settings.form.moderatorRoles.placeholder"),name:"enabledCollections",value:n.moderatorRoles,onChange:i=>{r("moderatorRoles",i)},children:L.map(i=>e.jsx(t.MultiSelectOption,{value:i.code,children:i.name},i.code))}),e.jsx(t.Field.Hint,{})]})})]})]}),e.jsx(w,{condition:u,children:e.jsx(t.Box,{...I,children:e.jsxs(t.Flex,{gap:4,direction:"column",alignItems:"flex-start",children:[e.jsxs(t.Flex,{gap:2,direction:"column",alignItems:"flex-start",children:[e.jsx(t.Typography,{variant:"delta",as:"h2",children:s.getMessage("page.settings.section.restore")}),e.jsx(t.Typography,{variant:"pi",as:"h4",children:s.getMessage("page.settings.section.restore.subtitle")})]}),e.jsx(s.ConfirmationDialog,{Trigger:({onClick:i})=>e.jsx(t.Button,{variant:"danger-light",startIcon:e.jsx(S.ArrowClockwise,{}),onClick:i,children:s.getMessage("page.settings.actions.restore")}),onConfirm:P.mutate,title:s.getMessage("page.settings.actions.restore.confirmation.header"),labelConfirm:s.getMessage("page.settings.actions.restore.confirmation.button.confirm"),iconConfirm:e.jsx(S.ArrowClockwise,{}),children:s.getMessage("page.settings.actions.restore.confirmation.description")})]})})})]})})]})]})]})},se=()=>e.jsx(s.CommonProviders,{children:e.jsx(te,{})});exports.default=se;