@paro.io/expert-shared-components 1.12.22 → 1.12.23

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.
@@ -91,7 +91,7 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
91
91
  projectSectionsData.forEach(section => {
92
92
  section.tasks.forEach(task => {
93
93
  if (section.disputeType !== 'Hourly') {
94
- initialAdjustedHours[task.projectHourId] = {
94
+ initialAdjustedHours[`${section.projectId}-${task.projectHourId}`] = {
95
95
  originalAmount: parseFloat((task.hours * task.rate).toFixed(2)),
96
96
  newAmount: parseFloat((task.hours * task.rate).toFixed(2)),
97
97
  originalHours: parseFloat(task.hours.toFixed(2)),
@@ -99,7 +99,7 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
99
99
  };
100
100
  }
101
101
  else {
102
- initialAdjustedHours[task.projectHourId] = {
102
+ initialAdjustedHours[`${section.projectId}-${task.projectHourId}`] = {
103
103
  originalHours: parseFloat(task.hours.toFixed(2)),
104
104
  newHours: parseFloat(task.hours.toFixed(2))
105
105
  };
@@ -150,7 +150,7 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
150
150
  if (!section)
151
151
  return 0;
152
152
  return section.tasks.reduce((total, task) => {
153
- const adjustment = adjustedHours[task.projectHourId];
153
+ const adjustment = adjustedHours[`${projectId}-${task.projectHourId}`];
154
154
  if (!adjustment)
155
155
  return total;
156
156
  return total + (type === 'original' ? adjustment.originalHours || 0 : adjustment.newHours || 0);
@@ -161,7 +161,7 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
161
161
  if (!section)
162
162
  return 0;
163
163
  return section.tasks.reduce((total, task) => {
164
- const adjustment = adjustedHours[task.projectHourId];
164
+ const adjustment = adjustedHours[`${projectId}-${task.projectHourId}`];
165
165
  if (!adjustment)
166
166
  return total;
167
167
  const newAmount = type === 'original' ? adjustment.originalAmount || 0 : adjustment.newAmount || 0;
@@ -194,24 +194,25 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
194
194
  section.tasks.forEach(task => {
195
195
  var _a, _b, _c, _d;
196
196
  const projectHourId = task.projectHourId;
197
- const originalHours = ((_a = adjustedHours[projectHourId]) === null || _a === void 0 ? void 0 : _a.originalHours) || 0;
198
- const newHours = (_b = adjustedHours[projectHourId]) === null || _b === void 0 ? void 0 : _b.newHours;
199
- const newAmount = (_c = adjustedHours[projectHourId]) === null || _c === void 0 ? void 0 : _c.newAmount;
200
- const originalAmount = ((_d = adjustedHours[projectHourId]) === null || _d === void 0 ? void 0 : _d.originalAmount) || 0;
197
+ const key = `${projectId}-${projectHourId}`;
198
+ const originalHours = ((_a = adjustedHours[key]) === null || _a === void 0 ? void 0 : _a.originalHours) || 0;
199
+ const newHours = (_b = adjustedHours[key]) === null || _b === void 0 ? void 0 : _b.newHours;
200
+ const newAmount = (_c = adjustedHours[key]) === null || _c === void 0 ? void 0 : _c.newAmount;
201
+ const originalAmount = ((_d = adjustedHours[key]) === null || _d === void 0 ? void 0 : _d.originalAmount) || 0;
201
202
  if (newHours && newHours > originalHours) {
202
- newErrors[projectHourId] = 'New hours cannot exceed original hours';
203
+ newErrors[key] = 'New hours cannot exceed original hours';
203
204
  hasErrors = true;
204
205
  }
205
206
  else if (newHours && newHours < 0) {
206
- newErrors[projectHourId] = 'Hours cannot be negative';
207
+ newErrors[key] = 'Hours cannot be negative';
207
208
  hasErrors = true;
208
209
  }
209
210
  else if (newAmount && newAmount < 0) {
210
- newErrors[projectHourId] = 'Dispute Amount cannot be negative';
211
+ newErrors[key] = 'Dispute Amount cannot be negative';
211
212
  hasErrors = true;
212
213
  }
213
214
  else if (newAmount && newAmount > originalAmount) {
214
- newErrors[projectHourId] = 'New Dispute Amount cannot exceed original Amount';
215
+ newErrors[key] = 'New Dispute Amount cannot exceed original Amount';
215
216
  hasErrors = true;
216
217
  }
217
218
  });
@@ -231,7 +232,8 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
231
232
  projectSections.forEach(section => {
232
233
  section.tasks.forEach(task => {
233
234
  const projectHourId = task.projectHourId;
234
- const adjustedHour = adjustedHours[projectHourId];
235
+ const key = `${section.projectId}-${projectHourId}`;
236
+ const adjustedHour = adjustedHours[key];
235
237
  const newHours = adjustedHour === null || adjustedHour === void 0 ? void 0 : adjustedHour.newHours;
236
238
  freelancerRate = task.freelancerRate;
237
239
  let calculatedHours = newHours || 0;
@@ -375,10 +377,10 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
375
377
  const projectHourId = task.projectHourId;
376
378
  const originalHours = task.hours;
377
379
  const originalAmount = task.hours * task.rate;
378
- const newHours = (_a = adjustedHours[projectHourId]) === null || _a === void 0 ? void 0 : _a.newHours;
379
- const newAmount = (_b = adjustedHours[projectHourId]) === null || _b === void 0 ? void 0 : _b.newAmount;
380
- const hasError = errors[projectHourId];
381
- return (react_1.default.createElement("tr", { key: projectHourId, className: hasError ? 'bg-red-50' : '' },
380
+ const newHours = (_a = adjustedHours[`${section.projectId}-${projectHourId}`]) === null || _a === void 0 ? void 0 : _a.newHours;
381
+ const newAmount = (_b = adjustedHours[`${section.projectId}-${projectHourId}`]) === null || _b === void 0 ? void 0 : _b.newAmount;
382
+ const hasError = errors[`${section.projectId}-${projectHourId}`];
383
+ return (react_1.default.createElement("tr", { key: `${section.projectId}-${projectHourId}`, className: hasError ? 'bg-red-50' : '' },
382
384
  react_1.default.createElement("td", { className: "border border-gray-300 px-4 py-2" }, formatDate(task.date)),
383
385
  react_1.default.createElement("td", { className: "border border-gray-300 px-4 py-2" }, task.description),
384
386
  react_1.default.createElement("td", { className: "border border-gray-300 px-4 py-2" }, section.disputeType === 'Hourly'
@@ -386,9 +388,9 @@ const ProjectHoursAdjustmentModal = ({ isOpen, onClose, disputeProjects, dispute
386
388
  : `$${((_c = section.disputeAmount) === null || _c === void 0 ? void 0 : _c.toFixed(2)) || '0.00'}`),
387
389
  react_1.default.createElement("td", { className: "border border-gray-300 px-4 py-2" },
388
390
  react_1.default.createElement("div", null,
389
- section.disputeType === 'Hourly' ? (react_1.default.createElement("input", { type: "number", step: "1", max: originalHours, value: newHours !== undefined && newHours >= 0 ? newHours : '', onChange: (e) => handleHourChange(projectHourId, e.target.value), className: `w-full px-2 py-1 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500 ${hasError ? 'border-red-500' : 'border-gray-300'}` })) : (react_1.default.createElement("div", { className: "flex items-center" },
391
+ section.disputeType === 'Hourly' ? (react_1.default.createElement("input", { type: "number", step: "1", max: originalHours, value: newHours !== undefined && newHours >= 0 ? newHours : '', onChange: (e) => handleHourChange(`${section.projectId}-${task.projectHourId}`, e.target.value), className: `w-full px-2 py-1 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500 ${hasError ? 'border-red-500' : 'border-gray-300'}` })) : (react_1.default.createElement("div", { className: "flex items-center" },
390
392
  react_1.default.createElement("span", { className: "mr-1" }, "$"),
391
- react_1.default.createElement("input", { type: "number", step: "1", min: "0", max: originalAmount, value: newAmount !== undefined && newAmount >= 0 ? newAmount : '', onChange: (e) => handleAmountChange(projectHourId, (e.target.value).toString()), className: `w-32 px-2 py-1 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500 ${hasError ? 'border-red-500' : 'border-gray-300'}`, placeholder: "$0.00" }))),
393
+ react_1.default.createElement("input", { type: "number", step: "1", min: "0", max: originalAmount, value: newAmount !== undefined && newAmount >= 0 ? newAmount : '', onChange: (e) => handleAmountChange(`${section.projectId}-${task.projectHourId}`, (e.target.value).toString()), className: `w-32 px-2 py-1 border rounded focus:outline-none focus:ring-2 focus:ring-blue-500 ${hasError ? 'border-red-500' : 'border-gray-300'}`, placeholder: "$0.00" }))),
392
394
  hasError && (react_1.default.createElement("div", { className: "text-red-500 text-xs mt-1" }, hasError))))));
393
395
  }))))));
394
396
  })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paro.io/expert-shared-components",
3
- "version": "1.12.22",
3
+ "version": "1.12.23",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {