@chat21/chat21-ionic 3.0.61-rc5 → 3.0.61

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 (115) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README.md +6 -0
  3. package/angular.json +2 -0
  4. package/config.xml +4 -5
  5. package/deploy_pre.sh +10 -10
  6. package/deploy_prod.sh +4 -0
  7. package/env.sample +1 -1
  8. package/package.json +8 -8
  9. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  10. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  14. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  15. package/resources/{Android → android}/icon.png +0 -0
  16. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  27. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  28. package/resources/{Android → android}/splash.png +0 -0
  29. package/src/app/app-routing.module.ts +15 -0
  30. package/src/app/app.component.html +2 -2
  31. package/src/app/app.component.scss +2 -1
  32. package/src/app/app.component.ts +34 -20
  33. package/src/app/app.module.ts +11 -3
  34. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -25
  35. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +160 -50
  36. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +108 -18
  37. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +21 -36
  38. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +19 -7
  39. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +35 -40
  40. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -1
  41. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +78 -15
  42. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.ts +13 -10
  43. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +11 -4
  44. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +3 -1
  45. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +142 -71
  46. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +59 -22
  47. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +32 -9
  48. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +107 -23
  49. package/src/app/components/ddp-header/ddp-header.component.html +9 -2
  50. package/src/app/components/ddp-header/ddp-header.component.ts +93 -18
  51. package/src/app/components/project-item/project-item.component.html +1 -1
  52. package/src/app/components/project-item/project-item.component.scss +1 -1
  53. package/src/app/components/project-item/project-item.component.ts +3 -3
  54. package/src/app/components/sidebar/sidebar.component.html +151 -86
  55. package/src/app/components/sidebar/sidebar.component.scss +60 -3
  56. package/src/app/components/sidebar/sidebar.component.ts +173 -47
  57. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +26 -7
  58. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +44 -19
  59. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +109 -35
  60. package/src/app/pages/conversation-detail/conversation-detail.module.ts +5 -1
  61. package/src/app/pages/conversation-detail/conversation-detail.page.html +19 -9
  62. package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
  63. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1124 -778
  64. package/src/app/pages/conversations-list/conversations-list.page.html +3 -1
  65. package/src/app/pages/conversations-list/conversations-list.page.ts +647 -445
  66. package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
  67. package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
  68. package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
  69. package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
  70. package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
  71. package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
  72. package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
  73. package/src/app/pages/create-requester/create-requester.module.ts +28 -0
  74. package/src/app/pages/create-requester/create-requester.page.html +67 -0
  75. package/src/app/pages/create-requester/create-requester.page.scss +30 -0
  76. package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
  77. package/src/app/pages/create-requester/create-requester.page.ts +138 -0
  78. package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
  79. package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
  80. package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
  81. package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
  82. package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
  83. package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
  84. package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
  85. package/src/app/pages/profile-info/profile-info.page.html +2 -2
  86. package/src/app/pages/profile-info/profile-info.page.scss +13 -2
  87. package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
  88. package/src/app/shared/shared.module.ts +1 -1
  89. package/src/assets/i18n/de.json +45 -7
  90. package/src/assets/i18n/en.json +41 -3
  91. package/src/assets/i18n/es.json +41 -3
  92. package/src/assets/i18n/fr.json +44 -6
  93. package/src/assets/i18n/it.json +41 -3
  94. package/src/assets/i18n/pt.json +41 -3
  95. package/src/assets/i18n/ru.json +42 -4
  96. package/src/assets/i18n/sr.json +265 -0
  97. package/src/assets/i18n/tr.json +41 -4
  98. package/src/assets/images/default-avatar-x-select.png +0 -0
  99. package/src/assets/images/priority_icons/high.svg +3 -0
  100. package/src/assets/images/priority_icons/high_v2.svg +14 -0
  101. package/src/assets/images/priority_icons/low.svg +10 -0
  102. package/src/assets/images/priority_icons/low_v2.svg +14 -0
  103. package/src/assets/images/priority_icons/medium.svg +16 -0
  104. package/src/assets/images/priority_icons/medium_v2.svg +11 -0
  105. package/src/assets/images/priority_icons/urgent.svg +4 -0
  106. package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
  107. package/src/chat-config-mqtt.json +25 -16
  108. package/src/chat-config-template.json +5 -4
  109. package/src/chat-config.json +1 -0
  110. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +8 -3
  111. package/src/chat21-core/utils/constants.ts +6 -1
  112. package/src/chat21-core/utils/utils-message.ts +19 -0
  113. package/src/global.scss +65 -76
  114. package/publish_pre.sh +0 -33
  115. package/publish_prod.sh +0 -33
@@ -10,6 +10,10 @@ import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service
10
10
  import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
11
11
  import { TranslateService } from '@ngx-translate/core';
12
12
  import { EventsService } from 'src/app/services/events-service';
13
+ import { tranlatedLanguage } from '../../../chat21-core/utils/constants';
14
+
15
+ // utils
16
+ import { avatarPlaceholder, getColorBck } from 'src/chat21-core/utils/utils-user';
13
17
 
14
18
  @Component({
15
19
  selector: 'app-sidebar',
@@ -43,6 +47,17 @@ export class SidebarComponent implements OnInit {
43
47
  history_lbl: string;
44
48
  settings_lbl: string;
45
49
  countClickOnOpenUserDetailSidebar: number = 0
50
+ USER_PHOTO_PROFILE_EXIST: boolean;
51
+ currentUser: any;
52
+ dashboard_home_url: string;
53
+ dashboard_bots_url: string;
54
+ dashboard_convs_url: string;
55
+ dashboard_contacts_url: string;
56
+ dashboard_app_url: string;
57
+ dashboard_analytics_url: string;
58
+ dashboard_activities_url: string;
59
+ dashboard_history_url: string;
60
+ dashboard_settings_url: string;
46
61
  constructor(
47
62
  public imageRepoService: ImageRepoService,
48
63
  public appStorageService: AppStorageService,
@@ -52,17 +67,131 @@ export class SidebarComponent implements OnInit {
52
67
  public wsService: WebsocketService,
53
68
  public appConfigProvider: AppConfigProvider,
54
69
  private translate: TranslateService,
55
- public events: EventsService
70
+ public events: EventsService,
71
+
56
72
  ) { }
57
73
 
58
74
  ngOnInit() {
59
75
  this.DASHBOARD_URL = this.appConfig.getConfig().dashboardUrl + '#/project/';
60
76
  // console.log('[SIDEBAR] DASHBOARD_URL ', this.DASHBOARD_URL)
61
- this.getStoredProjectAndDashboardBaseUrl()
77
+ this.getStoredProjectAndUserRole()
62
78
  this.subcribeToAuthStateChanged()
63
79
  this.listenTocurrentProjectUserUserAvailability$()
64
80
  this.getOSCODE();
65
81
  this.getCurrentChatLangAndTranslateLabels();
82
+
83
+ // this.loggedUser = this.chatManager.getCurrentUser();
84
+ // if (this.loggedUser) {
85
+ // this.itemAvatar = {
86
+ // imageurl: this.imageRepoService.getImagePhotoUrl(this.loggedUser.uid),
87
+ // avatar: this.loggedUser.avatar,
88
+ // color: this.loggedUser.color,
89
+ // online: this.loggedUser.online,
90
+ // lastConnection: this.loggedUser.lastConnection,
91
+ // status: '',
92
+ // width: '35px',
93
+ // height: '35px'
94
+ // };
95
+ // }
96
+
97
+
98
+ }
99
+
100
+
101
+ getStoredProjectAndUserRole() {
102
+ const stored_project = localStorage.getItem('last_project')
103
+ this.logger.log('[SIDEBAR] stored_project ', stored_project)
104
+ if (stored_project && stored_project !== 'undefined') {
105
+ const project = JSON.parse(stored_project)
106
+ this.logger.log('[SIDEBAR] project ', project)
107
+
108
+ this.project_id = project.id_project.id
109
+ this.logger.log('[SIDEBAR] project_id ', this.project_id)
110
+
111
+ this.USER_ROLE = project.role;
112
+ this.logger.log('[SIDEBAR] USER_ROLE ', this.USER_ROLE)
113
+ this.buildURLs(this.USER_ROLE)
114
+ } else {
115
+ this.logger.log('[SIDEBAR] stored_project ', stored_project)
116
+ }
117
+ }
118
+
119
+ buildURLs(USER_ROLE) {
120
+ this.dashboard_home_url = this.DASHBOARD_URL + this.project_id + '/home'
121
+ this.dashboard_bots_url = this.DASHBOARD_URL + this.project_id + '/bots'
122
+ this.dashboard_convs_url = this.DASHBOARD_URL + this.project_id + '/wsrequests'
123
+ this.dashboard_contacts_url = this.DASHBOARD_URL + this.project_id + '/contacts'
124
+ this.dashboard_app_url = this.DASHBOARD_URL + this.project_id + '/app-store'
125
+ this.dashboard_analytics_url = this.DASHBOARD_URL + this.project_id + '/analytics'
126
+ this.dashboard_activities_url = this.DASHBOARD_URL + this.project_id + '/activities'
127
+ this.dashboard_history_url = this.DASHBOARD_URL + this.project_id + '/history'
128
+ this.dashboard_settings_url = ''
129
+ if (USER_ROLE !== 'agent') {
130
+ this.dashboard_settings_url = this.DASHBOARD_URL + this.project_id + '/widget-set-up'
131
+ } else if (USER_ROLE === 'agent') {
132
+ this.dashboard_settings_url = this.DASHBOARD_URL + this.project_id + '/cannedresponses'
133
+ }
134
+
135
+ }
136
+
137
+ subcribeToAuthStateChanged() {
138
+ this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
139
+ this.logger.log('[SIDEBAR] BSAuthStateChanged ', state)
140
+
141
+ if (state === 'online') {
142
+ this.currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
143
+ this.logger.log('[SIDEBAR] currentUser ', this.currentUser)
144
+ if (this.currentUser) {
145
+ this.createUserAvatar(this.currentUser)
146
+ this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(this.currentUser.uid)
147
+ this.logger.log('[SIDEBAR] photo_profile_URL ', this.photo_profile_URL)
148
+ this.checkIfExistPhotoProfile(this.photo_profile_URL)
149
+ }
150
+
151
+ }
152
+ })
153
+ }
154
+
155
+ checkIfExistPhotoProfile(imageUrl) {
156
+ this.verifyImageURL(imageUrl, (imageExists) => {
157
+
158
+ if (imageExists === true) {
159
+ this.USER_PHOTO_PROFILE_EXIST = true;
160
+ this.logger.log('[SIDEBAR] photo_profile_URL IMAGE EXIST ', imageExists)
161
+
162
+ } else {
163
+ this.USER_PHOTO_PROFILE_EXIST = false;
164
+ this.logger.log('[SIDEBAR] photo_profile_URL IMAGE EXIST ', imageExists)
165
+ }
166
+ })
167
+ }
168
+
169
+ createUserAvatar(currentUser) {
170
+ this.logger.log('[SIDEBAR] - createProjectUserAvatar ', currentUser)
171
+ let fullname = ''
172
+ if (currentUser && currentUser.firstname && currentUser.lastname) {
173
+ fullname = currentUser.firstname + ' ' + currentUser.lastname
174
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
175
+ currentUser['fillColour'] = getColorBck(fullname)
176
+ } else if (currentUser && currentUser.firstname) {
177
+ fullname = currentUser.firstname
178
+ currentUser['fullname_initial'] = avatarPlaceholder(fullname)
179
+ currentUser['fillColour'] = getColorBck(fullname)
180
+ } else {
181
+ currentUser['fullname_initial'] = 'N/A'
182
+ currentUser['fillColour'] = 'rgb(98, 100, 167)'
183
+ }
184
+ }
185
+
186
+ verifyImageURL(image_url, callBack) {
187
+ const img = new Image();
188
+ img.src = image_url;
189
+ img.onload = function () {
190
+ callBack(true);
191
+ };
192
+ img.onerror = function () {
193
+ callBack(false);
194
+ };
66
195
  }
67
196
 
68
197
  getCurrentChatLangAndTranslateLabels() {
@@ -85,11 +214,15 @@ export class SidebarComponent implements OnInit {
85
214
  this.logger.log('[SIDEBAR] chat_lang: ', chat_lang);
86
215
  } else if (browserLang && stored_preferred_lang) {
87
216
  chat_lang = stored_preferred_lang
88
-
89
217
  this.logger.log('[SIDEBAR] chat_lang: ', chat_lang);
90
218
  }
91
-
92
- this.translate.use(chat_lang);
219
+ if (tranlatedLanguage.includes(chat_lang)) {
220
+ this.logger.log('[SIDEBAR] tranlatedLanguage includes', chat_lang, ': ', tranlatedLanguage.includes(chat_lang))
221
+ this.translate.use(chat_lang);
222
+ } else {
223
+ this.logger.log('[SIDEBAR] tranlatedLanguage includes', chat_lang, ': ', tranlatedLanguage.includes(chat_lang))
224
+ this.translate.use('en');
225
+ }
93
226
  this.translateLabels()
94
227
  }
95
228
 
@@ -277,55 +410,32 @@ export class SidebarComponent implements OnInit {
277
410
  }
278
411
 
279
412
  // onCloseUserDetailsSidebar($event) {
280
- // this.logger.log('[SIDEBAR-CHAT] HAS_CLICKED_CLOSE_USER_DETAIL ', $event)
281
- // this.HAS_CLICKED_OPEN_USER_DETAIL = $event
282
- // const elemNavbar = <HTMLElement>document.querySelector('.navbar-absolute');
283
- // this.logger.log('[SIDEBAR] elemNavBar ', elemNavbar)
284
- // if (elemNavbar) {
285
- // elemNavbar.classList.remove("navbar-absolute-custom-class")
286
- // }
287
-
288
- // const elemNavbarBrand = <HTMLElement>document.querySelector('.navbar-brand');
289
- // this.logger.log('[SIDEBAR] elemNavbarBrand ', elemNavbarBrand)
290
- // if (elemNavbarBrand) {
291
- // elemNavbarBrand.classList.remove("navbar-brand-z-index-zero")
292
- // }
413
+ // this.logger.log('[SIDEBAR-CHAT] HAS_CLICKED_CLOSE_USER_DETAIL ', $event)
414
+ // this.HAS_CLICKED_OPEN_USER_DETAIL = $event
415
+ // const elemNavbar = <HTMLElement>document.querySelector('.navbar-absolute');
416
+ // this.logger.log('[SIDEBAR] elemNavBar ', elemNavbar)
417
+ // if (elemNavbar) {
418
+ // elemNavbar.classList.remove("navbar-absolute-custom-class")
293
419
  // }
294
420
 
295
- subcribeToAuthStateChanged() {
296
- this.messagingAuthService.BSAuthStateChanged.subscribe((state) => {
297
- this.logger.log('[SIDEBAR] BSAuthStateChanged ', state)
298
-
299
- if (state === 'online') {
300
- const currentUser = JSON.parse(this.appStorageService.getItem('currentUser'));
301
- this.logger.log('[SIDEBAR] currentUser ', currentUser)
302
- if (currentUser) {
303
- this.photo_profile_URL = this.imageRepoService.getImagePhotoUrl(currentUser.uid)
304
- this.logger.log('[SIDEBAR] photo_profile_URL ', this.photo_profile_URL)
305
- }
306
-
307
- }
308
- })
309
- }
310
-
311
-
312
- getStoredProjectAndDashboardBaseUrl() {
313
- const stored_project = localStorage.getItem('last_project')
314
- // console.log('[SIDEBAR] stored_project ', stored_project)
315
- if (stored_project) {
316
- const project = JSON.parse(stored_project)
317
- this.logger.log('[SIDEBAR] project ', project)
421
+ // const elemNavbarBrand = <HTMLElement>document.querySelector('.navbar-brand');
422
+ // this.logger.log('[SIDEBAR] elemNavbarBrand ', elemNavbarBrand)
423
+ // if (elemNavbarBrand) {
424
+ // elemNavbarBrand.classList.remove("navbar-brand-z-index-zero")
425
+ // }
426
+ // }
318
427
 
319
- this.project_id = project.id_project.id
320
- this.logger.log('[SIDEBAR] project_id ', this.project_id)
321
428
 
322
- this.USER_ROLE = project.role;
323
- this.logger.log('[SIDEBAR] USER_ROLE ', this.USER_ROLE)
324
- }
325
- }
326
429
 
327
430
  goToHome() {
328
431
  let url = this.DASHBOARD_URL + this.project_id + '/home'
432
+ this.dashboard_home_url = url;
433
+ const myWindow = window.open(url, '_self');
434
+ myWindow.focus();
435
+ }
436
+
437
+ goToBots() {
438
+ let url = this.DASHBOARD_URL + this.project_id + '/bots'
329
439
  const myWindow = window.open(url, '_self');
330
440
  myWindow.focus();
331
441
  }
@@ -368,12 +478,28 @@ export class SidebarComponent implements OnInit {
368
478
  myWindow.focus();
369
479
  }
370
480
 
481
+ goToWidgetSetUpOrToCannedResponses() {
482
+ if (this.USER_ROLE !== 'agent') {
483
+ this.goToWidgetSetUp()
484
+ } else if (this.USER_ROLE === 'agent') {
485
+ this.goToSettings_CannedResponses()
486
+ }
487
+ }
488
+
489
+ goToWidgetSetUp() {
490
+ let url = this.DASHBOARD_URL + this.project_id + '/widget-set-up'
491
+ const myWindow = window.open(url, '_self');
492
+ myWindow.focus();
493
+ }
494
+
371
495
  goToSettings_CannedResponses() {
372
496
  let url = this.DASHBOARD_URL + this.project_id + '/cannedresponses'
373
497
  const myWindow = window.open(url, '_self');
374
498
  myWindow.focus();
375
499
  }
376
500
 
501
+
502
+
377
503
  public translations() {
378
504
  const keys = [
379
505
  'Available',
@@ -21,8 +21,16 @@
21
21
 
22
22
  <!-- (click)="goToUserProfile()" -->
23
23
  <div role="button" class="user-details-avatar">
24
- <img class="user-img-in-sidebar-user-details" [src]="photo_profile_URL"
24
+ <img *ngIf="USER_PHOTO_PROFILE_EXIST" class="user-img-in-sidebar-user-details" [src]="photo_profile_URL"
25
25
  onerror="this.src='assets/images/no_image_user.png'" />
26
+
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 + ')'}">
29
+ <span id="sidebaravatar-altenative-user-avatar" class="sidebar-user-details-altenative-user-avatar">
30
+ {{ user?.fullname_initial }}
31
+ </span>
32
+ </div>
33
+
26
34
  </div>
27
35
 
28
36
  <div class="user-details-user-isbusy" *ngIf="IS_BUSY === true" style="cursor:pointer"
@@ -68,7 +76,7 @@
68
76
  <section *ngIf="isVisiblePAY" class="user-details-plan-info">
69
77
  <span>
70
78
  <div> {{prjct_name}} </div>
71
- <div style="display: inline-block;"> {{ profile_name_translated }} </div>
79
+ <div style="display: inline-block;"> {{ profile_name_translated }} </div>
72
80
 
73
81
  <div *ngIf="plan_type === 'payment' && plan_subscription_is_active === false"
74
82
  style="color:#f44336; position:relative; top: -1px;;display: inline-block;">
@@ -91,12 +99,23 @@
91
99
  border-top: 1px solid rgba(255, 255,255, 0.2);"> -->
92
100
 
93
101
 
94
- <section class="user-details-footer-section" (click)=onLogout()
102
+ <section class="user-details-footer-section"
95
103
  [ngClass]="{'footer-margin-top-pricing-no-visible': isVisiblePAY === false }">
96
- <i class="material-icons user-details-logout-icon">
97
- logout
98
- </i>
99
- <div> Logout</div>
104
+ <div role="button" class="logout-btn-wpr" (click)=onLogout()>
105
+ <i class="material-icons user-details-logout-icon" >
106
+ logout
107
+ </i>
108
+ <div class="user-details-logout-text">
109
+ {{LOGOUT_msg}}
110
+ </div>
111
+ </div>
112
+ </section>
113
+
114
+ <section class="user-details-footer-chat-version">
115
+ <div class="chat-version">
116
+ <!-- &copy; {{test | date: 'yyyy'}} {{company_name}} ver {{version}} -->
117
+ ver {{version}}
118
+ </div>
100
119
  </section>
101
120
 
102
121
  </div>
@@ -14,7 +14,7 @@
14
14
  // transform: translate(60px);
15
15
  transition: transform 0.5s;
16
16
  width: 305px;
17
- left: -245px
17
+ left: -245px;
18
18
  // z-index: 1029;
19
19
  // transform: translateX(-100%);
20
20
  // -webkit-transform: translateX(-100%);
@@ -90,14 +90,15 @@ button.user-details-btn-close {
90
90
  }
91
91
 
92
92
  .user-details-dshbrd-lang-code {
93
- text-transform: uppercase;color: #647491;
93
+ text-transform: uppercase;
94
+ color: #647491;
94
95
  font-family: "Roboto", sans-serif !important;
95
96
  font-size: 14px;
96
97
  }
97
98
 
98
99
  .user-details-avatar {
99
100
  text-align: center;
100
- cursor: pointer;
101
+ // cursor: pointer;
101
102
  position: absolute;
102
103
  top: 82px;
103
104
  border-radius: 50%;
@@ -139,10 +140,9 @@ button.user-details-btn-close {
139
140
  text-align: center;
140
141
  margin-bottom: 5px;
141
142
  font-size: 16px;
142
- font-family: 'Poppins';
143
+ font-family: "Poppins";
143
144
  font-weight: 500;
144
145
  line-height: 24px;
145
-
146
146
  }
147
147
 
148
148
  .user-details-email {
@@ -157,10 +157,10 @@ button.user-details-btn-close {
157
157
  font-size: 14px;
158
158
  text-align: center;
159
159
  margin-top: 5px;
160
- font-family: 'Poppins';
160
+ font-family: "Poppins";
161
161
  font-weight: 400;
162
162
  line-height: 1px;
163
-
163
+ white-space: nowrap;
164
164
  }
165
165
 
166
166
  .user-details-role {
@@ -178,8 +178,7 @@ button.user-details-btn-close {
178
178
  text-transform: uppercase;
179
179
  color: #a9afbb;
180
180
  font-weight: 500;
181
- font-family: 'Roboto', sans-serif !important;
182
-
181
+ font-family: "Roboto", sans-serif !important;
183
182
  }
184
183
 
185
184
  .availability-section {
@@ -199,7 +198,7 @@ button.user-details-btn-close {
199
198
  .first-divider {
200
199
  margin-top: 355px;
201
200
  border: 0;
202
- border-top: 1px solid rgba(255, 255,255, 0.2);
201
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
203
202
  margin-bottom: 20px;
204
203
  }
205
204
 
@@ -226,17 +225,17 @@ button.user-details-btn-close {
226
225
  background-color: #2d323e;
227
226
  border-radius: 50%;
228
227
  position: absolute;
229
- top: 92px;
230
- width: 24px;
231
- height: 24px;
228
+ top: 96px;
229
+ width: 21px;
230
+ height: 21px;
232
231
  left: 101px;
233
232
  }
234
233
 
235
234
  .user-details-user-isbusy-icon {
236
235
  font-size: 18px !important;
237
236
  position: relative;
238
- top: 3px;
239
- left: 3px;
237
+ top: 2px;
238
+ left: 2px;
240
239
  }
241
240
 
242
241
  .user-details-plan-info {
@@ -254,28 +253,45 @@ button.user-details-btn-close {
254
253
  margin: auto;
255
254
  position: absolute;
256
255
  text-align: center;
257
- cursor: pointer;
256
+
258
257
  padding-bottom: 15px;
259
258
  padding-top: 200px;
260
259
  font-size: 16px;
261
260
  font-weight: 400;
262
261
  // bottom: 50px;
262
+ bottom: 55px;
263
263
  // top:355px
264
264
  }
265
265
 
266
+ .logout-btn-wpr {
267
+ cursor: pointer;
268
+ }
269
+
266
270
  .footer-margin-top-pricing-no-visible {
267
271
  padding-top: 240px;
268
272
  }
269
273
  .user-details-logout-icon {
270
274
  color: #a9afbb;
271
275
  font-size: 30px;
272
- margin-top: 30px;
276
+ // margin-top: 30px;
273
277
  }
274
278
 
275
279
  .user-details-logout-icon:hover {
276
280
  color: #fff;
277
281
  }
278
282
 
283
+ .user-details-footer-chat-version {
284
+ position: absolute;
285
+ bottom: 11px;
286
+ text-align: center;
287
+ margin: auto;
288
+ transform: translateX(-50%);
289
+ left: 50%;
290
+ margin: auto;
291
+ font-size: 12px;
292
+ font-weight: 400;
293
+ }
294
+
279
295
  :host ::ng-deep .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {
280
296
  background-color: #a9afbb;
281
297
  margin-left: 30px;
@@ -305,6 +321,15 @@ button.user-details-btn-close {
305
321
  }
306
322
 
307
323
  ::ng-deep .custom-mat-tooltip {
308
- background-color: #2d323e;
309
- font-size: 12px;
324
+ background-color: #2d323e !important;
325
+ font-size: 12px !important;
326
+ border-radius: 2px !important;
327
+ font-family: "Poppins" !important;
328
+ }
329
+
330
+ .sidebar-user-details-altenative-user-avatar {
331
+ line-height: 3.2;
332
+ font-weight: 400;
333
+ font-family: "Poppins";
334
+ font-size: 32px;
310
335
  }