agx-chat-web 1.2.7 → 1.2.9

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.
@@ -704,6 +704,7 @@ var time = function (value, options) {
704
704
  aux = dayjs.tz(value, dayjs.tz.guess());
705
705
  return new Date(Date.UTC(aux.year(), aux.month(), aux.date(), aux.hour(), aux.minute(), aux.second(), aux.millisecond()));
706
706
  };
707
+ var SLA_WORKING_HOURS = { start: 9, end: 18 };
707
708
  var SlaDates = /** @class */ (function () {
708
709
  function SlaDates(seconds) {
709
710
  this.holidays = {
@@ -717,7 +718,7 @@ var SlaDates = /** @class */ (function () {
717
718
  };
718
719
  SlaDates.prototype.isWorkingHour = function (date) {
719
720
  var hour = date.hour();
720
- return hour >= 9 && hour <= 18; // Between 9 AM and 5 PM (inclusive)
721
+ return hour >= SLA_WORKING_HOURS.start && hour < SLA_WORKING_HOURS.end; //Between 9 AM and 6 PM (inclusive)
721
722
  };
722
723
  SlaDates.prototype.isWeekendOrHoliday = function (date) {
723
724
  var weekDay = timeAsDayjs(date, { applyTimezone: false }).day();
@@ -873,23 +874,39 @@ function MessengerListItem(_a) {
873
874
  (0,external_react_namespaceObject.useEffect)(function () {
874
875
  var _a;
875
876
  var interval;
876
- if (isInprogress && canSeeDetailsChat) {
877
- var sla = new SlaDates(timeAsDayjs(item.currentTime).diff(item.createdAt, 'second'));
878
- var diference = sla.calculateWorkingTime(timeAsDayjs(item.createdAt), timeAsDayjs(), { start: 9, end: 18 });
879
- setCounter(diference);
880
- if (sla.canUpdateClock(timeAsDayjs())) {
881
- interval = setInterval(function () {
882
- setCounter(function (prev) { return (prev !== null ? prev + 1 : null); });
883
- }, 1000);
877
+ var sla = new SlaDates(0);
878
+ var updateCounter = function () {
879
+ var now = timeAsDayjs(undefined, { server: true });
880
+ setCounter(sla.getDifferenceInSeconds(timeAsDayjs(item.createdAt, { server: true }), now, SLA_WORKING_HOURS));
881
+ };
882
+ var onVisibilityChange = function () {
883
+ if (document.visibilityState === 'visible') {
884
+ updateCounter();
884
885
  }
886
+ };
887
+ if (isInprogress && canSeeDetailsChat) {
888
+ updateCounter();
889
+ interval = setInterval(function () {
890
+ if (sla.canUpdateClock(timeAsDayjs(undefined, { server: true }))) {
891
+ updateCounter();
892
+ }
893
+ }, 1000);
894
+ document.addEventListener('visibilitychange', onVisibilityChange);
885
895
  }
886
896
  else {
887
897
  setCounter((_a = item.SLATimePassed) !== null && _a !== void 0 ? _a : null);
888
898
  }
889
899
  return function () {
890
900
  clearInterval(interval);
901
+ document.removeEventListener('visibilitychange', onVisibilityChange);
891
902
  };
892
- }, []);
903
+ }, [
904
+ item._id,
905
+ item.createdAt,
906
+ item.SLATimePassed,
907
+ isInprogress,
908
+ canSeeDetailsChat,
909
+ ]);
893
910
  (0,external_react_namespaceObject.useEffect)(function () {
894
911
  setUnreadMessages(item.totalUnreadMessages);
895
912
  }, [item]);
@@ -931,14 +948,24 @@ function MessengerListItem(_a) {
931
948
  : ''),
932
949
  external_react_namespaceObject["default"].createElement("div", { className: 'messenger__aside-list-item--info' },
933
950
  external_react_namespaceObject["default"].createElement("p", { className: 'messenger__aside-list-item--title' }, otherChatMember === null || otherChatMember === void 0 ? void 0 : otherChatMember.username),
934
- (item === null || item === void 0 ? void 0 : item.reason) && (external_react_namespaceObject["default"].createElement("p", { className: 'messenger__aside-list-item--description' }, item.reason)),
951
+ (item.subject || item.reason) && (external_react_namespaceObject["default"].createElement(SubTitle, { item: item, nature: item.nature })),
935
952
  canSeeDetailsChat && external_react_namespaceObject["default"].createElement(ShowTimer, null)),
936
953
  item && (external_react_namespaceObject["default"].createElement("div", { className: 'messenger__aside-list-item--additional' },
937
- canSeeDetailsChat && "#".concat(item.protocol),
938
- unreadMessages > 0 && (external_react_namespaceObject["default"].createElement("div", { className: 'messenger__aside-list-item--unread' },
939
- external_react_namespaceObject["default"].createElement("span", null, formatUnreadMessages(unreadMessages))))))));
954
+ canSeeDetailsChat && external_react_namespaceObject["default"].createElement("span", null, "#".concat(item.protocol)),
955
+ external_react_namespaceObject["default"].createElement("div", { className: 'messenger__aside-list-item--unread', style: {
956
+ opacity: unreadMessages > 0 ? 1 : 0,
957
+ visibility: unreadMessages > 0 ? 'visible' : 'hidden',
958
+ } },
959
+ external_react_namespaceObject["default"].createElement("span", null, formatUnreadMessages(unreadMessages)))))));
940
960
  }
941
961
  /* harmony default export */ const views_MessengerListItem = (MessengerListItem);
962
+ function SubTitle(_a) {
963
+ var nature = _a.nature, item = _a.item;
964
+ if (nature === 'communication') {
965
+ return (external_react_namespaceObject["default"].createElement("p", { className: 'messenger__aside-list-item--description' }, item.subject));
966
+ }
967
+ return (external_react_namespaceObject["default"].createElement("p", { className: 'messenger__aside-list-item--description' }, item.reason));
968
+ }
942
969
 
943
970
  ;// CONCATENATED MODULE: ./src/app/Messenger/components/ChatTabs/ChatTabs.tsx
944
971