@replyke/core 7.0.0-beta.22 → 7.0.0-beta.24

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 (140) hide show
  1. package/dist/cjs/hooks/comments/index.d.ts +0 -1
  2. package/dist/cjs/hooks/comments/index.js +1 -3
  3. package/dist/cjs/hooks/comments/index.js.map +1 -1
  4. package/dist/cjs/hooks/comments/useCommentSectionData.js +10 -0
  5. package/dist/cjs/hooks/comments/useCommentSectionData.js.map +1 -1
  6. package/dist/cjs/hooks/entities/index.d.ts +0 -5
  7. package/dist/cjs/hooks/entities/index.js +1 -11
  8. package/dist/cjs/hooks/entities/index.js.map +1 -1
  9. package/dist/cjs/hooks/entities/useEntityData.d.ts +0 -6
  10. package/dist/cjs/hooks/entities/useEntityData.js +0 -11
  11. package/dist/cjs/hooks/entities/useEntityData.js.map +1 -1
  12. package/dist/cjs/hooks/reactions/index.d.ts +10 -0
  13. package/dist/cjs/hooks/reactions/index.js +21 -0
  14. package/dist/cjs/hooks/reactions/index.js.map +1 -0
  15. package/dist/cjs/hooks/reactions/useAddReaction.d.ts +9 -0
  16. package/dist/cjs/hooks/{comments/useDownvoteComment.js → reactions/useAddReaction.js} +19 -13
  17. package/dist/cjs/hooks/reactions/useAddReaction.js.map +1 -0
  18. package/dist/cjs/hooks/reactions/useFetchCommentReactions.d.ts +10 -0
  19. package/dist/cjs/hooks/{comments/useRemoveCommentUpvote.js → reactions/useFetchCommentReactions.js} +26 -13
  20. package/dist/cjs/hooks/reactions/useFetchCommentReactions.js.map +1 -0
  21. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.d.ts +17 -0
  22. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.js +170 -0
  23. package/dist/cjs/hooks/reactions/useFetchCommentReactionsWrapper.js.map +1 -0
  24. package/dist/cjs/hooks/reactions/useFetchEntityReactions.d.ts +10 -0
  25. package/dist/cjs/hooks/{entities/useDownvoteEntity.js → reactions/useFetchEntityReactions.js} +26 -13
  26. package/dist/cjs/hooks/reactions/useFetchEntityReactions.js.map +1 -0
  27. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.d.ts +17 -0
  28. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.js +170 -0
  29. package/dist/cjs/hooks/reactions/useFetchEntityReactionsWrapper.js.map +1 -0
  30. package/dist/cjs/hooks/reactions/useReactionToggle.d.ts +9 -0
  31. package/dist/cjs/hooks/{comments/useUpvoteComment.js → reactions/useReactionToggle.js} +40 -23
  32. package/dist/cjs/hooks/reactions/useReactionToggle.js.map +1 -0
  33. package/dist/cjs/hooks/reactions/useRemoveReaction.d.ts +7 -0
  34. package/dist/cjs/hooks/{comments/useRemoveCommentDownvote.js → reactions/useRemoveReaction.js} +16 -13
  35. package/dist/cjs/hooks/reactions/useRemoveReaction.js.map +1 -0
  36. package/dist/cjs/index.d.ts +4 -2
  37. package/dist/cjs/index.js +12 -9
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/interfaces/models/Comment.d.ts +3 -0
  40. package/dist/cjs/interfaces/models/Entity.d.ts +5 -1
  41. package/dist/cjs/interfaces/models/Reaction.d.ts +23 -0
  42. package/dist/cjs/interfaces/models/Reaction.js +3 -0
  43. package/dist/cjs/interfaces/models/Reaction.js.map +1 -0
  44. package/dist/cjs/store/slices/entityListsSlice.d.ts +144 -0
  45. package/dist/esm/hooks/comments/index.d.ts +0 -1
  46. package/dist/esm/hooks/comments/index.js +0 -1
  47. package/dist/esm/hooks/comments/index.js.map +1 -1
  48. package/dist/esm/hooks/comments/useCommentSectionData.js +10 -0
  49. package/dist/esm/hooks/comments/useCommentSectionData.js.map +1 -1
  50. package/dist/esm/hooks/entities/index.d.ts +0 -5
  51. package/dist/esm/hooks/entities/index.js +0 -5
  52. package/dist/esm/hooks/entities/index.js.map +1 -1
  53. package/dist/esm/hooks/entities/useEntityData.d.ts +0 -6
  54. package/dist/esm/hooks/entities/useEntityData.js +0 -11
  55. package/dist/esm/hooks/entities/useEntityData.js.map +1 -1
  56. package/dist/esm/hooks/reactions/index.d.ts +10 -0
  57. package/dist/esm/hooks/reactions/index.js +8 -0
  58. package/dist/esm/hooks/reactions/index.js.map +1 -0
  59. package/dist/esm/hooks/reactions/useAddReaction.d.ts +9 -0
  60. package/dist/esm/hooks/{comments/useDownvoteComment.js → reactions/useAddReaction.js} +19 -13
  61. package/dist/esm/hooks/reactions/useAddReaction.js.map +1 -0
  62. package/dist/esm/hooks/reactions/useFetchCommentReactions.d.ts +10 -0
  63. package/dist/esm/hooks/{comments/useRemoveCommentUpvote.js → reactions/useFetchCommentReactions.js} +26 -13
  64. package/dist/esm/hooks/reactions/useFetchCommentReactions.js.map +1 -0
  65. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.d.ts +17 -0
  66. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.js +165 -0
  67. package/dist/esm/hooks/reactions/useFetchCommentReactionsWrapper.js.map +1 -0
  68. package/dist/esm/hooks/reactions/useFetchEntityReactions.d.ts +10 -0
  69. package/dist/esm/hooks/{entities/useDownvoteEntity.js → reactions/useFetchEntityReactions.js} +26 -13
  70. package/dist/esm/hooks/reactions/useFetchEntityReactions.js.map +1 -0
  71. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.d.ts +17 -0
  72. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.js +165 -0
  73. package/dist/esm/hooks/reactions/useFetchEntityReactionsWrapper.js.map +1 -0
  74. package/dist/esm/hooks/reactions/useReactionToggle.d.ts +9 -0
  75. package/dist/esm/hooks/reactions/useReactionToggle.js +83 -0
  76. package/dist/esm/hooks/reactions/useReactionToggle.js.map +1 -0
  77. package/dist/esm/hooks/reactions/useRemoveReaction.d.ts +7 -0
  78. package/dist/esm/hooks/{comments/useRemoveCommentDownvote.js → reactions/useRemoveReaction.js} +16 -13
  79. package/dist/esm/hooks/reactions/useRemoveReaction.js.map +1 -0
  80. package/dist/esm/index.d.ts +4 -2
  81. package/dist/esm/index.js +4 -2
  82. package/dist/esm/index.js.map +1 -1
  83. package/dist/esm/interfaces/models/Comment.d.ts +3 -0
  84. package/dist/esm/interfaces/models/Entity.d.ts +5 -1
  85. package/dist/esm/interfaces/models/Reaction.d.ts +23 -0
  86. package/dist/esm/interfaces/models/Reaction.js +2 -0
  87. package/dist/esm/interfaces/models/Reaction.js.map +1 -0
  88. package/dist/esm/store/slices/entityListsSlice.d.ts +144 -0
  89. package/package.json +1 -1
  90. package/dist/cjs/hooks/comments/useCommentVotes.d.ts +0 -13
  91. package/dist/cjs/hooks/comments/useCommentVotes.js +0 -241
  92. package/dist/cjs/hooks/comments/useCommentVotes.js.map +0 -1
  93. package/dist/cjs/hooks/comments/useDownvoteComment.d.ts +0 -5
  94. package/dist/cjs/hooks/comments/useDownvoteComment.js.map +0 -1
  95. package/dist/cjs/hooks/comments/useRemoveCommentDownvote.d.ts +0 -5
  96. package/dist/cjs/hooks/comments/useRemoveCommentDownvote.js.map +0 -1
  97. package/dist/cjs/hooks/comments/useRemoveCommentUpvote.d.ts +0 -5
  98. package/dist/cjs/hooks/comments/useRemoveCommentUpvote.js.map +0 -1
  99. package/dist/cjs/hooks/comments/useUpvoteComment.d.ts +0 -5
  100. package/dist/cjs/hooks/comments/useUpvoteComment.js.map +0 -1
  101. package/dist/cjs/hooks/entities/useDownvoteEntity.d.ts +0 -5
  102. package/dist/cjs/hooks/entities/useDownvoteEntity.js.map +0 -1
  103. package/dist/cjs/hooks/entities/useEntityVotes.d.ts +0 -13
  104. package/dist/cjs/hooks/entities/useEntityVotes.js +0 -250
  105. package/dist/cjs/hooks/entities/useEntityVotes.js.map +0 -1
  106. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.d.ts +0 -5
  107. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.js +0 -71
  108. package/dist/cjs/hooks/entities/useRemoveEntityDownvote.js.map +0 -1
  109. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.d.ts +0 -5
  110. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.js +0 -71
  111. package/dist/cjs/hooks/entities/useRemoveEntityUpvote.js.map +0 -1
  112. package/dist/cjs/hooks/entities/useUpvoteEntity.d.ts +0 -5
  113. package/dist/cjs/hooks/entities/useUpvoteEntity.js +0 -71
  114. package/dist/cjs/hooks/entities/useUpvoteEntity.js.map +0 -1
  115. package/dist/esm/hooks/comments/useCommentVotes.d.ts +0 -13
  116. package/dist/esm/hooks/comments/useCommentVotes.js +0 -236
  117. package/dist/esm/hooks/comments/useCommentVotes.js.map +0 -1
  118. package/dist/esm/hooks/comments/useDownvoteComment.d.ts +0 -5
  119. package/dist/esm/hooks/comments/useDownvoteComment.js.map +0 -1
  120. package/dist/esm/hooks/comments/useRemoveCommentDownvote.d.ts +0 -5
  121. package/dist/esm/hooks/comments/useRemoveCommentDownvote.js.map +0 -1
  122. package/dist/esm/hooks/comments/useRemoveCommentUpvote.d.ts +0 -5
  123. package/dist/esm/hooks/comments/useRemoveCommentUpvote.js.map +0 -1
  124. package/dist/esm/hooks/comments/useUpvoteComment.d.ts +0 -5
  125. package/dist/esm/hooks/comments/useUpvoteComment.js +0 -66
  126. package/dist/esm/hooks/comments/useUpvoteComment.js.map +0 -1
  127. package/dist/esm/hooks/entities/useDownvoteEntity.d.ts +0 -5
  128. package/dist/esm/hooks/entities/useDownvoteEntity.js.map +0 -1
  129. package/dist/esm/hooks/entities/useEntityVotes.d.ts +0 -13
  130. package/dist/esm/hooks/entities/useEntityVotes.js +0 -245
  131. package/dist/esm/hooks/entities/useEntityVotes.js.map +0 -1
  132. package/dist/esm/hooks/entities/useRemoveEntityDownvote.d.ts +0 -5
  133. package/dist/esm/hooks/entities/useRemoveEntityDownvote.js +0 -66
  134. package/dist/esm/hooks/entities/useRemoveEntityDownvote.js.map +0 -1
  135. package/dist/esm/hooks/entities/useRemoveEntityUpvote.d.ts +0 -5
  136. package/dist/esm/hooks/entities/useRemoveEntityUpvote.js +0 -66
  137. package/dist/esm/hooks/entities/useRemoveEntityUpvote.js.map +0 -1
  138. package/dist/esm/hooks/entities/useUpvoteEntity.d.ts +0 -5
  139. package/dist/esm/hooks/entities/useUpvoteEntity.js +0 -66
  140. package/dist/esm/hooks/entities/useUpvoteEntity.js.map +0 -1
@@ -1,241 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- var react_1 = require("react");
63
- var handleError_1 = require("../../utils/handleError");
64
- var user_1 = require("../user");
65
- // Import the communication hooks
66
- var useUpvoteComment_1 = __importDefault(require("./useUpvoteComment"));
67
- var useRemoveCommentUpvote_1 = __importDefault(require("./useRemoveCommentUpvote"));
68
- var useDownvoteComment_1 = __importDefault(require("./useDownvoteComment"));
69
- var useRemoveCommentDownvote_1 = __importDefault(require("./useRemoveCommentDownvote"));
70
- function useCommentVotes(props) {
71
- var _this = this;
72
- var user = (0, user_1.useUser)().user;
73
- var comment = props.comment, setComment = props.setComment;
74
- // Save the previous state in case we need to revert
75
- var _a = (0, react_1.useState)(comment), previousComment = _a[0], setPreviousComment = _a[1];
76
- var _b = (0, react_1.useState)(false), isUpdating = _b[0], setIsUpdating = _b[1];
77
- // Compute current user's vote state
78
- var userUpvotedComment = !!((user === null || user === void 0 ? void 0 : user.id) &&
79
- comment.upvotes.includes(user.id));
80
- var userDownvotedComment = !!((user === null || user === void 0 ? void 0 : user.id) &&
81
- comment.downvotes.includes(user.id));
82
- // Helper to update state and remember the previous value
83
- var updateCommentState = function (newCommentState) {
84
- setPreviousComment(comment);
85
- setComment(newCommentState);
86
- };
87
- var revertToPreviousState = (0, react_1.useCallback)(function () {
88
- setComment(previousComment);
89
- }, [previousComment, setComment]);
90
- // Get our request functions from the extracted hooks
91
- var upvoteCommentRequest = (0, useUpvoteComment_1.default)();
92
- var removeUpvoteRequest = (0, useRemoveCommentUpvote_1.default)();
93
- var downvoteCommentRequest = (0, useDownvoteComment_1.default)();
94
- var removeDownvoteRequest = (0, useRemoveCommentDownvote_1.default)();
95
- var handleUpvote = function () { return __awaiter(_this, void 0, void 0, function () {
96
- var updatedComment, err_1;
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- if (!user)
101
- throw new Error("No authenticated user");
102
- if (isUpdating)
103
- return [2 /*return*/];
104
- // Optimistic update: add upvote and remove any downvote from the user
105
- updateCommentState(__assign(__assign({}, comment), { upvotes: __spreadArray(__spreadArray([], comment.upvotes, true), [user.id], false), downvotes: comment.downvotes.filter(function (id) { return id !== user.id; }) }));
106
- setIsUpdating(true);
107
- _a.label = 1;
108
- case 1:
109
- _a.trys.push([1, 3, 4, 5]);
110
- return [4 /*yield*/, upvoteCommentRequest({
111
- commentId: comment.id,
112
- })];
113
- case 2:
114
- updatedComment = _a.sent();
115
- setComment(updatedComment);
116
- return [3 /*break*/, 5];
117
- case 3:
118
- err_1 = _a.sent();
119
- revertToPreviousState();
120
- (0, handleError_1.handleError)(err_1, "Failed to update comment vote: ");
121
- return [3 /*break*/, 5];
122
- case 4:
123
- setIsUpdating(false);
124
- return [7 /*endfinally*/];
125
- case 5: return [2 /*return*/];
126
- }
127
- });
128
- }); };
129
- var handleRemoveUpvote = function () { return __awaiter(_this, void 0, void 0, function () {
130
- var updatedComment, err_2;
131
- return __generator(this, function (_a) {
132
- switch (_a.label) {
133
- case 0:
134
- if (!user)
135
- throw new Error("No authenticated user");
136
- if (isUpdating)
137
- return [2 /*return*/];
138
- // Optimistic update: remove the user's upvote
139
- updateCommentState(__assign(__assign({}, comment), { upvotes: comment.upvotes.filter(function (id) { return id !== user.id; }) }));
140
- setIsUpdating(true);
141
- _a.label = 1;
142
- case 1:
143
- _a.trys.push([1, 3, 4, 5]);
144
- return [4 /*yield*/, removeUpvoteRequest({
145
- commentId: comment.id,
146
- })];
147
- case 2:
148
- updatedComment = _a.sent();
149
- setComment(updatedComment);
150
- return [3 /*break*/, 5];
151
- case 3:
152
- err_2 = _a.sent();
153
- revertToPreviousState();
154
- (0, handleError_1.handleError)(err_2, "Failed to remove upvote from comment: ");
155
- return [3 /*break*/, 5];
156
- case 4:
157
- setIsUpdating(false);
158
- return [7 /*endfinally*/];
159
- case 5: return [2 /*return*/];
160
- }
161
- });
162
- }); };
163
- var handleDownvote = function () { return __awaiter(_this, void 0, void 0, function () {
164
- var updatedComment, err_3;
165
- return __generator(this, function (_a) {
166
- switch (_a.label) {
167
- case 0:
168
- if (!user)
169
- throw new Error("No authenticated user");
170
- if (isUpdating)
171
- return [2 /*return*/];
172
- // Optimistic update: add downvote and remove any upvote from the user
173
- updateCommentState(__assign(__assign({}, comment), { downvotes: __spreadArray(__spreadArray([], comment.downvotes, true), [user.id], false), upvotes: comment.upvotes.filter(function (id) { return id !== user.id; }) }));
174
- setIsUpdating(true);
175
- _a.label = 1;
176
- case 1:
177
- _a.trys.push([1, 3, 4, 5]);
178
- return [4 /*yield*/, downvoteCommentRequest({
179
- commentId: comment.id,
180
- })];
181
- case 2:
182
- updatedComment = _a.sent();
183
- setComment(updatedComment);
184
- return [3 /*break*/, 5];
185
- case 3:
186
- err_3 = _a.sent();
187
- revertToPreviousState();
188
- (0, handleError_1.handleError)(err_3, "Failed to update comment vote: ");
189
- return [3 /*break*/, 5];
190
- case 4:
191
- setIsUpdating(false);
192
- return [7 /*endfinally*/];
193
- case 5: return [2 /*return*/];
194
- }
195
- });
196
- }); };
197
- var handleRemoveDownvote = function () { return __awaiter(_this, void 0, void 0, function () {
198
- var updatedComment, err_4;
199
- return __generator(this, function (_a) {
200
- switch (_a.label) {
201
- case 0:
202
- if (!user)
203
- throw new Error("No authenticated user");
204
- if (isUpdating)
205
- return [2 /*return*/];
206
- // Optimistic update: remove the user's downvote
207
- updateCommentState(__assign(__assign({}, comment), { downvotes: comment.downvotes.filter(function (id) { return id !== user.id; }) }));
208
- setIsUpdating(true);
209
- _a.label = 1;
210
- case 1:
211
- _a.trys.push([1, 3, 4, 5]);
212
- return [4 /*yield*/, removeDownvoteRequest({
213
- commentId: comment.id,
214
- })];
215
- case 2:
216
- updatedComment = _a.sent();
217
- setComment(updatedComment);
218
- return [3 /*break*/, 5];
219
- case 3:
220
- err_4 = _a.sent();
221
- revertToPreviousState();
222
- (0, handleError_1.handleError)(err_4, "Failed to remove downvote from comment: ");
223
- return [3 /*break*/, 5];
224
- case 4:
225
- setIsUpdating(false);
226
- return [7 /*endfinally*/];
227
- case 5: return [2 /*return*/];
228
- }
229
- });
230
- }); };
231
- return {
232
- userUpvotedComment: userUpvotedComment,
233
- userDownvotedComment: userDownvotedComment,
234
- upvoteComment: handleUpvote,
235
- removeCommentUpvote: handleRemoveUpvote,
236
- downvoteComment: handleDownvote,
237
- removeCommentDownvote: handleRemoveDownvote,
238
- };
239
- }
240
- exports.default = useCommentVotes;
241
- //# sourceMappingURL=useCommentVotes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommentVotes.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useCommentVotes.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Comment } from "../../interfaces/models/Comment";
2
- declare function useDownvoteComment(): ({ commentId }: {
3
- commentId: string;
4
- }) => Promise<Comment>;
5
- export default useDownvoteComment;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDownvoteComment.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useDownvoteComment.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAGhD,SAAS,kBAAkB;IAA3B,iBAqBC;IApBC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,gEAAO,EAAoC;;YAAlC,SAAS,eAAA;;;;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,uBAAa,SAAS,cAAW,CAC/C,EAAA;;oBAFK,QAAQ,GAAG,SAEhB;oBACD,sBAAO,QAAQ,CAAC,IAAe,EAAC;;;SACjC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Comment } from "../../interfaces/models/Comment";
2
- declare function useRemoveCommentDownvote(): ({ commentId }: {
3
- commentId: string;
4
- }) => Promise<Comment>;
5
- export default useRemoveCommentDownvote;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRemoveCommentDownvote.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useRemoveCommentDownvote.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAGhD,SAAS,wBAAwB;IAAjC,iBAqBC;IApBC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,gEAAO,EAAoC;;YAAlC,SAAS,eAAA;;;;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,uBAAa,SAAS,qBAAkB,CACtD,EAAA;;oBAFK,QAAQ,GAAG,SAEhB;oBACD,sBAAO,QAAQ,CAAC,IAAe,EAAC;;;SACjC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,kBAAe,wBAAwB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Comment } from "../../interfaces/models/Comment";
2
- declare function useRemoveCommentUpvote(): ({ commentId }: {
3
- commentId: string;
4
- }) => Promise<Comment>;
5
- export default useRemoveCommentUpvote;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRemoveCommentUpvote.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useRemoveCommentUpvote.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAGhD,SAAS,sBAAsB;IAA/B,iBAqBC;IApBC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,gEAAO,EAAoC;;YAAlC,SAAS,eAAA;;;;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,uBAAa,SAAS,mBAAgB,CACpD,EAAA;;oBAFK,QAAQ,GAAG,SAEhB;oBACD,sBAAO,QAAQ,CAAC,IAAe,EAAC;;;SACjC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,kBAAe,sBAAsB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Comment } from "../../interfaces/models/Comment";
2
- declare function useUpvoteComment(): ({ commentId }: {
3
- commentId: string;
4
- }) => Promise<Comment>;
5
- export default useUpvoteComment;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpvoteComment.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useUpvoteComment.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAGhD,SAAS,gBAAgB;IAAzB,iBAqBC;IApBC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,gEAAO,EAAoC;;YAAlC,SAAS,eAAA;;;;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;oBACgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,uBAAa,SAAS,YAAS,CAC7C,EAAA;;oBAFK,QAAQ,GAAG,SAEhB;oBACD,sBAAO,QAAQ,CAAC,IAAe,EAAC;;;SACjC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Entity } from "../../interfaces/models/Entity";
2
- declare function useDownvoteEntity(): ({ entityId }: {
3
- entityId: string;
4
- }) => Promise<Entity>;
5
- export default useDownvoteEntity;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDownvoteEntity.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useDownvoteEntity.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAoC;AACpC,iFAA2D;AAC3D,sEAAgD;AAGhD,SAAS,iBAAiB;IAA1B,iBAuBC;IAtBC,IAAM,KAAK,GAAG,IAAA,yBAAe,GAAE,CAAC;IACxB,IAAA,SAAS,GAAK,IAAA,oBAAU,GAAE,UAAjB,CAAkB;IAEnC,IAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,gEAAO,EAAkC;;YAAhC,QAAQ,cAAA;;;;oBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,CAAC;oBACgB,qBAAM,KAAK,CAAC,KAAK,CAChC,WAAI,SAAS,uBAAa,QAAQ,cAAW,EAC7C,EAAE,EACF,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,EAAA;;oBAJK,QAAQ,GAAG,SAIhB;oBACD,sBAAO,QAAQ,CAAC,IAAc,EAAC;;;SAChC,EACD,CAAC,KAAK,EAAE,SAAS,CAAC,CACnB,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Entity } from "../../interfaces/models/Entity";
2
- declare function useEntityVotes(props: {
3
- entity: Entity | undefined | null;
4
- setEntity: React.Dispatch<React.SetStateAction<Entity | undefined | null>>;
5
- }): {
6
- userUpvotedEntity: boolean;
7
- userDownvotedEntity: boolean;
8
- upvoteEntity: () => Promise<void>;
9
- removeEntityUpvote: () => Promise<void>;
10
- downvoteEntity: () => Promise<void>;
11
- removeEntityDownvote: () => Promise<void>;
12
- };
13
- export default useEntityVotes;
@@ -1,250 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- var react_1 = require("react");
63
- var handleError_1 = require("../../utils/handleError");
64
- var user_1 = require("../user");
65
- // Import the API communication hooks
66
- var useUpvoteEntity_1 = __importDefault(require("./useUpvoteEntity"));
67
- var useRemoveEntityUpvote_1 = __importDefault(require("./useRemoveEntityUpvote"));
68
- var useDownvoteEntity_1 = __importDefault(require("./useDownvoteEntity"));
69
- var useRemoveEntityDownvote_1 = __importDefault(require("./useRemoveEntityDownvote"));
70
- function useEntityVotes(props) {
71
- var _this = this;
72
- var user = (0, user_1.useUser)().user;
73
- var entity = props.entity, setEntity = props.setEntity;
74
- var _a = (0, react_1.useState)(false), isUpdating = _a[0], setIsUpdating = _a[1];
75
- var _b = (0, react_1.useState)(entity), previousEntity = _b[0], setPreviousEntity = _b[1];
76
- // Compute current user's vote state
77
- var userUpvotedEntity = !!((entity === null || entity === void 0 ? void 0 : entity.upvotes) &&
78
- (user === null || user === void 0 ? void 0 : user.id) &&
79
- entity.upvotes.includes(user.id));
80
- var userDownvotedEntity = !!((entity === null || entity === void 0 ? void 0 : entity.downvotes) &&
81
- (user === null || user === void 0 ? void 0 : user.id) &&
82
- entity.downvotes.includes(user.id));
83
- // Save the current state for potential reversion on error
84
- var updateEntityState = function (newEntityState) {
85
- setPreviousEntity(entity);
86
- setEntity(newEntityState);
87
- };
88
- var revertToPreviousState = (0, react_1.useCallback)(function () {
89
- setEntity(previousEntity);
90
- }, [previousEntity, setEntity]);
91
- // Get the API request functions from the extracted hooks
92
- var upvoteEntityRequest = (0, useUpvoteEntity_1.default)();
93
- var removeEntityUpvoteRequest = (0, useRemoveEntityUpvote_1.default)();
94
- var downvoteEntityRequest = (0, useDownvoteEntity_1.default)();
95
- var removeEntityDownvoteRequest = (0, useRemoveEntityDownvote_1.default)();
96
- var handleUpvote = function () { return __awaiter(_this, void 0, void 0, function () {
97
- var updatedEntity, err_1;
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0:
101
- if (!user)
102
- throw new Error("No authenticated user");
103
- if (!entity)
104
- throw new Error("No entity provided");
105
- if (isUpdating)
106
- return [2 /*return*/];
107
- // Optimistic update: add user's upvote and remove any downvote from the user
108
- updateEntityState(__assign(__assign({}, entity), { upvotes: __spreadArray(__spreadArray([], (entity.upvotes || []), true), [user.id], false), downvotes: (entity.downvotes || []).filter(function (id) { return id !== user.id; }) }));
109
- setIsUpdating(true);
110
- _a.label = 1;
111
- case 1:
112
- _a.trys.push([1, 3, 4, 5]);
113
- return [4 /*yield*/, upvoteEntityRequest({
114
- entityId: entity.id,
115
- })];
116
- case 2:
117
- updatedEntity = _a.sent();
118
- setEntity(updatedEntity);
119
- return [3 /*break*/, 5];
120
- case 3:
121
- err_1 = _a.sent();
122
- revertToPreviousState();
123
- (0, handleError_1.handleError)(err_1, "Failed to update entity vote: ");
124
- return [3 /*break*/, 5];
125
- case 4:
126
- setIsUpdating(false);
127
- return [7 /*endfinally*/];
128
- case 5: return [2 /*return*/];
129
- }
130
- });
131
- }); };
132
- var handleRemoveUpvote = function () { return __awaiter(_this, void 0, void 0, function () {
133
- var updatedEntity, err_2;
134
- return __generator(this, function (_a) {
135
- switch (_a.label) {
136
- case 0:
137
- if (!user)
138
- throw new Error("No authenticated user");
139
- if (!entity)
140
- throw new Error("No entity provided");
141
- if (isUpdating)
142
- return [2 /*return*/];
143
- // Optimistic update: remove user's upvote
144
- updateEntityState(__assign(__assign({}, entity), { upvotes: (entity.upvotes || []).filter(function (id) { return id !== user.id; }) }));
145
- setIsUpdating(true);
146
- _a.label = 1;
147
- case 1:
148
- _a.trys.push([1, 3, 4, 5]);
149
- return [4 /*yield*/, removeEntityUpvoteRequest({
150
- entityId: entity.id,
151
- })];
152
- case 2:
153
- updatedEntity = _a.sent();
154
- setEntity(updatedEntity);
155
- return [3 /*break*/, 5];
156
- case 3:
157
- err_2 = _a.sent();
158
- revertToPreviousState();
159
- (0, handleError_1.handleError)(err_2, "Failed to remove upvote from entity: ");
160
- return [3 /*break*/, 5];
161
- case 4:
162
- setIsUpdating(false);
163
- return [7 /*endfinally*/];
164
- case 5: return [2 /*return*/];
165
- }
166
- });
167
- }); };
168
- var handleDownvote = function () { return __awaiter(_this, void 0, void 0, function () {
169
- var updatedEntity, err_3;
170
- return __generator(this, function (_a) {
171
- switch (_a.label) {
172
- case 0:
173
- if (!user)
174
- throw new Error("No authenticated user");
175
- if (!entity)
176
- throw new Error("No entity provided");
177
- if (isUpdating)
178
- return [2 /*return*/];
179
- // Optimistic update: add user's downvote and remove any upvote from the user
180
- updateEntityState(__assign(__assign({}, entity), { downvotes: __spreadArray(__spreadArray([], (entity.downvotes || []), true), [user.id], false), upvotes: (entity.upvotes || []).filter(function (id) { return id !== user.id; }) }));
181
- setIsUpdating(true);
182
- _a.label = 1;
183
- case 1:
184
- _a.trys.push([1, 3, 4, 5]);
185
- return [4 /*yield*/, downvoteEntityRequest({
186
- entityId: entity.id,
187
- })];
188
- case 2:
189
- updatedEntity = _a.sent();
190
- setEntity(updatedEntity);
191
- return [3 /*break*/, 5];
192
- case 3:
193
- err_3 = _a.sent();
194
- revertToPreviousState();
195
- (0, handleError_1.handleError)(err_3, "Failed to update entity vote: ");
196
- return [3 /*break*/, 5];
197
- case 4:
198
- setIsUpdating(false);
199
- return [7 /*endfinally*/];
200
- case 5: return [2 /*return*/];
201
- }
202
- });
203
- }); };
204
- var handleRemoveDownvote = function () { return __awaiter(_this, void 0, void 0, function () {
205
- var updatedEntity, err_4;
206
- return __generator(this, function (_a) {
207
- switch (_a.label) {
208
- case 0:
209
- if (!user)
210
- throw new Error("No authenticated user");
211
- if (!entity)
212
- throw new Error("No entity provided");
213
- if (isUpdating)
214
- return [2 /*return*/];
215
- // Optimistic update: remove user's downvote
216
- updateEntityState(__assign(__assign({}, entity), { downvotes: (entity.downvotes || []).filter(function (id) { return id !== user.id; }) }));
217
- setIsUpdating(true);
218
- _a.label = 1;
219
- case 1:
220
- _a.trys.push([1, 3, 4, 5]);
221
- return [4 /*yield*/, removeEntityDownvoteRequest({
222
- entityId: entity.id,
223
- })];
224
- case 2:
225
- updatedEntity = _a.sent();
226
- setEntity(updatedEntity);
227
- return [3 /*break*/, 5];
228
- case 3:
229
- err_4 = _a.sent();
230
- revertToPreviousState();
231
- (0, handleError_1.handleError)(err_4, "Failed to remove downvote from entity: ");
232
- return [3 /*break*/, 5];
233
- case 4:
234
- setIsUpdating(false);
235
- return [7 /*endfinally*/];
236
- case 5: return [2 /*return*/];
237
- }
238
- });
239
- }); };
240
- return {
241
- userUpvotedEntity: userUpvotedEntity,
242
- userDownvotedEntity: userDownvotedEntity,
243
- upvoteEntity: handleUpvote,
244
- removeEntityUpvote: handleRemoveUpvote,
245
- downvoteEntity: handleDownvote,
246
- removeEntityDownvote: handleRemoveDownvote,
247
- };
248
- }
249
- exports.default = useEntityVotes;
250
- //# sourceMappingURL=useEntityVotes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEntityVotes.js","sourceRoot":"","sources":["../../../../src/hooks/entities/useEntityVotes.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Entity } from "../../interfaces/models/Entity";
2
- declare function useRemoveEntityDownvote(): ({ entityId }: {
3
- entityId: string;
4
- }) => Promise<Entity>;
5
- export default useRemoveEntityDownvote;