@mseva/upyog-ui-module-ads 1.0.97 → 1.0.98

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.
@@ -238,6 +238,13 @@ const transformBookingResponseToBookingData = (apiResponse = {}) => {
238
238
  bookingData
239
239
  };
240
240
  };
241
+ const areSlotsEqual = (a = [], b = []) => {
242
+ if ((a === null || a === void 0 ? void 0 : a.length) !== (b === null || b === void 0 ? void 0 : b.length)) return false;
243
+ const key = s => s === null || s === void 0 ? void 0 : s.bookingDate;
244
+ const aKeys = a === null || a === void 0 ? void 0 : a.map(key).sort();
245
+ const bKeys = b === null || b === void 0 ? void 0 : b.map(key).sort();
246
+ return (JSON === null || JSON === void 0 ? void 0 : JSON.stringify(aKeys)) === (JSON === null || JSON === void 0 ? void 0 : JSON.stringify(bKeys));
247
+ };
241
248
  function transformAdsData(adsData) {
242
249
  var _Object$values;
243
250
  const grouped = {};
@@ -23073,25 +23080,7 @@ const ApplicationDetails = () => {
23073
23080
  styles: {
23074
23081
  fontSize: "32px"
23075
23082
  }
23076
- }, t("ADS_APP_OVER_VIEW_HEADER")), /*#__PURE__*/React.createElement("div", {
23077
- style: {
23078
- display: "flex",
23079
- alignItems: "center",
23080
- gap: "12px"
23081
- }
23082
- }, downloadOptions && (downloadOptions === null || downloadOptions === void 0 ? void 0 : downloadOptions.length) > 0 && /*#__PURE__*/React.createElement("div", {
23083
- style: {
23084
- position: "relative",
23085
- zIndex: 10
23086
- }
23087
- }, /*#__PURE__*/React.createElement(MultiLink, {
23088
- className: "multilinkWrapper",
23089
- onHeadClick: () => setShowOptions(!showOptions),
23090
- displayOptions: showOptions,
23091
- options: downloadOptions,
23092
- downloadBtnClassName: "employee-download-btn-className",
23093
- optionsClassName: "employee-options-btn-className"
23094
- }))))), /*#__PURE__*/React.createElement(Card$1, null, (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican4 = displayData.applicantData) === null || _displayData$applican4 === void 0 ? void 0 : (_displayData$applican5 = _displayData$applican4.auditDetails) === null || _displayData$applican5 === void 0 ? void 0 : _displayData$applican5.createdTime) && (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican6 = displayData.applicantData) === null || _displayData$applican6 === void 0 ? void 0 : _displayData$applican6.bookingStatus) === "PENDING_FOR_PAYMENT" && /*#__PURE__*/React.createElement("div", {
23083
+ }, t("ADS_APP_OVER_VIEW_HEADER")))), /*#__PURE__*/React.createElement(Card$1, null, (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican4 = displayData.applicantData) === null || _displayData$applican4 === void 0 ? void 0 : (_displayData$applican5 = _displayData$applican4.auditDetails) === null || _displayData$applican5 === void 0 ? void 0 : _displayData$applican5.createdTime) && (displayData === null || displayData === void 0 ? void 0 : (_displayData$applican6 = displayData.applicantData) === null || _displayData$applican6 === void 0 ? void 0 : _displayData$applican6.bookingStatus) === "PENDING_FOR_PAYMENT" && /*#__PURE__*/React.createElement("div", {
23095
23084
  style: {
23096
23085
  display: "flex",
23097
23086
  justifyContent: "flex-end"
@@ -24098,7 +24087,8 @@ const AvailabilityModal = ({
24098
24087
  onSelectSlot,
24099
24088
  dateRange,
24100
24089
  t,
24101
- cartSlots
24090
+ cartSlots,
24091
+ onRemoveSlot
24102
24092
  }) => {
24103
24093
  var _cartSlots$find;
24104
24094
  const [selectedSlots, setSelectedSlots] = useState([]);
@@ -24152,20 +24142,32 @@ const AvailabilityModal = ({
24152
24142
  addType: ad === null || ad === void 0 ? void 0 : ad.adType,
24153
24143
  amount: ad === null || ad === void 0 ? void 0 : ad.amount,
24154
24144
  bookingDate: dateRange === null || dateRange === void 0 ? void 0 : dateRange.startDate,
24155
- nightLight: (ad === null || ad === void 0 ? void 0 : ad.light) === "With Light" ? true : false,
24145
+ nightLight: (ad === null || ad === void 0 ? void 0 : ad.light) === "With Light",
24156
24146
  bookingStartDate: dateRange === null || dateRange === void 0 ? void 0 : dateRange.startDate,
24157
24147
  bookingEndDate: dateRange === null || dateRange === void 0 ? void 0 : dateRange.endDate
24158
24148
  });
24159
- setSelectedSlots([]);
24160
- setSelectAll(false);
24161
- onClose();
24149
+ } else if ((existingForAd === null || existingForAd === void 0 ? void 0 : existingForAd.length) > 0) {
24150
+ onRemoveSlot(ad);
24162
24151
  }
24152
+ setSelectedSlots([]);
24153
+ setSelectAll(false);
24154
+ onClose();
24163
24155
  };
24164
24156
  useEffect(() => {
24165
24157
  if (allInCart) {
24166
24158
  setSelectAll(true);
24167
24159
  }
24168
24160
  }, [allInCart]);
24161
+ const hasChanges = !areSlotsEqual(selectedSlots, existingForAd);
24162
+ useEffect(() => {
24163
+ if (ad !== null && ad !== void 0 && ad.id && (existingForAd === null || existingForAd === void 0 ? void 0 : existingForAd.length) > 0) {
24164
+ setSelectAll(true);
24165
+ setSelectedSlots(existingForAd);
24166
+ } else {
24167
+ setSelectAll(false);
24168
+ setSelectedSlots([]);
24169
+ }
24170
+ }, [ad]);
24169
24171
  const columns = [{
24170
24172
  Header: () => /*#__PURE__*/React.createElement("input", {
24171
24173
  type: "checkbox",
@@ -24184,7 +24186,7 @@ const AvailabilityModal = ({
24184
24186
  row
24185
24187
  }) => {
24186
24188
  const slot = row === null || row === void 0 ? void 0 : row.original;
24187
- const isChecked = allInCart || selectAll && (slot === null || slot === void 0 ? void 0 : slot.slotStaus) === "AVAILABLE";
24189
+ const isChecked = selectAll && (slot === null || slot === void 0 ? void 0 : slot.slotStaus) === "AVAILABLE";
24188
24190
  return /*#__PURE__*/React.createElement("input", {
24189
24191
  type: "checkbox",
24190
24192
  checked: isChecked,
@@ -24350,17 +24352,18 @@ const AvailabilityModal = ({
24350
24352
  }
24351
24353
  }, t ? t("Cancel") : "Cancel"), /*#__PURE__*/React.createElement("button", {
24352
24354
  onClick: handleAddToCart,
24355
+ disabled: !hasChanges,
24353
24356
  style: {
24354
24357
  padding: "10px 18px",
24355
24358
  borderRadius: "6px",
24356
24359
  border: "none",
24357
- background: (selectedSlots === null || selectedSlots === void 0 ? void 0 : selectedSlots.length) > 0 ? "#2947a3" : "#ccc",
24360
+ background: hasChanges ? "#2947a3" : "#ccc",
24358
24361
  color: "#fff",
24359
24362
  fontWeight: 600,
24360
- cursor: (selectedSlots === null || selectedSlots === void 0 ? void 0 : selectedSlots.length) > 0 ? "pointer" : "not-allowed",
24363
+ cursor: hasChanges ? "pointer" : "not-allowed",
24361
24364
  transition: "background 0.2s"
24362
24365
  }
24363
- }, "\uD83D\uDED2 ", (existingForAd === null || existingForAd === void 0 ? void 0 : existingForAd.length) > 0 ? t("ADS_UPDATE_CART") : t("ADS_ADD_TO_CART")))));
24366
+ }, "\uD83D\uDED2 ", (existingForAd === null || existingForAd === void 0 ? void 0 : existingForAd.length) > 0 ? t("COMMON_REMOVE_LABEL") : t("ADS_ADD_TO_CART")))));
24364
24367
  };
24365
24368
 
24366
24369
  const CartModal = ({
@@ -24846,20 +24849,6 @@ const ADSCitizenSecond = ({
24846
24849
  });
24847
24850
  }
24848
24851
  };
24849
- const areCartSlotsEqual = (a = [], b = []) => {
24850
- if (a.length !== b.length) return false;
24851
- const sortByAd = arr => [...arr].sort((x, y) => String(x.ad.id).localeCompare(String(y.ad.id)));
24852
- const sortedA = sortByAd(a);
24853
- const sortedB = sortByAd(b);
24854
- return sortedA.every((item, idx) => {
24855
- const other = sortedB[idx];
24856
- if (String(item.ad.id) !== String(other.ad.id)) return false;
24857
- const slotsA = item.slots.map(s => s.bookingDate).sort();
24858
- const slotsB = other.slots.map(s => s.bookingDate).sort();
24859
- if (slotsA.length !== slotsB.length) return false;
24860
- return slotsA.every((date, i) => date === slotsB[i]);
24861
- });
24862
- };
24863
24852
  const onSubmit = async data => {
24864
24853
  var _currentStepData$ads;
24865
24854
  if ((cartSlots === null || cartSlots === void 0 ? void 0 : cartSlots.length) === 0) {
@@ -25160,7 +25149,8 @@ const ADSCitizenSecond = ({
25160
25149
  onSelectSlot: handleAddToCart,
25161
25150
  cartSlots: cartSlots,
25162
25151
  t: t,
25163
- dateRange: dateRange
25152
+ dateRange: dateRange,
25153
+ onRemoveSlot: handleRemoveFromCart
25164
25154
  }), showCart && /*#__PURE__*/React.createElement(CartModal, {
25165
25155
  cartSlots: cartSlots,
25166
25156
  onClose: () => setShowCart(false),