@chat21/chat21-ionic 3.0.5-9.2 → 3.0.6-2.3

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 (178) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/LICENSE +661 -21
  3. package/README.md +13 -1
  4. package/angular.json +4 -0
  5. package/config.xml +4 -5
  6. package/deploy_pre.sh +44 -5
  7. package/deploy_prod.sh +36 -7
  8. package/env.sample +4 -2
  9. package/package.json +12 -8
  10. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  14. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  15. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  16. package/resources/{Android → android}/icon.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  27. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  28. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  29. package/resources/{Android → android}/splash.png +0 -0
  30. package/src/app/app-routing.module.ts +15 -0
  31. package/src/app/app.component.html +14 -4
  32. package/src/app/app.component.scss +18 -1
  33. package/src/app/app.component.ts +98 -37
  34. package/src/app/app.module.ts +14 -5
  35. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -25
  36. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +160 -50
  37. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +108 -18
  38. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +21 -36
  39. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +19 -7
  40. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +63 -42
  41. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -1
  42. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
  43. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +141 -21
  44. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.ts +13 -10
  45. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
  46. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +7 -1
  47. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +148 -63
  48. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +101 -39
  49. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +73 -2
  50. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +168 -98
  51. package/src/app/components/ddp-header/ddp-header.component.html +20 -6
  52. package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
  53. package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
  54. package/src/app/components/image-viewer/image-viewer.component.scss +2 -2
  55. package/src/app/components/project-item/project-item.component.html +141 -118
  56. package/src/app/components/project-item/project-item.component.scss +173 -91
  57. package/src/app/components/project-item/project-item.component.ts +59 -25
  58. package/src/app/components/sidebar/sidebar.component.html +275 -0
  59. package/src/app/components/sidebar/sidebar.component.scss +79 -0
  60. package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
  61. package/src/app/components/sidebar/sidebar.component.ts +541 -0
  62. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +137 -0
  63. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +389 -0
  64. package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
  65. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +530 -0
  66. package/src/app/pages/conversation-detail/conversation-detail.module.ts +9 -2
  67. package/src/app/pages/conversation-detail/conversation-detail.page.html +53 -49
  68. package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
  69. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1254 -753
  70. package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
  71. package/src/app/pages/conversations-list/conversations-list.page.html +24 -11
  72. package/src/app/pages/conversations-list/conversations-list.page.scss +20 -1
  73. package/src/app/pages/conversations-list/conversations-list.page.ts +687 -420
  74. package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
  75. package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
  76. package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
  77. package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
  78. package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
  79. package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
  80. package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
  81. package/src/app/pages/create-requester/create-requester.module.ts +28 -0
  82. package/src/app/pages/create-requester/create-requester.page.html +67 -0
  83. package/src/app/pages/create-requester/create-requester.page.scss +30 -0
  84. package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
  85. package/src/app/pages/create-requester/create-requester.page.ts +138 -0
  86. package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
  87. package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
  88. package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
  89. package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
  90. package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
  91. package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
  92. package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
  93. package/src/app/pages/profile-info/profile-info.page.html +4 -4
  94. package/src/app/pages/profile-info/profile-info.page.scss +13 -2
  95. package/src/app/pages/profile-info/profile-info.page.ts +23 -21
  96. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +16 -11
  97. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +157 -63
  98. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +51 -16
  99. package/src/app/services/app-config.ts +14 -14
  100. package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
  101. package/src/app/shared/shared.module.ts +21 -7
  102. package/src/app/utils/scrollbar-theme.directive.ts +58 -24
  103. package/src/assets/i18n/de.json +266 -0
  104. package/src/assets/i18n/en.json +85 -10
  105. package/src/assets/i18n/es.json +266 -0
  106. package/src/assets/i18n/fr.json +266 -0
  107. package/src/assets/i18n/it.json +104 -37
  108. package/src/assets/i18n/pt.json +266 -0
  109. package/src/assets/i18n/ru.json +266 -0
  110. package/src/assets/i18n/sr.json +266 -0
  111. package/src/assets/i18n/tr.json +266 -0
  112. package/src/assets/images/default-avatar-x-select.png +0 -0
  113. package/src/assets/images/language_flag/ar.png +0 -0
  114. package/src/assets/images/language_flag/bg.png +0 -0
  115. package/src/assets/images/language_flag/ca.png +0 -0
  116. package/src/assets/images/language_flag/cs.png +0 -0
  117. package/src/assets/images/language_flag/da.png +0 -0
  118. package/src/assets/images/language_flag/de.png +0 -0
  119. package/src/assets/images/language_flag/el.png +0 -0
  120. package/src/assets/images/language_flag/en.png +0 -0
  121. package/src/assets/images/language_flag/es.png +0 -0
  122. package/src/assets/images/language_flag/fa.png +0 -0
  123. package/src/assets/images/language_flag/fi.png +0 -0
  124. package/src/assets/images/language_flag/fr.png +0 -0
  125. package/src/assets/images/language_flag/he.png +0 -0
  126. package/src/assets/images/language_flag/hi.png +0 -0
  127. package/src/assets/images/language_flag/hr.png +0 -0
  128. package/src/assets/images/language_flag/hu.png +0 -0
  129. package/src/assets/images/language_flag/id.png +0 -0
  130. package/src/assets/images/language_flag/it.png +0 -0
  131. package/src/assets/images/language_flag/ja.png +0 -0
  132. package/src/assets/images/language_flag/ko.png +0 -0
  133. package/src/assets/images/language_flag/ml-IN.png +0 -0
  134. package/src/assets/images/language_flag/ne-NP.png +0 -0
  135. package/src/assets/images/language_flag/nl.png +0 -0
  136. package/src/assets/images/language_flag/no.png +0 -0
  137. package/src/assets/images/language_flag/pl.png +0 -0
  138. package/src/assets/images/language_flag/pt-BR.png +0 -0
  139. package/src/assets/images/language_flag/pt.png +0 -0
  140. package/src/assets/images/language_flag/ro.png +0 -0
  141. package/src/assets/images/language_flag/ru.png +0 -0
  142. package/src/assets/images/language_flag/sk.png +0 -0
  143. package/src/assets/images/language_flag/sl.png +0 -0
  144. package/src/assets/images/language_flag/sr.png +0 -0
  145. package/src/assets/images/language_flag/sv-SE.png +0 -0
  146. package/src/assets/images/language_flag/ta.png +0 -0
  147. package/src/assets/images/language_flag/th.png +0 -0
  148. package/src/assets/images/language_flag/tr.png +0 -0
  149. package/src/assets/images/language_flag/uk.png +0 -0
  150. package/src/assets/images/language_flag/vi.png +0 -0
  151. package/src/assets/images/language_flag/zh-CN.png +0 -0
  152. package/src/assets/images/language_flag/zh-TW.png +0 -0
  153. package/src/assets/images/no_image_user.png +0 -0
  154. package/src/assets/images/priority_icons/high.svg +3 -0
  155. package/src/assets/images/priority_icons/high_v2.svg +14 -0
  156. package/src/assets/images/priority_icons/low.svg +10 -0
  157. package/src/assets/images/priority_icons/low_v2.svg +14 -0
  158. package/src/assets/images/priority_icons/medium.svg +16 -0
  159. package/src/assets/images/priority_icons/medium_v2.svg +11 -0
  160. package/src/assets/images/priority_icons/urgent.svg +4 -0
  161. package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
  162. package/src/assets/js/chat21client.js +16 -3
  163. package/src/assets/tiledesk-solo-logo.png +0 -0
  164. package/src/chat-config-mqtt.json +27 -17
  165. package/src/chat-config-pre-test.json +5 -1
  166. package/src/chat-config-pre.json +15 -3
  167. package/src/chat-config-template.json +6 -2
  168. package/src/chat-config.json +5 -1
  169. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +61 -45
  170. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +23 -0
  171. package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +1 -1
  172. package/src/chat21-core/utils/constants.ts +8 -1
  173. package/src/chat21-core/utils/utils-message.ts +19 -0
  174. package/src/chat21-core/utils/utils.ts +12 -1
  175. package/src/global.scss +408 -2
  176. package/src/index.html +7 -0
  177. package/publish_pre.sh +0 -33
  178. package/publish_prod.sh +0 -33
@@ -7,140 +7,163 @@
7
7
  <!-- *ngIf="!showSpinner" -->
8
8
  <div class="left-sidebar-project" style="margin-right: -10px;">
9
9
 
10
- <!-- *ngFor="let project of projects; let i = index" -->
11
- <div style="cursor:pointer">
12
- <!-- (click)='goToUnservedRequests(project?.id_project?._id, project?.id_project?.name, project?.id_project?.profile?.name, project?.id_project?.trialExpired, project?.id_project?.trialDaysLeft, project?.id_project?.status)' -->
13
- <div class="small-projects-sidebar">
14
- <div *ngIf="project?.id_project?.status !== 0" class="flex-container-project-for-panel project-row">
15
- <div class="flex-child-left">
16
- <!-- padding:6px; background: rgb(31,107,192); -->
17
- <div class="unassigned-notifications-icon-wpr">
18
- <!-- <svg viewBox="0 0 28 28" alt="" class="a8c37x1j ms05siws hwsy1cff b7h9ocf4 fzdkajry" height="40"
19
- width="40"
20
- style="vertical-align: middle;border-radius: 50%;">
21
- <style type="text/css">
22
- .notifications-icons {
23
- fill: #050505;
24
- }
25
- </style>
26
- <path class="notifications-icons"
27
- d="M7.847 23.488C9.207 23.488 11.443 23.363 14.467 22.806 13.944 24.228 12.581 25.247 10.98 25.247 9.649 25.247 8.483 24.542 7.825 23.488L7.847 23.488ZM24.923 15.73C25.17 17.002 24.278 18.127 22.27 19.076 21.17 19.595 18.724 20.583 14.684 21.369 11.568 21.974 9.285 22.113 7.848 22.113 7.421 22.113 7.068 22.101 6.79 22.085 4.574 21.958 3.324 21.248 3.077 19.976 2.702 18.049 3.295 17.305 4.278 16.073L4.537 15.748C5.2 14.907 5.459 14.081 5.035 11.902 4.086 7.022 6.284 3.687 11.064 2.753 15.846 1.83 19.134 4.096 20.083 8.977 20.506 11.156 21.056 11.824 21.986 12.355L21.986 12.356 22.348 12.561C23.72 13.335 24.548 13.802 24.923 15.73Z">
28
- </path>
29
- </svg> -->
30
-
31
- <!-- <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="bell"
32
- class="svg-inline--fa fa-bell fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg"
33
- viewBox="0 0 448 512" height="auto" width="24px">
34
- <path fill="currentColor"
35
- d="M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z">
36
- </path>
37
- </svg> -->
38
-
39
- <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false"
40
- class="style-scope yt-icon"
41
- style="pointer-events: none; width: 37px; height:auto; fill: rgb(107,107,107);margin-left:4px">
42
- <g class="style-scope yt-icon">
43
- <path
44
- d="M10,20h4c0,1.1-0.9,2-2,2S10,21.1,10,20z M20,17.35V19H4v-1.65l2-1.88v-5.15c0-2.92,1.56-5.22,4-5.98V3.96 c0-1.42,1.49-2.5,2.99-1.76C13.64,2.52,14,3.23,14,3.96l0,0.39c2.44,0.75,4,3.06,4,5.98v5.15L20,17.35z M19,17.77l-2-1.88v-5.47 c0-2.47-1.19-4.36-3.13-5.1c-1.26-0.53-2.64-0.5-3.84,0.03C8.15,6.11,7,7.99,7,10.42v5.47l-2,1.88V18h14V17.77z"
45
- class="style-scope yt-icon"></path>
46
- </g>
47
- </svg>
48
-
49
- </div>
50
- <div class="unassigned-notifications-badge">
51
- <!-- || currentUserRequestCount > 0 -->
52
- <!-- <span *ngIf="unservedRequestCount > 0 "> -->
53
- <!-- + currentUserRequestCount -->
54
- <span class="notification-count">{{ unservedRequestCount }}</span>
55
- <!-- </span> -->
56
-
57
- </div>
58
-
10
+ <div class="small-projects-sidebar">
11
+ <!-- <div class="pinned-project">Pinned project </div> margin-left:4px -->
12
+ <div *ngIf="project?.id_project?.status !== 0" class="flex-container-project-for-panel project-row">
13
+ <div class="flex-child-left" [tooltip]="conversationsInQueue" [options]="tooltipOptions" placement="top"
14
+ content-type="template" (click)="openUnservedConvs()">
15
+ <div class="unassigned-notifications-icon-wpr">
16
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false"
17
+ class="style-scope yt-icon"
18
+ style="pointer-events: none; width: 37px; height:auto; fill: rgb(107,107,107);margin-top: 9px;">
19
+ <g class="style-scope yt-icon">
20
+ <path
21
+ d="M10,20h4c0,1.1-0.9,2-2,2S10,21.1,10,20z M20,17.35V19H4v-1.65l2-1.88v-5.15c0-2.92,1.56-5.22,4-5.98V3.96 c0-1.42,1.49-2.5,2.99-1.76C13.64,2.52,14,3.23,14,3.96l0,0.39c2.44,0.75,4,3.06,4,5.98v5.15L20,17.35z M19,17.77l-2-1.88v-5.47 c0-2.47-1.19-4.36-3.13-5.1c-1.26-0.53-2.64-0.5-3.84,0.03C8.15,6.11,7,7.99,7,10.42v5.47l-2,1.88V18h14V17.77z"
22
+ class="style-scope yt-icon"></path>
23
+ </g>
24
+ </svg>
59
25
  </div>
26
+ <div class="unassigned-notifications-badge" *ngIf="unservedRequestCount > 0">
27
+ <!-- || currentUserRequestCount > 0 -->
28
+ <!-- <span *ngIf="unservedRequestCount > 0 "> -->
29
+ <!-- + currentUserRequestCount -->
30
+ <span class="notification-count">{{ unservedRequestCount }}</span>
31
+ </div>
32
+ </div>
60
33
 
61
-
62
- <div class="flex-child-right">
63
- <div class="project-name-project-for-panel">
64
- {{ project?.id_project?.name }}
34
+ <ng-template #conversationsInQueue>
35
+ <span *ngIf="unservedRequestCount > 1">
36
+ {{ unservedRequestCount }}
37
+ {{translationMap?.get('CONVERSATIONS_IN_QUEUE') }}
38
+ </span>
39
+ <span *ngIf="unservedRequestCount === 1">
40
+ {{ unservedRequestCount }}
41
+ {{translationMap?.get('CONVERSATION_IN_QUEUE') }}
42
+ </span>
43
+ <span *ngIf="unservedRequestCount === 0">
44
+ {{translationMap?.get('NO_CONVERSATION_IN_QUEUE') }}
45
+
46
+ </span>
47
+ </ng-template>
48
+
49
+
50
+ <div class="flex-child-right">
51
+ <div class="project-name-project-for-panel" [ngClass]="{'project-name-project-for-panel-on-desktop': IS_ON_MOBILE_DEVICE === false}" [tooltip]="conversationsInQueueOnProjectName"
52
+ [options]="tooltipOptions" placement="top" content-type="template" (click)="openUnservedConvs()">
53
+ <div class="project---name"> {{ project?.id_project?.name }} </div>
54
+ </div>
55
+ <ng-template #conversationsInQueueOnProjectName>
56
+ <span *ngIf="unservedRequestCount > 1">
57
+ {{ unservedRequestCount }}
58
+ {{translationMap?.get('CONVERSATIONS_IN_QUEUE') }}
59
+ </span>
60
+ <span *ngIf="unservedRequestCount === 1">
61
+ {{ unservedRequestCount }}
62
+ {{translationMap?.get('CONVERSATION_IN_QUEUE') }}
63
+ </span>
64
+ <span *ngIf="unservedRequestCount === 0">
65
+ {{translationMap?.get('NO_CONVERSATION_IN_QUEUE') }}
66
+ </span>
67
+ </ng-template>
68
+
69
+ <div class="availabily-and-busy-wpr">
70
+ <div class="availabily---wpr" tooltip="{{avaialble_status_for_tooltip}}" [options]="tooltipOptions">
71
+ <div class="onoffswitch"
72
+ (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
73
+ <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox"
74
+ id="switchavailableunavailablestatus" tabindex="0" [checked]="project?.ws_projct_user_available">
75
+ <label class="onoffswitch-label" for="switchavailableunavailablestatus"></label>
76
+ </div>
65
77
  </div>
66
78
 
67
- <!-- <div class="status--text"
68
- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)"
79
+
80
+ <!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
81
+ <span *ngIf="project?.ws_projct_user_available === true" class="availibility-status-text"
69
82
  [ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
70
- <span *ngIf="project?.ws_projct_user_available === true">
71
- Online
72
- </span>
73
- <span *ngIf="project?.ws_projct_user_available === false">
74
- Offline
75
- </span>
76
- <span class="status--icon-project-for-panel"
77
- [ngStyle]="{ 'background-color':(project?.ws_projct_user_available)?'#4caf50':'#f44336' }">
78
- </span>
79
- <span class="status--icon-project-for-panel busy--icon"
80
- *ngIf="project?.ws_projct_user_isBusy === true">
81
- </span>
82
- </div> -->
83
- <div class="availabily-and-busy-wpr">
84
- <!-- <div class="onoffswitch"
85
- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
86
- <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch"
87
- tabindex="0" [checked]="project?.ws_projct_user_available">
88
- <label class="onoffswitch-label" for="myonoffswitch"></label>
89
- </div> -->
90
- <div class="availabily---wpr">
91
- <!-- <div class="i_onoffswitch"
92
- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
93
- <input type="checkbox" name="i_onoffswitch" class="i_onoffswitch-checkbox"
94
- id="i_switch_availability" tabindex="0" [checked]="project?.ws_projct_user_available">
95
- <label style="margin-bottom: 0px" class="i_onoffswitch-label" for="i_switch_availability"></label>
96
- </div> -->
97
-
98
-
99
- <div class="onoffswitch"
100
- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)">
101
- <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch"
102
- tabindex="0" [checked]="project?.ws_projct_user_available">
103
- <label class="onoffswitch-label" for="myonoffswitch"></label>
104
- </div>
105
- </div>
83
+ {{translationMap?.get('Available') }}
84
+ </span>
85
+ <!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
86
+ <span *ngIf="project?.ws_projct_user_available === false" class="availibility-status-text"
87
+ [ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
88
+ {{translationMap?.get('Unavailable')}}
89
+ </span>
106
90
 
107
- <!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
108
- <span *ngIf="project?.ws_projct_user_available === true" class="availibility-status-text"
109
- [ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
110
- {{translationMap?.get('Available') }}
111
- </span>
112
- <!-- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)" -->
113
- <span *ngIf="project?.ws_projct_user_available === false" class="availibility-status-text"
114
- [ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
115
- {{translationMap?.get('Unavailable')}}
116
- </span>
117
- <div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true">
118
- <!-- <span class="material-icons project-item--isBusy-icon">
91
+ <div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true" tooltip="{{translationMap?.get('Busy')}}"
92
+ [options]="tooltipOptions" placement="top" >
93
+ <!-- <span class="material-icons project-item--isBusy-icon">
119
94
  access_time
120
95
  </span> -->
121
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="16px"
122
- viewBox="0 0 24 24" width="16px" fill="#FEB92C">
123
- <g>
124
- <path d="M0,0h24v24H0V0z" fill="none" />
125
- </g>
126
- <g>
127
- <path
128
- d="M11.99,2C6.47,2,2,6.48,2,12s4.47,10,9.99,10C17.52,22,22,17.52,22,12S17.52,2,11.99,2z M15.29,16.71L11,12.41V7h2v4.59 l3.71,3.71L15.29,16.71z" />
129
- </g>
96
+ <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="16px"
97
+ viewBox="0 0 24 24" width="16px" fill="#FEB92C">
98
+ <g>
99
+ <path d="M0,0h24v24H0V0z" fill="none" />
100
+ </g>
101
+ <g>
102
+ <path
103
+ d="M11.99,2C6.47,2,2,6.48,2,12s4.47,10,9.99,10C17.52,22,22,17.52,22,12S17.52,2,11.99,2z M15.29,16.71L11,12.41V7h2v4.59 l3.71,3.71L15.29,16.71z" />
104
+ </g>
105
+ </svg>
106
+ </div>
107
+ <!-- <span *ngIf="project?.ws_projct_user_isBusy === true"
108
+ class="project-item--isBusy-busy-text text-pulse-animation">
109
+ {{translationMap?.get('Busy')}}
110
+ </span> -->
111
+ </div>
112
+ </div>
113
+
114
+ <div *ngIf="IS_ON_MOBILE_DEVICE === true" class="flex-child-view-all-convs">
115
+ <div class="view-all-convs-icon-wpr" style="cursor: pointer;" [tooltip]="viewAllConvs"
116
+ [options]="tooltipOptions" placement="top" content-type="template">
117
+
118
+ <ion-button ion-button fill="clear" class="open-unserved-convs-btn"
119
+ (click)="openUnservedConvsAndGoToProjectList()">
120
+
121
+ <span class="push-icon-and-list-wpr">
122
+ <!-- <svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
123
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
124
+ style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 20px;">
125
+ <style type="text/css">
126
+ .st0 {
127
+ fill: #3880ff;
128
+ }
129
+ </style>
130
+ <path class="st0"
131
+ d="M22.8,15v-2c-1.7,0-3-1.3-3-3V5h1c0.5,0,1-0.5,1-1s-0.5-1-1-1h-10c-0.5,0-1,0.5-1,1s0.5,1,1,1h1v5
132
+ c0,1.7-1.3,3-3,3v2h6v5c0.6,0,1.4,0,2,0v-5H22.8z M12.8,13c0.7-0.9,1-1.9,1-3V5h4v5c0,1.1,0.4,2.2,1,3H12.8z" />
133
+ <rect x="1.2" y="13" class="st0" width="6.3" height="2" />
134
+ <rect x="1.2" y="18" class="st0" width="12.1" height="2" />
135
+ <rect x="1.2" y="7.6" class="st0" width="9.2" height="2" />
136
+ </svg> -->
137
+
138
+ <svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
139
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
140
+ style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 16px;">
141
+ <style type="text/css">
142
+ .st0 {
143
+ fill: #165CEE;
144
+ }
145
+ </style>
146
+ <path class="st0" d="M20.6,16.3v-2.4c-2.1,0-3.7-1.6-3.7-3.7V4h1.2c0.6,0,1.2-0.6,1.2-1.2s-0.6-1.2-1.2-1.2H5.9
147
+ c-0.6,0-1.2,0.6-1.2,1.2S5.3,4,5.9,4h1.2v6.1c0,2.1-1.6,3.7-3.7,3.7v2.4h7.3v6.1c0.7,0,1.7,0,2.4,0v-6.1H20.6z M8.3,13.8
148
+ c0.9-1.1,1.2-2.3,1.2-3.7V4h4.9v6.1c0,1.3,0.5,2.7,1.2,3.7H8.3z" />
130
149
  </svg>
131
- </div>
132
- <span *ngIf="project?.ws_projct_user_isBusy === true" class="project-item--isBusy-busy-text text-pulse-animation">
133
- {{translationMap?.get('Busy')}}
134
150
  </span>
135
- </div>
136
151
 
137
- </div>
138
152
 
153
+
154
+ </ion-button>
155
+ </div>
156
+ <ng-template #viewAllConvs>
157
+ <span>
158
+ {{translationMap?.get('CHANGE_PINNED_PROJECT') }}</span>
159
+ </ng-template>
139
160
  </div>
140
- </div>
141
161
 
162
+ </div>
142
163
  </div>
143
164
 
165
+ <!-- </div> -->
166
+
144
167
  </div>
145
168
  </div>
146
169
  </div>
@@ -9,19 +9,18 @@
9
9
  width: 100%;
10
10
  // min-height: 70px;
11
11
  // height: 70px;
12
- min-height: 55px;
13
- height: 55px;
12
+ min-height: 64px;
13
+ height: 64px;
14
14
  position: relative;
15
- top: -5px;
15
+ // top: -5px; //nk x AS
16
16
  }
17
17
 
18
+
19
+
18
20
  // .main-content-project-for-panel:hover {
19
21
  // background-color: rgb(244, 243, 244);
20
22
  // }
21
- .container-project-for-panel {
22
- padding: 0px !important;
23
- width: 296px;
24
- }
23
+
25
24
 
26
25
  /* Hide scrollbar for Chrome, Safari and Opera */
27
26
  .main-content-projects-for-panel::-webkit-scrollbar {
@@ -216,38 +215,68 @@
216
215
  }
217
216
  }
218
217
 
218
+ .container-project-for-panel {
219
+ padding: 0px !important;
220
+ width: 296px;
221
+ }
222
+
219
223
  .flex-container-project-for-panel {
220
224
  display: flex;
221
225
  width: 100%;
222
226
  justify-content: center;
223
227
  align-items: center;
224
- position: relative;
225
- cursor: pointer;
228
+ // position: relative;
229
+ // cursor: pointer;
226
230
  -moz-transition: all 0.2s ease-in;
227
231
  -o-transition: all 0.2s ease-in;
228
232
  -webkit-transition: all 0.2s ease-in;
229
233
  transition: all 0.2s ease-in;
230
- height: 70px;
234
+ height: 64px;
231
235
  }
232
236
 
233
237
  .flex-container:hover {
234
238
  background-color: rgba(200, 200, 200, 0.2);
235
239
  }
236
240
 
241
+ .flex-child-right {
242
+ flex: 1;
243
+ padding: 18px 0px;
244
+ // width: 227px;
245
+ // width: 207px;
246
+ height: 100%;
247
+ }
248
+
249
+
237
250
  .flex-child-left {
238
251
  // flex: 0 0 20%;
239
252
  width: 60px;
240
253
  text-align: center;
241
- padding: 8px 0px;
254
+ padding: 18px 0px;
255
+ height: 100%;
242
256
  }
243
257
  // border: 2px solid yellow;
244
258
 
245
- .flex-child-right {
246
- flex: 1;
247
- padding: 8px 0px;
248
- width: 227px;
259
+ .flex-child-view-all-convs {
260
+ width: 40px;
261
+ text-align: center;
262
+ padding: 18px 0px;
263
+ height: 100%;
264
+ margin-top: 5px;
265
+ margin-right: 10px;
249
266
  }
250
267
 
268
+ @media (max-width: 768px) {
269
+ .container-project-for-panel {
270
+ width: 100%;
271
+ }
272
+ .flex-child-view-all-convs {
273
+ margin-right: 20px;
274
+ }
275
+ }
276
+
277
+
278
+
279
+
251
280
  .status--icon-project-for-panel {
252
281
  width: 13px;
253
282
  height: 13px;
@@ -282,7 +311,8 @@
282
311
  color: #1e2129;
283
312
  font-weight: 400;
284
313
  margin-left: 10px;
285
- width: 220px !important;
314
+ width: 185px ;
315
+ // width: 220px !important;
286
316
  white-space: nowrap !important;
287
317
  overflow: hidden !important;
288
318
  text-overflow: ellipsis !important;
@@ -290,6 +320,30 @@
290
320
  font-size: 14px;
291
321
  position: relative;
292
322
  top: -1px;
323
+ cursor: pointer;
324
+ }
325
+
326
+
327
+ .project-name-project-for-panel-on-desktop {
328
+ width: 217px
329
+ }
330
+
331
+ // .project-name-project-for-panel:hover span {
332
+ // color: rgba(0, 0, 0, 0.35);
333
+ // // display: none;
334
+ // width: fit-content;
335
+ // display: block;
336
+ // }
337
+ .project---name {
338
+ width: fit-content;
339
+
340
+ }
341
+ .project---name:hover {
342
+ color: rgba(0, 0, 0, 0.35);
343
+ }
344
+
345
+ .view-all-convs-icon:hover {
346
+ color: rgba(0, 0, 0, 0.35);
293
347
  }
294
348
 
295
349
  // .im-available-project-for-panel {
@@ -336,7 +390,7 @@
336
390
 
337
391
  .project-item--isBusy-icon {
338
392
  border-radius: 50%;
339
- background-color:#FEB92C;
393
+ background-color: #feb92c;
340
394
  font-size: 14px;
341
395
  color: #fff;
342
396
  position: relative;
@@ -363,7 +417,7 @@
363
417
  color: #999999;
364
418
  }
365
419
  50% {
366
- color: #FEB92C;
420
+ color: #feb92c;
367
421
  }
368
422
  100% {
369
423
  color: #999999;
@@ -375,7 +429,7 @@
375
429
  color: #999999;
376
430
  }
377
431
  50% {
378
- color: #FEB92C;
432
+ color: #feb92c;
379
433
  }
380
434
  100% {
381
435
  color: #999999;
@@ -387,7 +441,7 @@
387
441
  color: #999999;
388
442
  }
389
443
  50% {
390
- color: #FEB92C;
444
+ color: #feb92c;
391
445
  }
392
446
  100% {
393
447
  color: #999999;
@@ -395,9 +449,21 @@
395
449
  }
396
450
 
397
451
  .unassigned-notifications-icon-wpr {
398
- padding-left: 3px;
452
+ // padding-left: 3px;
453
+ // position: relative;
454
+ // top: 3px;
455
+
399
456
  position: relative;
400
- top: 3px;
457
+ top: -8px;
458
+ background: transparent;
459
+ border-radius: 50%;
460
+ width: 50px;
461
+ left: 10px;
462
+ height: 50px;
463
+ cursor: pointer;
464
+ }
465
+ .unassigned-notifications-icon-wpr:hover {
466
+ background-color: rgba(0, 0, 0, 0.05);
401
467
  }
402
468
 
403
469
  .unassigned-notifications-badge {
@@ -411,8 +477,8 @@
411
477
  width: 22px;
412
478
  height: 22px;
413
479
  color: #fff;
414
- // left: 28px;
415
- left: 32px;
480
+
481
+ left: 34px;
416
482
  border: 1px solid #fff;
417
483
  }
418
484
  .notification-count {
@@ -433,79 +499,95 @@
433
499
  width: 22px;
434
500
  }
435
501
 
502
+
503
+ .open-unserved-convs-btn {
504
+ padding: 5px;
505
+ margin: 0;
506
+ height: 31px;
507
+ width: 31px;
508
+ font-size: 24px;
509
+ --padding-start: 0px;
510
+ --padding-end: 0px;
511
+ color: #165cee;
512
+ background-color: transparent;
513
+ border-radius: 50%; // nk
514
+ &:hover {
515
+ background-color: rgba(0, 0, 0, 0.05);
516
+ }
517
+ }
436
518
  // --------------------------------------------------
437
519
  // ANIMATED ARROW https://codepen.io/cbrst/pen/ebxwLJ
438
520
  // --------------------------------------------------
439
- .arrow-wrapper {
440
- display: flex;
441
- align-items: center;
442
- }
443
-
444
- #arrow_1 .arrow {
445
- $size: 16px;
446
- $width: 2px;
447
-
448
- cursor: pointer;
449
- display: block;
450
- width: $size / 1.414;
451
- height: $size / 1.414 * 2;
452
- position: relative;
453
-
454
- & span,
455
- &:before,
456
- &:after {
457
- // background: #fff;
458
- background: #b1b4b8;
459
- content: "";
460
- display: block;
461
- width: $size;
462
- height: $width;
463
- position: absolute;
464
- top: calc(50% - (#{$width} / 2));
465
- }
466
-
467
- &:before {
468
- transform: rotate(-45deg);
469
- }
470
- &:after {
471
- transform: rotate(45deg);
472
- }
473
-
474
- & span {
475
- width: 0;
476
- }
477
- &:hover span {
478
- width: $size * 1.414;
479
- }
480
-
481
- @each $direction in "left" "right" {
482
- &.arrow--#{$direction} {
483
- & span,
484
- &:before,
485
- &:after {
486
- #{$direction}: 0;
487
- transform-origin: #{$direction} 50%;
488
- }
521
+ // .arrow-wrapper {
522
+ // display: flex;
523
+ // align-items: center;
524
+ // }
489
525
 
490
- &:before,
491
- &:after {
492
- transition: #{$direction} 0.3s 0.05s;
493
- }
526
+ // #arrow_1 .arrow {
527
+ // $size: 16px;
528
+ // $width: 2px;
494
529
 
495
- & span {
496
- transition: width 0.3s, #{$direction} 0.3s 0.05s;
497
- }
530
+ // cursor: pointer;
531
+ // display: block;
532
+ // width: $size / 1.414;
533
+ // height: $size / 1.414 * 2;
534
+ // position: relative;
498
535
 
499
- // &:hover {
500
- // & span,
501
- // &:before,
502
- // &:after {
503
- // #{$direction}: $size / 1.414 * -1;
504
- // }
505
- // }
506
- }
507
- }
508
- }
536
+ // & span,
537
+ // &:before,
538
+ // &:after {
539
+ // // background: #fff;
540
+ // background: #b1b4b8;
541
+ // content: "";
542
+ // display: block;
543
+ // width: $size;
544
+ // height: $width;
545
+ // position: absolute;
546
+ // top: calc(50% - (#{$width} / 2));
547
+ // }
548
+
549
+ // &:before {
550
+ // transform: rotate(-45deg);
551
+ // }
552
+ // &:after {
553
+ // transform: rotate(45deg);
554
+ // }
555
+
556
+ // & span {
557
+ // width: 0;
558
+ // }
559
+ // &:hover span {
560
+ // width: $size * 1.414;
561
+ // }
562
+
563
+ // @each $direction in "left" "right" {
564
+ // &.arrow--#{$direction} {
565
+ // & span,
566
+ // &:before,
567
+ // &:after {
568
+ // #{$direction}: 0;
569
+ // transform-origin: #{$direction} 50%;
570
+ // }
571
+
572
+ // &:before,
573
+ // &:after {
574
+ // transition: #{$direction} 0.3s 0.05s;
575
+ // }
576
+
577
+ // & span {
578
+ // transition: width 0.3s, #{$direction} 0.3s 0.05s;
579
+ // }
580
+
581
+ // // &:hover {
582
+ // // & span,
583
+ // // &:before,
584
+ // // &:after {
585
+ // // #{$direction}: $size / 1.414 * -1;
586
+ // // }
587
+ // // }
588
+ // }
589
+ // }
590
+ // }
509
591
 
510
592
  // ------------------------------------------------------------------
511
593
  // on-off availability switch btn // https://proto.io/freebies/onoff/