@chat21/chat21-ionic 3.0.82-rc.7 → 3.0.82

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 (156) hide show
  1. package/CHANGELOG.md +5 -99
  2. package/README.md +2 -2
  3. package/package.json +3 -4
  4. package/src/app/app.component.html +1 -7
  5. package/src/app/app.component.scss +2 -20
  6. package/src/app/app.component.ts +18 -129
  7. package/src/app/app.module.ts +1 -3
  8. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +1 -8
  9. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +23 -77
  10. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +88 -171
  11. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +2 -40
  12. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +24 -11
  13. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +10 -6
  14. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.spec.ts +2 -2
  15. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +25 -16
  16. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.html +1 -5
  17. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.scss +15 -22
  18. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.ts +5 -25
  19. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.html +1 -2
  20. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.scss +15 -14
  21. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.ts +5 -24
  22. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.html +1 -6
  23. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.scss +13 -12
  24. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.ts +5 -26
  25. package/src/app/chatlib/conversation-detail/message/frame/frame.component.html +2 -8
  26. package/src/app/chatlib/conversation-detail/message/frame/frame.component.scss +0 -36
  27. package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +2 -2
  28. package/src/app/chatlib/conversation-detail/message/html/html.component.ts +1 -0
  29. package/src/app/chatlib/conversation-detail/message/image/image.component.html +2 -3
  30. package/src/app/chatlib/conversation-detail/message/image/image.component.scss +5 -17
  31. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +1 -1
  32. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.scss +2 -3
  33. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.html +6 -16
  34. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +3 -1
  35. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +0 -2
  36. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +52 -78
  37. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +20 -63
  38. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +10 -14
  39. package/src/app/components/canned-response/canned-response.component.html +9 -9
  40. package/src/app/components/canned-response/canned-response.component.scss +7 -14
  41. package/src/app/components/canned-response/canned-response.component.ts +1 -1
  42. package/src/app/components/contacts-directory/contacts-directory.component.html +26 -22
  43. package/src/app/components/contacts-directory/contacts-directory.component.scss +6 -8
  44. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.html +3 -0
  45. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.scss +21 -0
  46. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.spec.ts +24 -0
  47. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.ts +14 -0
  48. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.html +54 -0
  49. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.scss +98 -0
  50. package/src/app/components/{conversations-list/header-conversations-list/header-conversations-list.component.spec.ts → conversation-detail/bubble-my-message/bubble-my-message.component.spec.ts} +6 -6
  51. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +84 -0
  52. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.html +30 -0
  53. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.scss +83 -0
  54. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.spec.ts +24 -0
  55. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +68 -0
  56. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.html +3 -0
  57. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.scss +10 -0
  58. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.spec.ts +24 -0
  59. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.ts +14 -0
  60. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +42 -61
  61. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +61 -98
  62. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +25 -9
  63. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +8 -17
  64. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +4 -4
  65. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +84 -24
  66. package/src/app/components/conversation-detail/option-header/option-header.component.html +13 -0
  67. package/src/app/components/conversation-detail/option-header/option-header.component.scss +0 -0
  68. package/src/app/components/{conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.spec.ts → conversation-detail/option-header/option-header.component.spec.ts} +5 -5
  69. package/src/app/components/{conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.ts → conversation-detail/option-header/option-header.component.ts} +4 -5
  70. package/src/app/components/conversation-info/info-content/info-content.component.html +4 -8
  71. package/src/app/components/conversation-info/info-content/info-content.component.ts +6 -3
  72. package/src/app/components/conversation-info/info-direct/info-direct.component.html +13 -7
  73. package/src/app/components/conversation-info/info-direct/info-direct.component.scss +0 -23
  74. package/src/app/components/conversation-info/info-direct/info-direct.component.ts +6 -1
  75. package/src/app/components/conversation-info/info-group/info-group.component.html +108 -44
  76. package/src/app/components/conversation-info/info-group/info-group.component.scss +61 -101
  77. package/src/app/components/conversation-info/info-group/info-group.component.ts +0 -1
  78. package/src/app/components/conversation-info/info-support-group/info-support-group.component.html +1 -2
  79. package/src/app/components/conversation-info/info-support-group/info-support-group.component.ts +1 -0
  80. package/src/app/components/{conversations-list/header-conversations-list/header-conversations-list.component.html → ddp-header/ddp-header.component.html} +3 -3
  81. package/src/app/components/{conversations-list/header-conversations-list/header-conversations-list.component.scss → ddp-header/ddp-header.component.scss} +4 -16
  82. package/src/app/components/{navbar/navbar.component.spec.ts → ddp-header/ddp-header.component.spec.ts} +6 -6
  83. package/src/app/components/{conversations-list/header-conversations-list/header-conversations-list.component.ts → ddp-header/ddp-header.component.ts} +16 -7
  84. package/src/app/components/project-item/project-item.component.html +149 -98
  85. package/src/app/components/project-item/project-item.component.scss +35 -43
  86. package/src/app/components/project-item/project-item.component.ts +4 -16
  87. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +5 -5
  88. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +10 -23
  89. package/src/app/components/utils/user-presence/user-presence.component.html +2 -7
  90. package/src/app/components/utils/user-presence/user-presence.component.scss +18 -35
  91. package/src/app/components/utils/user-presence/user-presence.component.ts +10 -6
  92. package/src/app/pages/contacts-directory/contacts-directory.page.html +1 -1
  93. package/src/app/pages/contacts-directory/contacts-directory.page.scss +0 -47
  94. package/src/app/pages/contacts-directory/contacts-directory.page.ts +0 -2
  95. package/src/app/pages/conversation-detail/conversation-detail.module.ts +8 -0
  96. package/src/app/pages/conversation-detail/conversation-detail.page.html +23 -41
  97. package/src/app/pages/conversation-detail/conversation-detail.page.scss +250 -40
  98. package/src/app/pages/conversation-detail/conversation-detail.page.ts +112 -186
  99. package/src/app/pages/conversations-list/conversations-list.page.html +8 -11
  100. package/src/app/pages/conversations-list/conversations-list.page.scss +2 -18
  101. package/src/app/pages/conversations-list/conversations-list.page.ts +22 -25
  102. package/src/app/pages/create-canned-response/create-canned-response.page.ts +13 -13
  103. package/src/app/pages/loader-preview/loader-preview.page.html +1 -1
  104. package/src/app/pages/loader-preview/loader-preview.page.scss +0 -4
  105. package/src/app/pages/loader-preview/loader-preview.page.ts +2 -1
  106. package/src/app/pages/profile-info/profile-info.page.html +4 -2
  107. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +1 -1
  108. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +0 -42
  109. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +0 -1
  110. package/src/app/services/canned-responses/canned-responses.service.ts +0 -26
  111. package/src/app/services/tiledesk/tiledesk.service.ts +25 -1
  112. package/src/app/services/websocket/websocket.service.ts +1 -1
  113. package/src/app/shared/shared.module.ts +33 -24
  114. package/src/assets/i18n/ar.json +265 -278
  115. package/src/assets/i18n/az.json +1 -14
  116. package/src/assets/i18n/de.json +2 -15
  117. package/src/assets/i18n/en.json +2 -15
  118. package/src/assets/i18n/es.json +2 -15
  119. package/src/assets/i18n/fr.json +1 -14
  120. package/src/assets/i18n/it.json +1 -14
  121. package/src/assets/i18n/kk.json +2 -15
  122. package/src/assets/i18n/pt.json +2 -15
  123. package/src/assets/i18n/ru.json +1 -14
  124. package/src/assets/i18n/sr.json +264 -277
  125. package/src/assets/i18n/sv.json +2 -15
  126. package/src/assets/i18n/tr.json +2 -15
  127. package/src/assets/i18n/uk.json +2 -15
  128. package/src/assets/i18n/uz.json +1 -14
  129. package/src/assets/js/chat21client.js +148 -175
  130. package/src/chat-config-mqtt-localhost.json +2 -2
  131. package/src/chat-config-native-mqtt.json +0 -3
  132. package/src/chat21-core/models/conversation.ts +1 -0
  133. package/src/chat21-core/providers/firebase/firebase-typing.service.ts +9 -7
  134. package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +8 -7
  135. package/src/chat21-core/utils/constants.ts +1 -6
  136. package/src/chat21-core/utils/user-typing/user-typing.component.html +5 -8
  137. package/src/chat21-core/utils/user-typing/user-typing.component.scss +17 -87
  138. package/src/chat21-core/utils/user-typing/user-typing.component.ts +94 -12
  139. package/src/chat21-core/utils/utils.ts +10 -38
  140. package/src/global.scss +255 -52
  141. package/src/index.html +9 -0
  142. package/src/variables.scss +10 -30
  143. package/deploy_amazon_beta.sh +0 -29
  144. package/deploy_amazon_prod.sh +0 -30
  145. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component_2.html +0 -116
  146. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.html +0 -12
  147. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.scss +0 -14
  148. package/src/app/components/navbar/navbar.component.html +0 -103
  149. package/src/app/components/navbar/navbar.component.scss +0 -249
  150. package/src/app/components/navbar/navbar.component.ts +0 -190
  151. package/src/app/services/projects/projects.service.spec.ts +0 -12
  152. package/src/app/services/projects/projects.service.ts +0 -43
  153. package/src/assets/sounds/interface-start.mp3 +0 -0
  154. package/src/assets/sounds/wheep-wheep.mp3 +0 -0
  155. package/src/chat21-core/models/projects.ts +0 -27
  156. package/src/chat21-core/utils/convertRequestToConversation.ts +0 -41
@@ -4,10 +4,13 @@
4
4
  padding-top: 0px;
5
5
  margin-top: 0px !important;
6
6
  padding-bottom: 0px !important;
7
+ // background: #fff;
7
8
  padding-left: 0px;
8
9
  width: 100%;
9
- // min-height: 64px;
10
- // height: 64px;
10
+ // min-height: 70px;
11
+ // height: 70px;
12
+ min-height: 64px;
13
+ height: 64px;
11
14
  position: relative;
12
15
  // top: -5px; //nk x AS
13
16
  }
@@ -212,10 +215,14 @@
212
215
  }
213
216
  }
214
217
 
218
+ .container-project-for-panel {
219
+ padding: 0px !important;
220
+ width: 296px;
221
+ }
222
+
215
223
  .flex-container-project-for-panel {
216
224
  display: flex;
217
- // width: 100%;
218
- // height: 64px;
225
+ width: 100%;
219
226
  justify-content: center;
220
227
  align-items: center;
221
228
  // position: relative;
@@ -224,19 +231,17 @@
224
231
  -o-transition: all 0.2s ease-in;
225
232
  -webkit-transition: all 0.2s ease-in;
226
233
  transition: all 0.2s ease-in;
227
- margin: 6px;
228
- // background-color: rgba(24, 119, 242, 0.1);
229
- border-radius: 5px;
234
+ height: 64px;
230
235
  }
231
236
 
232
- .flex-container-project-for-panel:hover {
233
- background-color: rgba(24, 119, 242, 0.2);
234
- transition: none;
237
+ .flex-container:hover {
238
+ background-color: rgba(200, 200, 200, 0.2);
235
239
  }
236
240
 
237
241
  .flex-child-right {
238
242
  flex: 1;
239
- // padding: 18px 0px;
243
+ padding: 18px 0px;
244
+ // height: 100%;
240
245
  }
241
246
 
242
247
 
@@ -244,7 +249,7 @@
244
249
  // flex: 0 0 20%;
245
250
  width: 60px;
246
251
  text-align: center;
247
- // padding: 18px 0px;
252
+ padding: 18px 0px;
248
253
  height: 100%;
249
254
  }
250
255
  // border: 2px solid yellow;
@@ -304,21 +309,22 @@
304
309
  color: #1e2129;
305
310
  font-weight: 400;
306
311
  margin-left: 10px;
307
- width: 250px;
312
+ width: 185px ;
308
313
  // width: 220px !important;
309
314
  white-space: nowrap !important;
310
315
  overflow: hidden !important;
311
316
  text-overflow: ellipsis !important;
312
317
  font-family: Helvetica, Helvetica, Arial, sans-serif;
313
- font-size: 16px; //14px;
318
+ font-size: 14px;
314
319
  position: relative;
320
+ top: -1px;
315
321
  cursor: pointer;
316
- a {
317
- color: #779bbb
318
- }
319
322
  }
320
323
 
321
324
 
325
+ .project-name-project-for-panel-on-desktop {
326
+ width: 217px
327
+ }
322
328
 
323
329
  // .project-name-project-for-panel:hover span {
324
330
  // color: rgba(0, 0, 0, 0.35);
@@ -326,13 +332,12 @@
326
332
  // width: fit-content;
327
333
  // display: block;
328
334
  // }
329
- .unassigned_label {
335
+ .project---name {
330
336
  width: fit-content;
331
337
 
332
338
  }
333
- .unassigned_label:hover {
334
- color: rgb(100, 131, 158);
335
- // font-weight: 600;
339
+ .project---name:hover {
340
+ color: rgba(0, 0, 0, 0.35);
336
341
  }
337
342
 
338
343
  .view-all-convs-icon:hover {
@@ -447,21 +452,13 @@
447
452
  // top: 3px;
448
453
 
449
454
  position: relative;
450
- // top: -8px;
455
+ top: -8px;
451
456
  background: transparent;
452
457
  border-radius: 50%;
453
- width: 40px; //50px;
458
+ width: 50px;
454
459
  left: 10px;
455
- height: 40px; //50px;
460
+ height: 50px;
456
461
  cursor: pointer;
457
-
458
- svg {
459
- pointer-events: none;
460
- width: 30px;
461
- height: auto;
462
- fill: #779bbb; //rgb(107,107,107);
463
- margin-top: 7px;
464
- }
465
462
  }
466
463
  .unassigned-notifications-icon-wpr:hover {
467
464
  background-color: rgba(0, 0, 0, 0.05);
@@ -470,28 +467,23 @@
470
467
  .unassigned-notifications-badge {
471
468
  position: absolute;
472
469
  // top: 12px;
473
- top: 6px;//14px;
470
+ top: 14px;
474
471
  border-radius: 50%;
475
472
  background: #e41e3f;
476
473
  // width: 24px;
477
474
  // height: 24px;
478
- width: 20px; //22px;
479
- height: 20px; //22px;
475
+ width: 22px;
476
+ height: 22px;
480
477
  color: #fff;
481
478
 
482
- left: 40px; //33px;
479
+ left: 34px;
483
480
  border: 1px solid #fff;
484
-
485
- display: flex;
486
- align-content: center;
487
- justify-content: center;
488
- align-items: center;
489
481
  }
490
482
  .notification-count {
491
- font-size: 10px; //12px;
483
+ font-size: 12px;
492
484
  font-weight: 500;
493
485
  position: relative;
494
- // top: -1px;
486
+ top: -1px;
495
487
  text-align: center;
496
488
  }
497
489
 
@@ -1,4 +1,3 @@
1
- import { ConversationModel } from 'src/chat21-core/models/conversation';
2
1
  import { EventsService } from './../../services/events-service';
3
2
  import { Component, EventEmitter, HostListener, OnInit, Output } from '@angular/core';
4
3
  import { WebsocketService } from 'src/app/services/websocket/websocket.service';
@@ -12,8 +11,6 @@ import { TiledeskAuthService } from 'src/chat21-core/providers/tiledesk/tiledesk
12
11
  import { TiledeskService } from 'src/app/services/tiledesk/tiledesk.service';
13
12
  import { WebSocketJs } from 'src/app/services/websocket/websocket-js';
14
13
  import { AppConfigProvider } from 'src/app/services/app-config';
15
- import { ConvertRequestToConversation } from 'src/chat21-core/utils/convertRequestToConversation';
16
- import { compareValues } from 'src/chat21-core/utils/utils';
17
14
 
18
15
  @Component({
19
16
  selector: 'app-project-item',
@@ -31,7 +28,6 @@ export class ProjectItemComponent implements OnInit {
31
28
  tiledeskToken: string;
32
29
 
33
30
  unservedRequestCount: number = 0;
34
- unservedConversations: ConversationModel[] = [];
35
31
  currentUserRequestCount: number;
36
32
  ROLE_IS_AGENT: boolean;
37
33
  currentUserId: string;
@@ -58,8 +54,7 @@ export class ProjectItemComponent implements OnInit {
58
54
  public tiledeskService: TiledeskService,
59
55
  public webSocketJs: WebSocketJs,
60
56
  private appConfigProvider: AppConfigProvider,
61
- public events: EventsService,
62
- public convertRequestToConversation: ConvertRequestToConversation
57
+ public events: EventsService
63
58
  ) { }
64
59
 
65
60
  ngOnInit() {
@@ -137,10 +132,9 @@ export class ProjectItemComponent implements OnInit {
137
132
  'LABEL_NOT_AVAILABLE',
138
133
  'LABEL_BUSY',
139
134
  'VIEW_ALL_CONVERSATIONS',
140
- 'UnassignedConversations',
141
- // 'CONVERSATIONS_IN_QUEUE',
142
- // 'CONVERSATION_IN_QUEUE',
143
- // 'NO_CONVERSATION_IN_QUEUE',
135
+ 'CONVERSATIONS_IN_QUEUE',
136
+ 'CONVERSATION_IN_QUEUE',
137
+ 'NO_CONVERSATION_IN_QUEUE',
144
138
  'PINNED_PROJECT',
145
139
  'CHANGE_PINNED_PROJECT',
146
140
  "CHANGE_TO_YOUR_STATUS_TO_AVAILABLE",
@@ -313,16 +307,10 @@ export class ProjectItemComponent implements OnInit {
313
307
  if (r['status'] === 100) {
314
308
  if (this.hasmeInAgents(r['agents']) === true) {
315
309
  count = count + 1;
316
- let conv = this.convertRequestToConversation.getConvFromRequest(r)
317
- if(!this.unservedConversations.find((el) => {return el.uid === conv.uid})){
318
- this.unservedConversations.push(conv)
319
- this.unservedConversations.sort(compareValues('timestamp', 'desc'))
320
- }
321
310
  }
322
311
  }
323
312
  });
324
313
  //not sound if unservedRequest is already chached and web-sk is closed and restart again
325
- // this.logger.log('updateUnservedRequestCount::: count , unservedRequestCount ', count , this.unservedRequestCount)
326
314
  if(count > this.unservedRequestCount ){
327
315
  this.events.publish('unservedRequest:count', count)
328
316
  }
@@ -5,7 +5,7 @@
5
5
  <span class="user-details-dshbrd-lang-code" style="text-transform: uppercase;color: #647491;">
6
6
  {{chat_lang}}
7
7
  </span>
8
- <img *ngIf="flag_url" [src]="flag_url" width="19px" height="19px" style=" position: relative;top: 1px;">
8
+ <img [src]="flag_url" style="width: auto;height: 19px; position: relative;top: 1px;">
9
9
 
10
10
  </div>
11
11
 
@@ -25,9 +25,9 @@
25
25
  onerror="this.src='assets/images/no_image_user.png'" />
26
26
 
27
27
  <div *ngIf="!USER_PHOTO_PROFILE_EXIST" class="user-img-in-sidebar-user-details"
28
- [ngStyle]="{'background': 'linear-gradient(rgb(255,255,255) -125%,' + user?.fillColour + ')'}">
28
+ [ngStyle]="{'background': 'linear-gradient(rgb(255,255,255) -125%,' + user?.color + ')'}">
29
29
  <span id="sidebaravatar-altenative-user-avatar" class="sidebar-user-details-altenative-user-avatar">
30
- {{ user?.fullname_initial }}
30
+ {{ user?.avatar }}
31
31
  </span>
32
32
  </div>
33
33
 
@@ -79,11 +79,11 @@
79
79
  [clearable]="false"
80
80
  [searchable]="false">
81
81
  <ng-template ng-label-tmp let-item="item">
82
- <img style="width: 15px;height: 15px;position: relative; top: 1px;" height="15" width="15" [src]="item?.avatar" />
82
+ <img style="width: 15px;height: 15px;position: relative; top: 1px;" height="15" width="15" [src]="item.avatar" />
83
83
  <span id="sidebaravatar_{{item.name}}" style="text-transform: capitalize; margin-left:8px"> {{item.label}} </span>
84
84
  </ng-template>
85
85
  <ng-template ng-option-tmp let-item="item" let-index="index">
86
- <img style="width: 15px;height: 15px;position: relative; top: 1px;" height="15" width="15" [src]="item?.avatar" />
86
+ <img style="width: 15px;height: 15px;position: relative; top: 1px;" height="15" width="15" [src]="item.avatar" />
87
87
  <span id="sidebaravatar_{{item.name}}" style="text-transform: capitalize; margin-left:8px"> {{item.label}} </span>
88
88
  </ng-template>
89
89
  </ng-select>
@@ -41,7 +41,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
41
41
 
42
42
  isVisiblePAY: boolean;
43
43
  public_Key: any
44
- USER_PHOTO_PROFILE_EXIST: boolean = false;
44
+ USER_PHOTO_PROFILE_EXIST: boolean;
45
45
  version: string
46
46
  company_name: string = 'Tiledesk'
47
47
  DASHBOARD_URL: string;
@@ -78,8 +78,6 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
78
78
  // this.listenOpenUserSidebarEvent();
79
79
  }
80
80
 
81
- ngOnChanges() { }
82
-
83
81
  subcribeToAuthStateChanged() {
84
82
  this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
85
83
  this.logger.log('[SIDEBAR-USER-DETAILS] BSAuthStateChanged ', state)
@@ -90,8 +88,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
90
88
  const currentUser = JSON.parse(storedCurrentUser);
91
89
  this.logger.log('[SIDEBAR-USER-DETAILS] - subcribeToAuthStateChanged - currentUser ', currentUser)
92
90
  if (currentUser) {
93
- this.user = currentUser
94
- this.createUserAvatar(this.user);
91
+ this.user = currentUser;
95
92
  this.getCurrentChatLangAndTranslateLabels(this.user);
96
93
  this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(this.user.uid)
97
94
  this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL ', this.photo_profile_URL);
@@ -106,7 +103,7 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
106
103
 
107
104
  checkIfExistPhotoProfile(imageUrl) {
108
105
  this.verifyImageURL(imageUrl, (imageExists) => {
109
-
106
+
110
107
  if (imageExists === true) {
111
108
  this.USER_PHOTO_PROFILE_EXIST = true;
112
109
  this.logger.log('[SIDEBAR-USER-DETAILS] photo_profile_URL IMAGE EXIST ', imageExists)
@@ -130,23 +127,6 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
130
127
  };
131
128
  }
132
129
 
133
- createUserAvatar(currentUser) {
134
- this.logger.log('[SIDEBAR] - createProjectUserAvatar ', currentUser)
135
- let fullname = ''
136
- if (currentUser && currentUser.firstname && currentUser.lastname) {
137
- fullname = currentUser.firstname + ' ' + currentUser.lastname
138
- currentUser['fullname_initial'] = avatarPlaceholder(fullname)
139
- currentUser['fillColour'] = getColorBck(fullname)
140
- } else if (currentUser && currentUser.firstname) {
141
- fullname = currentUser.firstname
142
- currentUser['fullname_initial'] = avatarPlaceholder(fullname)
143
- currentUser['fillColour'] = getColorBck(fullname)
144
- } else {
145
- currentUser['fullname_initial'] = 'N/A'
146
- currentUser['fillColour'] = 'rgb(98, 100, 167)'
147
- }
148
- }
149
-
150
130
  // listenOpenUserSidebarEvent() {
151
131
  // this.events.subscribe('userdetailsidebar:opened', (openUserDetailsSidebar) => {
152
132
  // this.logger.log('[SIDEBAR-USER-DETAILS] - listenOpenUserSidebarEvent - openUserDetailsSidebar', openUserDetailsSidebar);
@@ -376,6 +356,13 @@ export class SidebarUserDetailsComponent implements OnInit, OnChanges {
376
356
  });
377
357
  }
378
358
 
359
+
360
+ ngOnChanges() { }
361
+
362
+
363
+
364
+
365
+
379
366
  changeAvailabilityStateInUserDetailsSidebar(selectedStatusID) {
380
367
  this.logger.log('[SIDEBAR-USER-DETAILS] - changeAvailabilityState projectid', this.project._id, ' available 1: ', selectedStatusID);
381
368
 
@@ -1,7 +1,2 @@
1
- <div id="presence-container">
2
- <div class="status-icon-container" [class.mobile]="isMobile">
3
- <svg xmlns="http://www.w3.org/2000/svg" [class.online]="online" height="15" width="15" viewBox="0 0 24 24" fill="#000000"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>
4
- </div>
5
- <!-- <div class="status-icon" [class.online]="online" [style.border-color]="borderColor"></div> -->
6
- <div class="online-point">{{status}}</div>
7
- </div>
1
+ <div class="status-icon" [class.online]="online" [style.border-color]="borderColor"></div>
2
+ <div class="online-point" [style.color]="fontColor">{{status}}</div>
@@ -1,41 +1,24 @@
1
- #presence-container{
2
- display: flex;
3
- }
4
-
5
- .status-icon-container{
6
- position: fixed;
7
- top: 22px;
8
- left: 30px;
9
- background-color: white;
10
- height: 17px;
11
- width: 17px;
1
+ .status-icon {
2
+ position: absolute;
3
+ width: 14px;
4
+ height: 14px;
5
+ top: 0px;
6
+ left: 0;
7
+ border: 2px solid #ffffff;
12
8
  border-radius: 50%;
13
- display: flex;
14
- align-items: center;
15
- justify-content: center;
16
-
17
- &.mobile{
18
- top: 36px;
19
- left: 50px;
20
- }
21
-
22
- svg{
23
- fill: #f44336;
24
-
25
- &.online{
26
- fill: #4caf50;
27
- }
9
+ background-color: #f44336;
10
+ &.online {
11
+ background-color: #4caf50;
28
12
  }
29
13
 
30
14
  }
31
-
32
15
  .online-point {
33
- display: inline-flex;
34
- align-items: center;
35
- line-height: 1.2rem;
36
- font-weight: 500;
37
- color: #779bbb;
38
- font-size: 10px;
39
- max-width: 90%;
40
- margin-right: 5px;
16
+ position: absolute;
17
+ display: inline-block;
18
+ top: 0;
19
+ left: 20px;
20
+ color: rgba(255, 255, 255, 0.5);
21
+ font-size: 12px;
22
+ line-height: 14px;
23
+ text-align: left;
41
24
  }
@@ -17,10 +17,11 @@ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance'
17
17
  })
18
18
 
19
19
  export class UserPresenceComponent implements OnInit, OnDestroy {
20
-
21
20
  @Input() idUser: string;
22
- @Input() isMobile: boolean;
23
21
  @Input() translationMap: Map<string, string>;
22
+ @Input() fontColor: string;
23
+ @Input() borderColor: string;
24
+
24
25
 
25
26
  public online = true;
26
27
  public status = '';
@@ -46,6 +47,9 @@ export class UserPresenceComponent implements OnInit, OnDestroy {
46
47
 
47
48
  /** */
48
49
  initialize() {
50
+ if (this.translationMap) {
51
+ this.status = this.translationMap.get('LABEL_ACTIVE_NOW');
52
+ }
49
53
  this.logger.log('[USER-PRESENCE-COMP] - initialize - this.translationMap', this.translationMap);
50
54
  this.logger.log('[USER-PRESENCE-COMP] - initialize - this.status', this.status);
51
55
  this.logger.log('[USER-PRESENCE-COMP] - initialize - idUser ->', this.idUser);
@@ -118,11 +122,11 @@ export class UserPresenceComponent implements OnInit, OnDestroy {
118
122
  this.logger.log('[USER-PRESENCE-COMP] userIsOnLine - userId: ', userId, ' - isOnline: ', isOnline);
119
123
  this.online = isOnline;
120
124
  if (isOnline) {
121
- this.status = this.translationMap.get('LABEL_ONLINE');
125
+ this.status = this.translationMap.get('LABEL_AVAILABLE');
122
126
  } else {
123
- this.status = this.translationMap.get('LABEL_OFFLINE');
127
+ this.status = this.translationMap.get('LABEL_NOT_AVAILABLE');
124
128
  if (this.lastConnectionDate && this.lastConnectionDate.trim() !== '') {
125
- this.status = this.status + ' (' + this.lastConnectionDate + ')'
129
+ this.status = this.lastConnectionDate;
126
130
  }
127
131
  }
128
132
  }
@@ -137,7 +141,7 @@ export class UserPresenceComponent implements OnInit, OnDestroy {
137
141
  this.logger.log('[USER-PRESENCE-COMP] userLastConnection - lastConnectionDate', lastConnectionDate);
138
142
  this.lastConnectionDate = lastConnectionDate;
139
143
  if (this.online === false) {
140
- this.status = this.translationMap.get('LABEL_OFFLINE') + ' (' + this.lastConnectionDate + ')'
144
+ this.status = this.lastConnectionDate;
141
145
  }
142
146
  }
143
147
  }
@@ -1,5 +1,5 @@
1
1
  <ion-header>
2
- <ion-toolbar [class.mobile]="isMobile">
2
+ <ion-toolbar>
3
3
  <ion-title>{{ 'LABEL_NEW_CHAT' | translate }}</ion-title>
4
4
 
5
5
  <ion-buttons slot="end">
@@ -1,47 +0,0 @@
1
- ion-toolbar {
2
- height: var(--header-height);
3
- &:not(.mobile){
4
- --background: var(--list-bkg-color);
5
- border: none;
6
- }
7
- &.mobile{
8
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
9
- }
10
-
11
- ion-button{
12
- --color: var(--basic-blue);
13
- }
14
- }
15
-
16
- ion-content {
17
- // overwrite inline styles
18
- --offset-bottom: auto!important;
19
- --overflow: hidden;
20
- overflow: scroll;
21
-
22
- /* For Firefox */
23
- @-moz-document url-prefix() {
24
- scrollbar-width: none;
25
- }
26
-
27
- &:not(.mobile){
28
- background: var(--list-bkg-color);
29
- }
30
-
31
- &::-webkit-scrollbar {
32
- width: 6px;
33
- height: 8px;
34
- display: none;
35
- }
36
-
37
- &::-webkit-scrollbar-track {
38
- background: #f9f9f9;
39
- }
40
- &::-webkit-scrollbar-thumb {
41
- background-color: #b9b9b9;
42
- border-radius: 0px;
43
- }
44
- &::-webkit-scrollbar-thumb:hover {
45
- background-color: #727272;
46
- }
47
- }
@@ -17,9 +17,7 @@ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance'
17
17
  styleUrls: ['./contacts-directory.page.scss'],
18
18
  })
19
19
  export class ContactsDirectoryPage implements OnInit {
20
-
21
20
  @Input() token: string;
22
- @Input() isMobile: boolean;
23
21
  // @Input() user: string;
24
22
 
25
23
  public contacts: Array<UserModel>;
@@ -21,6 +21,10 @@ import { ConversationDetailPage } from './conversation-detail.page';
21
21
  // tslint:disable-next-line: max-line-length
22
22
  import { HeaderConversationDetailComponent } from '../../components/conversation-detail/header-conversation-detail/header-conversation-detail.component';
23
23
  import { MessageTextAreaComponent } from '../../components/conversation-detail/message-text-area/message-text-area.component';
24
+ import { BubbleDayMessageComponent } from '../../components/conversation-detail/bubble-day-message/bubble-day-message.component';
25
+ import { BubbleSystemMessageComponent } from '../../components/conversation-detail/bubble-system-message/bubble-system-message.component';
26
+ import { BubbleMyMessageComponent } from '../../components/conversation-detail/bubble-my-message/bubble-my-message.component';
27
+ import { BubbleOthersMessageComponent } from '../../components/conversation-detail/bubble-others-message/bubble-others-message.component';
24
28
  // import { InfoContentComponent } from '../../components/conversation-info/info-content/info-content.component';
25
29
  // import { InfoDirectComponent } from '../../components/conversation-info/info-direct/info-direct.component';
26
30
  import { InfoContentComponent } from 'src/app/components/conversation-info/info-content/info-content.component';
@@ -61,6 +65,10 @@ import { PickerModule } from '@ctrl/ngx-emoji-mart';
61
65
  HeaderConversationDetailComponent,
62
66
  MessageTextAreaComponent,
63
67
  CannedResponseComponent,
68
+ // BubbleDayMessageComponent,
69
+ // BubbleSystemMessageComponent,
70
+ // BubbleMyMessageComponent,
71
+ // BubbleOthersMessageComponent,
64
72
  // InfoContentComponent,
65
73
  // InfoSupportGroupComponent,
66
74
  // InfoDirectComponent,