@paro.io/expert-shared-components 1.4.10 → 1.4.11

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.
@@ -4,10 +4,11 @@ interface LeaveResponseModalProps {
4
4
  responseModal: boolean;
5
5
  setResponseModal: (responseModal: boolean) => void;
6
6
  createOrUpdateRating?: any;
7
- isEditResponse: boolean;
7
+ isEditResponse?: boolean;
8
8
  daysLeft: number;
9
9
  getParoProjectsDocument?: any;
10
10
  clientName?: string;
11
+ updateRouteAfterSubmitResponse?: any;
11
12
  }
12
- declare const LeaveResponseModal: ({ rating, responseModal, setResponseModal, createOrUpdateRating, isEditResponse, daysLeft, getParoProjectsDocument, clientName, }: LeaveResponseModalProps) => React.JSX.Element;
13
+ declare const LeaveResponseModal: ({ rating, responseModal, setResponseModal, createOrUpdateRating, isEditResponse, daysLeft, getParoProjectsDocument, clientName, updateRouteAfterSubmitResponse }: LeaveResponseModalProps) => React.JSX.Element;
13
14
  export default LeaveResponseModal;
@@ -40,7 +40,7 @@ const base_ui_1 = require("@paro.io/base-ui");
40
40
  const core_1 = require("@material-ui/core");
41
41
  const ReviewsTab_1 = require("./ReviewsTab");
42
42
  const dayjs_1 = __importDefault(require("dayjs"));
43
- const LeaveResponseModal = ({ rating, responseModal, setResponseModal, createOrUpdateRating, isEditResponse, daysLeft, getParoProjectsDocument, clientName, }) => {
43
+ const LeaveResponseModal = ({ rating, responseModal, setResponseModal, createOrUpdateRating, isEditResponse, daysLeft, getParoProjectsDocument, clientName, updateRouteAfterSubmitResponse }) => {
44
44
  const [showError, setShowError] = (0, react_1.useState)(false);
45
45
  const [loading, setLoading] = (0, react_1.useState)(false);
46
46
  const placeholderText = (rating === null || rating === void 0 ? void 0 : rating.overallRating) >= 4
@@ -89,6 +89,7 @@ const LeaveResponseModal = ({ rating, responseModal, setResponseModal, createOrU
89
89
  });
90
90
  setLoading(false);
91
91
  setResponseModal(false);
92
+ updateRouteAfterSubmitResponse && updateRouteAfterSubmitResponse();
92
93
  }).catch(() => {
93
94
  (0, ReviewsTab_1.toastNotification)({
94
95
  position: 'top-center',
@@ -105,7 +105,7 @@ const RatingHeader = ({ ratings, project, index, highlightedRatings, requestStat
105
105
  if (projectIdToShow === undefined || projectIdToShow === null) {
106
106
  return;
107
107
  }
108
- if (projectIdToShow >= 0) {
108
+ if (projectIdToShow >= 0 && isClientPortal) {
109
109
  const headerToScrollTo = document.getElementById(`header_${projectIdToShow}`);
110
110
  headerToScrollTo === null || headerToScrollTo === void 0 ? void 0 : headerToScrollTo.scrollIntoView({ behavior: 'smooth' });
111
111
  toggleOpen(projectIdToShow);
@@ -10,6 +10,8 @@ interface ReviewsTabProps {
10
10
  isInternal?: boolean;
11
11
  getparoProjectsByClientIdDocument?: any;
12
12
  projectIdToShow?: number;
13
+ ratingIdForResponse?: number;
14
+ updateRouteAfterSubmitResponse?: any;
13
15
  }
14
16
  interface ToastNotificationProps {
15
17
  color?: 'success' | 'info' | 'warning' | 'danger';
@@ -21,5 +23,5 @@ interface ToastNotificationProps {
21
23
  }
22
24
  export declare const RatingsBar: (data: any) => JSX.Element;
23
25
  export declare const toastNotification: ({ className, color, icon, message, position, style, }: ToastNotificationProps) => string;
24
- export declare const ReviewsTab: ({ paroProjectsData, legacyFreelancerId, expertName, getParoProjectsDocument, createOrUpdateRating, createOrUpdateRatingRequestMutation, isClientPortal, isInternal, getparoProjectsByClientIdDocument, projectIdToShow, }: ReviewsTabProps) => JSX.Element;
26
+ export declare const ReviewsTab: ({ paroProjectsData, legacyFreelancerId, expertName, getParoProjectsDocument, createOrUpdateRating, createOrUpdateRatingRequestMutation, isClientPortal, isInternal, getparoProjectsByClientIdDocument, projectIdToShow, ratingIdForResponse, updateRouteAfterSubmitResponse, }: ReviewsTabProps) => JSX.Element;
25
27
  export {};
@@ -44,6 +44,7 @@ const base_ui_1 = require("@paro.io/base-ui");
44
44
  const AverageRatings_1 = __importDefault(require("./AverageRatings"));
45
45
  const ProjectReviewsSection_1 = __importStar(require("./ProjectReviewsSection"));
46
46
  const react_hot_toast_1 = require("react-hot-toast");
47
+ const LeaveResponseModal_1 = __importDefault(require("./LeaveResponseModal"));
47
48
  const useStyles = (0, core_1.makeStyles)({
48
49
  buttonStyle: {
49
50
  display: 'flex',
@@ -199,7 +200,8 @@ const toastNotification = ({ className, color = 'success', icon = 'success', mes
199
200
  });
200
201
  };
201
202
  exports.toastNotification = toastNotification;
202
- const ReviewsTab = ({ paroProjectsData, legacyFreelancerId, expertName, getParoProjectsDocument, createOrUpdateRating, createOrUpdateRatingRequestMutation, isClientPortal = false, isInternal = false, getparoProjectsByClientIdDocument, projectIdToShow, }) => {
203
+ const ReviewsTab = ({ paroProjectsData, legacyFreelancerId, expertName, getParoProjectsDocument, createOrUpdateRating, createOrUpdateRatingRequestMutation, isClientPortal = false, isInternal = false, getparoProjectsByClientIdDocument, projectIdToShow, ratingIdForResponse, updateRouteAfterSubmitResponse, }) => {
204
+ var _a, _b;
203
205
  const [loadingSubmitId, setLoadingSubmitId] = (0, react_1.useState)(null);
204
206
  const [orderBy, setOrderBy] = react_1.default.useState('');
205
207
  const [highlightedRatings, setHighlightedRatings] = (0, react_1.useState)(paroProjectsData);
@@ -207,6 +209,8 @@ const ReviewsTab = ({ paroProjectsData, legacyFreelancerId, expertName, getParoP
207
209
  const [selectedButton, setSelectedButton] = (0, react_1.useState)('');
208
210
  const [searchText, setSearchText] = (0, react_1.useState)('');
209
211
  const [openAllRows, setOpenAllRows] = (0, react_1.useState)(true);
212
+ const [responseModal, setResponseModal] = (0, react_1.useState)(projectIdToShow ? true : false);
213
+ const isExpertPortal = !isClientPortal && !isInternal;
210
214
  const toggleOpen = (index) => {
211
215
  if (!openRowId.includes(index)) {
212
216
  setOpenRowId((prev) => [...prev, index]);
@@ -307,6 +311,8 @@ const ReviewsTab = ({ paroProjectsData, legacyFreelancerId, expertName, getParoP
307
311
  var _a;
308
312
  return (_a = obj === null || obj === void 0 ? void 0 : obj.client) === null || _a === void 0 ? void 0 : _a.id;
309
313
  }).filter((value, index, self) => self.indexOf(value) === index);
314
+ const projectDataForResponseModal = projectIdToShow && isExpertPortal && paroProjectsData ? paroProjectsData.find((project) => project.id === Number(projectIdToShow)) : -1;
315
+ const ratingForResponse = projectDataForResponseModal && ((_a = projectDataForResponseModal === null || projectDataForResponseModal === void 0 ? void 0 : projectDataForResponseModal.rating) === null || _a === void 0 ? void 0 : _a.find((rating) => rating.id === ratingIdForResponse));
310
316
  return (react_1.default.createElement("div", { className: "reviewsTab", style: { width: '100%', overflowX: 'auto' } },
311
317
  react_1.default.createElement(core_1.Box, null,
312
318
  react_1.default.createElement("div", { className: "flex flex-row justify-evenly items-center py-2" },
@@ -333,6 +339,8 @@ const ReviewsTab = ({ paroProjectsData, legacyFreelancerId, expertName, getParoP
333
339
  react_1.default.createElement(SortButtons, { selectedButton: selectedButton, handleSelectableButton: handleSelectableButton, isClientPortal: isClientPortal !== null && isClientPortal !== void 0 ? isClientPortal : false }),
334
340
  react_1.default.createElement(core_1.Box, { pt: 3 },
335
341
  react_1.default.createElement(core_1.Divider, null)),
336
- react_1.default.createElement(ProjectReviewsSection_1.default, { uniqueClients: uniqueClients, paroProjectsData: isClientPortal ? highlightedRatings : paroProjectsData, openRowId: openRowId, openAllRows: openAllRows, toggleOpen: toggleOpen, expertName: expertName, legacyFreelancerId: legacyFreelancerId, getParoProjectsDocument: getParoProjectsDocument, handleAddToProfile: handleAddToProfile, highlightedRatings: highlightedRatings, setHighlightedRatings: setHighlightedRatings, loadingSubmitId: loadingSubmitId, createOrUpdateRatingRequestMutation: createOrUpdateRatingRequestMutation, selectedButton: selectedButton, isClientPortal: isClientPortal, isInternal: isInternal, createOrUpdateRating: createOrUpdateRating, getparoProjectsByClientIdDocument: getparoProjectsByClientIdDocument, projectIdToShow: projectIdToShow })));
342
+ react_1.default.createElement(ProjectReviewsSection_1.default, { uniqueClients: uniqueClients, paroProjectsData: isClientPortal ? highlightedRatings : paroProjectsData, openRowId: openRowId, openAllRows: openAllRows, toggleOpen: toggleOpen, expertName: expertName, legacyFreelancerId: legacyFreelancerId, getParoProjectsDocument: getParoProjectsDocument, handleAddToProfile: handleAddToProfile, highlightedRatings: highlightedRatings, setHighlightedRatings: setHighlightedRatings, loadingSubmitId: loadingSubmitId, createOrUpdateRatingRequestMutation: createOrUpdateRatingRequestMutation, selectedButton: selectedButton, isClientPortal: isClientPortal, isInternal: isInternal, createOrUpdateRating: createOrUpdateRating, getparoProjectsByClientIdDocument: getparoProjectsByClientIdDocument, projectIdToShow: projectIdToShow }),
343
+ responseModal &&
344
+ react_1.default.createElement(LeaveResponseModal_1.default, { rating: ratingForResponse, responseModal: responseModal, setResponseModal: setResponseModal, createOrUpdateRating: createOrUpdateRating, isEditResponse: false, daysLeft: 14, getParoProjectsDocument: getParoProjectsDocument, clientName: (_b = projectDataForResponseModal === null || projectDataForResponseModal === void 0 ? void 0 : projectDataForResponseModal.client) === null || _b === void 0 ? void 0 : _b.name, updateRouteAfterSubmitResponse: updateRouteAfterSubmitResponse })));
337
345
  };
338
346
  exports.ReviewsTab = ReviewsTab;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paro.io/expert-shared-components",
3
- "version": "1.4.10",
3
+ "version": "1.4.11",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {