@logora/debate 0.3.51 → 0.3.53

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.
@@ -20,71 +20,71 @@ import { Avatar as et } from "../../user/avatar/Avatar.js";
20
20
  import { AuthorBox as tt } from "../../user/author_box/AuthorBox.js";
21
21
  import { TextEditor as nt } from "../text_editor/TextEditor.js";
22
22
  import { Icon as at } from "../../icons/icon/Icon.js";
23
- const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ default: N.SideModal }))), Nt = ({
24
- argumentListId: N,
23
+ const st = We(() => import("../../modal/side_modal/index.js").then((y) => ({ default: y.SideModal }))), yt = ({
24
+ argumentListId: y,
25
25
  avatarSize: me = 48,
26
- disabled: j = !1,
26
+ disabled: z = !1,
27
27
  positions: a = [],
28
- disabledPositions: y = [],
28
+ disabledPositions: N = [],
29
29
  groupId: v,
30
30
  groupName: ge,
31
- groupType: z,
31
+ groupType: O,
32
32
  hideSourceAction: fe = !1,
33
- isReply: u = !1,
34
- onSubmit: O,
35
- parentId: A,
33
+ isReply: d = !1,
34
+ onSubmit: J,
35
+ parentId: T,
36
36
  placeholder: he,
37
- positionId: b,
37
+ positionId: A,
38
38
  focusOnInit: pe = !1,
39
- activeOnInit: F = !1,
40
- userGuideUrl: J,
39
+ activeOnInit: P = !1,
40
+ userGuideUrl: K,
41
41
  hideUserGuideLink: _e = !1,
42
42
  hideCharCount: Me = !1,
43
43
  disableAutoActivate: ve = !1
44
44
  }) => {
45
- const r = Ye(), K = Re(), T = je(), h = ze(), {
46
- focus: G,
47
- setFocus: L,
45
+ const r = Ye(), G = Re(), L = je(), h = ze(), {
46
+ focus: H,
47
+ setFocus: F,
48
48
  setReset: Ae,
49
- inputContent: P,
49
+ inputContent: E,
50
50
  setInputContent: be,
51
51
  setInputRichContent: we
52
- } = Oe(), { isLoggedIn: w, currentUser: d } = Je(), { errors: B, validate: E } = Ke(), { isMobile: m } = Ge(), Ce = ke(), H = qe(null), [V, U] = c([]), [$, q] = c(""), [Q, D] = c(null), [l, p] = c(null), [X, Z] = c(null), [ee, te] = c(!1), [C, ne] = c(!1), [ae, se] = c({}), [g, Ie] = $e(
52
+ } = Oe(), { isLoggedIn: b, currentUser: u } = Je(), { errors: B, validate: V } = Ke(), { isMobile: m } = Ge(), Ce = ke(), Q = qe(null), [U, $] = c([]), [q, D] = c(""), [X, W] = c(null), [l, p] = c(null), [Z, ee] = c(null), [te, ne] = c(!1), [w, ae] = c(!1), [C, se] = c({}), [g, Ie] = $e(
53
53
  "userSide",
54
54
  {}
55
55
  ), [f, Se] = c(
56
- !w && h?.actions?.disableInputForVisitor
57
- ), W = He(), { showModal: xe } = Qe(), { toast: Y } = Xe() || {}, oe = new URLSearchParams(
56
+ !b && h?.actions?.disableInputForVisitor
57
+ ), Y = He(), { showModal: xe } = Qe(), { toast: k } = Xe() || {}, oe = new URLSearchParams(
58
58
  typeof window < "u" ? window.location.search : Ce.search
59
59
  );
60
60
  M(() => {
61
61
  Se(
62
- !w && h?.actions?.disableInputForVisitor
62
+ !b && h?.actions?.disableInputForVisitor
63
63
  );
64
- }, [w, h]);
65
- const k = d?.role === "editor" || d?.role === "moderator", ie = d?.moderation_status === "banned";
64
+ }, [b, h]);
65
+ const R = u?.role === "editor" || u?.role === "moderator", ie = u?.moderation_status === "banned";
66
66
  M(() => {
67
67
  let e = null;
68
- typeof window < "u" && (e = oe.get("positionId")), b && b != a[2]?.id && a?.find((t) => t.id === b) ? p(b) : e && e != a[2]?.id ? p(e) : g && g.groupId == v && g.positionId != a[2]?.id && p(g.positionId);
69
- }, [b]), M(() => {
70
- F && (R(), L(!0));
71
- }, [F]), M(() => {
68
+ typeof window < "u" && (e = oe.get("positionId")), A && A != a[2]?.id && a?.find((t) => t.id === A) ? p(A) : e && e != a[2]?.id ? p(e) : g && g.groupId == v && g.positionId != a[2]?.id && p(g.positionId);
69
+ }, [A]), M(() => {
70
+ P && (j(), F(!0));
71
+ }, [P]), M(() => {
72
72
  if (typeof window < "u") {
73
73
  const e = pe || oe.get("initArgument");
74
- (e === !0 || e === "true") && (L(!0), Ee());
74
+ (e === !0 || e === "true") && (F(!0), Be());
75
75
  }
76
76
  }, []), M(() => {
77
- G && (re(), L(!1));
78
- }, [G]), M(() => {
79
- P?.id && (Ne(P), L(!0));
80
- }, [P]);
81
- const Ne = (e) => {
82
- se(e), ne(!0), U(e.sources), q(e.content), D(e.rich_content), Z(e.id), re(), p(e.position?.id), JSON.parse(e.rich_content).hasOwnProperty("root") ? we(e.rich_content) : be(e.content);
77
+ H && (re(), F(!1));
78
+ }, [H]), M(() => {
79
+ E?.id && (ye(E), F(!0));
80
+ }, [E]);
81
+ const ye = (e) => {
82
+ se(e), ae(!0), $(e.sources), D(e.content), W(e.rich_content), ee(e.id), re(), p(e.position?.id), JSON.parse(e.rich_content).hasOwnProperty("root") ? we(e.rich_content) : be(e.content);
83
83
  }, re = () => {
84
- H.current.scrollIntoView(!1);
85
- }, ue = () => {
86
- q(""), D(null), se({}), Z(null), U([]), Ae(!0);
87
- }, ye = (e) => {
84
+ Q.current.scrollIntoView(!1);
85
+ }, de = () => {
86
+ D(""), W(null), se({}), ee(null), $([]), Ae(!0);
87
+ }, Ne = (e) => {
88
88
  p(e), le(e);
89
89
  }, Te = () => {
90
90
  xe(
@@ -95,43 +95,43 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
95
95
  id: "modal.side_modal.modal_title",
96
96
  defaultMessage: "Choose your side"
97
97
  }),
98
- onChooseSide: ye,
98
+ onChooseSide: Ne,
99
99
  positions: a,
100
100
  title: ge,
101
- disabledPositions: !u && y,
101
+ disabledPositions: !d && N,
102
102
  isNeutral: g && g.groupId == v && g.positionId === a[2]?.id
103
103
  }
104
104
  ) })
105
105
  );
106
106
  }, Le = () => {
107
- w ? X ? Be() : !a || a?.length === 0 || !y?.find((e) => e?.id === l) && l || k && u ? le(u && k && a[0]?.id) : Te() : W({ loginAction: "argument" });
107
+ b ? Z ? Ee() : !a || a?.length === 0 || !N?.find((e) => e?.id === l) && l || R && d ? le(d && R && a[0]?.id) : Te() : Y({ loginAction: "argument" });
108
108
  }, Fe = (e, t) => {
109
- f ? W({ loginAction: "argument" }) : (q(e), D(t), E({ content: e }, [{ content: ["url", null] }]));
109
+ f ? Y({ loginAction: "argument" }) : (D(e), W(t), V({ content: e }, [{ content: ["url", null] }]));
110
110
  }, Pe = (e) => {
111
- U(e);
112
- }, de = [
111
+ $(e);
112
+ }, ue = [
113
113
  { content: ["length", 3] },
114
114
  { content: ["required", null] },
115
115
  { content: ["url", null] },
116
116
  ...!a || a?.length === 0 ? [] : [{ position_id: ["required", null] }]
117
117
  ], le = (e) => {
118
118
  const t = e || l, o = {
119
- content: $,
120
- rich_content: Q,
119
+ content: q,
120
+ rich_content: X,
121
121
  group_id: v,
122
- ...z && { group_type: z },
122
+ ...O && { group_type: O },
123
123
  ...t && { position_id: t },
124
- is_reply: !!A,
125
- message_id: A || null,
126
- source_ids: V?.map((i) => i.id)
124
+ is_reply: !!T,
125
+ message_id: T || null,
126
+ source_ids: U?.map((i) => i.id)
127
127
  };
128
- E(o, de) && (t && a && a.map((i) => i.id).includes(t) && Ie({
128
+ V(o, ue) && (t && a && a.map((i) => i.id).includes(t) && Ie({
129
129
  groupId: v,
130
130
  positionId: t
131
- }), ue(), K.create("messages", o).then((i) => {
131
+ }), de(), G.create("messages", o).then((i) => {
132
132
  if (i.data.success) {
133
- if (A)
134
- O(i.data.data.resource), Y(
133
+ if (T)
134
+ J(i.data.data.resource), k(
135
135
  r.formatMessage({
136
136
  id: "alert.argument_create",
137
137
  defaultMessage: "Your contribution has been sent !"
@@ -146,11 +146,11 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
146
146
  );
147
147
  else {
148
148
  const I = i.data.data.resource;
149
- let S = N;
150
- t && !m && (S = `argumentList${I.position.id}`), O?.(
151
- $,
149
+ let S = y;
150
+ t && !m && (S = `argumentList${I.position.id}`), J?.(
151
+ q,
152
152
  a.find((Ue) => Ue.id === t) || null
153
- ), T.add(S, [I]), Y(
153
+ ), L.add(S, [I]), k(
154
154
  r.formatMessage({
155
155
  id: "alert.argument_create",
156
156
  defaultMessage: "Your contribution has been sent !"
@@ -162,7 +162,7 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
162
162
  defaultMessage: "Up to 10 eloquence points"
163
163
  }),
164
164
  category: "ARGUMENT",
165
- contentKey: d.messages_count === 2 ? "alert.third_argument" : "alert.first_argument"
165
+ contentKey: u.messages_count === 2 ? "alert.third_argument" : "alert.first_argument"
166
166
  }
167
167
  );
168
168
  }
@@ -175,39 +175,39 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
175
175
  );
176
176
  }
177
177
  }));
178
- }, Be = () => {
178
+ }, Ee = () => {
179
179
  const e = {
180
- content: $,
181
- rich_content: Q,
182
- source_ids: V?.map((t) => t.id),
180
+ content: q,
181
+ rich_content: X,
182
+ source_ids: U?.map((t) => t.id),
183
183
  ...l && { position_id: l }
184
184
  };
185
- E(e, de) && K.update("messages", X, e).then((t) => {
185
+ V(e, ue) && G.update("messages", Z, e).then((t) => {
186
186
  if (t.data.success) {
187
187
  const o = t.data.data.resource;
188
- let i = N;
189
- if (console.log("[updateArgument] API response:", o), console.log("[updateArgument] is_reply:", o.is_reply, "| message_id:", o.message_id, "| parentId prop:", A), o.is_reply ? i = `argument_${o.message_id || A}_reply_list` : l && !m && (i = `argumentList${o.position?.id}`), console.log("[updateArgument] listId used for update:", i), ae?.position?.id != o.position?.id && !m && !o.is_reply) {
190
- const I = `argumentList${ae.position.id}`, S = `argumentList${o.position.id}`;
191
- console.log("[updateArgument] position changed, moving from", I, "to", S), T.remove(I, [o]), T.add(S, [o]);
188
+ let i = y;
189
+ if (console.log("[updateArgument] API response:", o), console.log("[updateArgument] editElement complet:", C), console.log("[updateArgument] is_reply:", o.is_reply, "| message_id:", o.message_id, "| editElement.message_id:", C?.message_id, "| parentId prop:", T), o.is_reply ? i = `argument_${o.reply_to_id || C?.reply_to_id}_reply_list` : l && !m && (i = `argumentList${o.position?.id}`), console.log("[updateArgument] listId used for update:", i), C?.position?.id != o.position?.id && !m && !o.is_reply) {
190
+ const I = `argumentList${C.position.id}`, S = `argumentList${o.position.id}`;
191
+ console.log("[updateArgument] position changed, moving from", I, "to", S), L.remove(I, [o]), L.add(S, [o]);
192
192
  } else
193
- console.log("[updateArgument] calling list.update with listId:", i), T.update(i, [o]);
194
- Y(r.formatMessage({ id: "alert.argument_modify" }), {
193
+ console.log("[updateArgument] calling list.update with listId:", i), L.update(i, [o]);
194
+ k(r.formatMessage({ id: "alert.argument_modify" }), {
195
195
  type: "success"
196
- }), ue();
196
+ }), de();
197
197
  }
198
198
  });
199
- }, Ee = () => {
200
- if (!ee) {
201
- te(!0);
199
+ }, Be = () => {
200
+ if (!te) {
201
+ ne(!0);
202
202
  const e = setTimeout(() => {
203
- te(!1);
203
+ ne(!1);
204
204
  }, 2e3);
205
205
  return () => clearTimeout(e);
206
206
  }
207
- }, R = () => {
208
- f ? W({ loginAction: "argument" }) : ne(!0);
207
+ }, j = () => {
208
+ f ? Y({ loginAction: "argument" }) : ae(!0);
209
209
  }, Ve = () => {
210
- const e = y.find(
210
+ const e = N.find(
211
211
  (t) => t.id === l
212
212
  );
213
213
  if (e)
@@ -220,7 +220,7 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
220
220
  );
221
221
  };
222
222
  return /* @__PURE__ */ _("div", { className: n.inputContainer, children: [
223
- j && /* @__PURE__ */ s("div", { className: n.disabledInputMask, children: ie ? r.formatMessage({
223
+ z && /* @__PURE__ */ s("div", { className: n.disabledInputMask, children: ie ? r.formatMessage({
224
224
  id: "input.argument_input.user_banned",
225
225
  defaultMessage: "You are banned from the debate space."
226
226
  }) : r.formatMessage({
@@ -231,11 +231,11 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
231
231
  "div",
232
232
  {
233
233
  className: x(n.argumentInput, {
234
- [n.flash]: ee,
235
- [n.replyInputContainer]: u
234
+ [n.flash]: te,
235
+ [n.replyInputContainer]: d
236
236
  }),
237
- children: /* @__PURE__ */ s("div", { "data-tid": "action_add_argument", ref: H, children: /* @__PURE__ */ _("div", { className: n.argumentInputBox, children: [
238
- a.length > 0 && w && (!u || !k) && /* @__PURE__ */ _("div", { className: n.userPosition, children: [
237
+ children: /* @__PURE__ */ s("div", { "data-tid": "action_add_argument", ref: Q, children: /* @__PURE__ */ _("div", { className: n.argumentInputBox, children: [
238
+ a.length > 0 && b && (!d || !R) && /* @__PURE__ */ _("div", { className: n.userPosition, children: [
239
239
  /* @__PURE__ */ s("div", { children: r.formatMessage({
240
240
  id: "input.position",
241
241
  defaultMessage: "Your position"
@@ -255,7 +255,7 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
255
255
  {
256
256
  className: x(n.argumentTextInputBox, {
257
257
  [n.argumentTextInputBoxisTablet]: !m,
258
- [n.replyEditorRow]: u
258
+ [n.replyEditorRow]: d
259
259
  }),
260
260
  children: [
261
261
  /* @__PURE__ */ s(
@@ -263,22 +263,22 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
263
263
  {
264
264
  className: x(n.argumentAuthorContainer, {
265
265
  [n.argumentAuthorContainerMobile]: m,
266
- [n.argumentAuthorContainerActivated]: !m && C || u
266
+ [n.argumentAuthorContainerActivated]: !m && w || d
267
267
  }),
268
- children: !m && C || u ? /* @__PURE__ */ s(
268
+ children: !m && w || d ? /* @__PURE__ */ s(
269
269
  et,
270
270
  {
271
- avatarUrl: d.image_url,
272
- userName: d.full_name,
271
+ avatarUrl: u.image_url,
272
+ userName: u.full_name,
273
273
  size: me
274
274
  }
275
275
  ) : /* @__PURE__ */ s(
276
276
  tt,
277
277
  {
278
- fullName: d?.full_name || r.formatMessage({ id: "default_author.full_name" }),
279
- avatarUrl: d?.image_url,
280
- points: d?.points || 0,
281
- slug: d?.hash_id
278
+ fullName: u?.full_name || r.formatMessage({ id: "default_author.full_name" }),
279
+ avatarUrl: u?.image_url,
280
+ points: u?.points || 0,
281
+ slug: u?.hash_id
282
282
  }
283
283
  )
284
284
  }
@@ -286,10 +286,10 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
286
286
  /* @__PURE__ */ _(
287
287
  "div",
288
288
  {
289
- onClick: R,
289
+ onClick: j,
290
290
  "data-testid": "argument-input",
291
291
  className: x(n.textEditorBox, {
292
- [n.replyTextEditorBox]: u
292
+ [n.replyTextEditorBox]: d
293
293
  }),
294
294
  children: [
295
295
  /* @__PURE__ */ s(
@@ -307,24 +307,24 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
307
307
  defaultMessage: "Message input field"
308
308
  }),
309
309
  onSubmit: Le,
310
- sources: V,
310
+ sources: U,
311
311
  hideSourceAction: fe || f,
312
312
  uid: `Argument${v}`,
313
- onActivation: R,
314
- showStylesControls: C,
315
- disabled: j || f || ie,
313
+ onActivation: j,
314
+ showStylesControls: w,
315
+ disabled: z || f || ie,
316
316
  maxLength: f ? !1 : h?.actions?.argumentMaxLength,
317
317
  disableRichText: h?.actions?.disableRichText || f,
318
- shortBar: u,
318
+ shortBar: d,
319
319
  hideSubmit: f,
320
320
  allowedDomains: h?.allowed_sources,
321
- active: F,
321
+ active: P,
322
322
  hideCharCount: Me,
323
323
  disableAutoActivate: ve
324
324
  }
325
325
  ),
326
326
  B?.content && /* @__PURE__ */ s("div", { className: n.argumentInputWarning, children: B && Object.values(B).map((e, t) => /* @__PURE__ */ s("div", { children: e }, t)) }),
327
- C && y?.find(
327
+ w && N?.find(
328
328
  (e) => e.id === l
329
329
  ) && /* @__PURE__ */ _(
330
330
  "div",
@@ -347,7 +347,7 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
347
347
  ]
348
348
  }
349
349
  ),
350
- C && J && !_e && /* @__PURE__ */ s("div", { className: n.guideMessage, children: /* @__PURE__ */ s(
350
+ w && K && !_e && /* @__PURE__ */ s("div", { className: n.guideMessage, children: /* @__PURE__ */ s(
351
351
  ce,
352
352
  {
353
353
  id: "alert.guide_message",
@@ -357,7 +357,7 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
357
357
  "a",
358
358
  {
359
359
  className: n.guideMessage,
360
- href: J,
360
+ href: K,
361
361
  target: "_blank",
362
362
  rel: "noreferrer",
363
363
  children: /* @__PURE__ */ s(
@@ -384,5 +384,5 @@ const st = We(() => import("../../modal/side_modal/index.js").then((N) => ({ def
384
384
  ] });
385
385
  };
386
386
  export {
387
- Nt as ArgumentInput
387
+ yt as ArgumentInput
388
388
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logora/debate",
3
- "version": "0.3.51",
3
+ "version": "0.3.53",
4
4
  "type": "module",
5
5
  "license": "AGPL-3.0",
6
6
  "description": "Design system of @Logora made with React",