@chat21/chat21-ionic 3.0.60-rc2 → 3.0.60

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 (46) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/LICENSE +661 -21
  3. package/deploy_pre.sh +45 -6
  4. package/deploy_prod.sh +34 -9
  5. package/env.sample +1 -1
  6. package/package.json +1 -1
  7. package/src/app/app.component.ts +45 -21
  8. package/src/app/app.module.ts +2 -2
  9. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +62 -36
  10. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +42 -13
  11. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +13 -6
  12. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +38 -3
  13. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +8 -6
  14. package/src/app/components/image-viewer/image-viewer.component.scss +2 -2
  15. package/src/app/components/project-item/project-item.component.html +140 -118
  16. package/src/app/components/project-item/project-item.component.scss +167 -90
  17. package/src/app/components/project-item/project-item.component.ts +41 -20
  18. package/src/app/pages/conversation-detail/conversation-detail.module.ts +2 -1
  19. package/src/app/pages/conversation-detail/conversation-detail.page.html +36 -43
  20. package/src/app/pages/conversation-detail/conversation-detail.page.ts +199 -110
  21. package/src/app/pages/conversations-list/conversations-list.page.html +9 -5
  22. package/src/app/pages/conversations-list/conversations-list.page.scss +12 -1
  23. package/src/app/pages/conversations-list/conversations-list.page.ts +24 -6
  24. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +16 -11
  25. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +157 -63
  26. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +51 -16
  27. package/src/app/shared/shared.module.ts +6 -5
  28. package/src/assets/i18n/de.json +209 -0
  29. package/src/assets/i18n/en.json +24 -8
  30. package/src/assets/i18n/es.json +209 -0
  31. package/src/assets/i18n/fr.json +209 -0
  32. package/src/assets/i18n/it.json +42 -34
  33. package/src/assets/i18n/pt.json +209 -0
  34. package/src/assets/i18n/ru.json +209 -0
  35. package/src/assets/i18n/tr.json +209 -0
  36. package/src/assets/js/chat21client.js +16 -3
  37. package/src/chat-config-mqtt.json +2 -1
  38. package/src/chat-config-pre-test.json +2 -0
  39. package/src/chat-config-template.json +1 -0
  40. package/src/chat-config.json +1 -0
  41. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +54 -43
  42. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +23 -0
  43. package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +1 -1
  44. package/src/chat21-core/utils/constants.ts +2 -0
  45. package/src/chat21-core/utils/utils.ts +12 -1
  46. package/src/global.scss +4 -0
@@ -70,7 +70,7 @@
70
70
  text-decoration: none;
71
71
  cursor: pointer;
72
72
  svg {
73
- fill: rgba(255,255,255);
73
+ fill: rgba(255,255,255, 1);
74
74
  }
75
75
  }
76
76
 
@@ -95,7 +95,7 @@
95
95
  text-decoration: none;
96
96
  cursor: pointer;
97
97
  svg {
98
- fill: rgba(255,255,255);
98
+ fill: rgba(255,255,255, 1);
99
99
  }
100
100
  }
101
101
 
@@ -7,140 +7,162 @@
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">
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 }}
65
- </div>
66
-
67
- <!-- <div class="status--text"
68
- (click)="$event.stopPropagation();changeAvailabilityState(project?.id_project?._id, project?.ws_projct_user_available)"
69
- [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"
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" [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"
85
72
  (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>
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>
105
76
  </div>
77
+ </div>
106
78
 
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">
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"
82
+ [ngClass]="{'online-text-color' : project?.ws_projct_user_available === true, 'offline-text-color' : project?.ws_projct_user_available === false}">
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>
90
+ <div class="project-item--isBusy-icon-wpr" *ngIf="project?.ws_projct_user_isBusy === true">
91
+ <!-- <span class="material-icons project-item--isBusy-icon">
119
92
  access_time
120
93
  </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>
94
+ <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="16px"
95
+ viewBox="0 0 24 24" width="16px" fill="#FEB92C">
96
+ <g>
97
+ <path d="M0,0h24v24H0V0z" fill="none" />
98
+ </g>
99
+ <g>
100
+ <path
101
+ 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" />
102
+ </g>
103
+ </svg>
104
+ </div>
105
+ <span *ngIf="project?.ws_projct_user_isBusy === true"
106
+ class="project-item--isBusy-busy-text text-pulse-animation">
107
+ {{translationMap?.get('Busy')}}
108
+ </span>
109
+ </div>
110
+ </div>
111
+
112
+ <div class="flex-child-view-all-convs">
113
+ <div class="view-all-convs-icon-wpr" style="cursor: pointer;" [tooltip]="viewAllConvs"
114
+ [options]="tooltipOptions" placement="top" content-type="template">
115
+
116
+ <ion-button ion-button fill="clear" class="open-unserved-convs-btn"
117
+ (click)="openUnservedConvsAndGoToProjectList()">
118
+
119
+ <span class="push-icon-and-list-wpr">
120
+ <!-- <svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
121
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
122
+ style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 20px;">
123
+ <style type="text/css">
124
+ .st0 {
125
+ fill: #3880ff;
126
+ }
127
+ </style>
128
+ <path class="st0"
129
+ 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
130
+ 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" />
131
+ <rect x="1.2" y="13" class="st0" width="6.3" height="2" />
132
+ <rect x="1.2" y="18" class="st0" width="12.1" height="2" />
133
+ <rect x="1.2" y="7.6" class="st0" width="9.2" height="2" />
134
+ </svg> -->
135
+
136
+ <svg version="1.1" id="Livello_1" xmlns="http://www.w3.org/2000/svg"
137
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24"
138
+ style="enable-background:new 0 0 24 24;" xml:space="preserve" style="width: 16px;">
139
+ <style type="text/css">
140
+ .st0 {
141
+ fill: #165CEE;
142
+ }
143
+ </style>
144
+ <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
145
+ 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
146
+ 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
147
  </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
148
  </span>
135
- </div>
136
149
 
150
+
151
+
152
+ </ion-button>
137
153
  </div>
154
+ <ng-template #viewAllConvs>
155
+ <span>
138
156
 
157
+ {{translationMap?.get('CHANGE_PINNED_PROJECT') }}</span>
158
+ </ng-template>
139
159
  </div>
140
- </div>
141
160
 
161
+ </div>
142
162
  </div>
143
163
 
164
+ <!-- </div> -->
165
+
144
166
  </div>
145
167
  </div>
146
168
  </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;
266
+ }
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
+ }
249
275
  }
250
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 !important;
315
+ // width: 220px !important;
286
316
  white-space: nowrap !important;
287
317
  overflow: hidden !important;
288
318
  text-overflow: ellipsis !important;
@@ -290,6 +320,25 @@
290
320
  font-size: 14px;
291
321
  position: relative;
292
322
  top: -1px;
323
+ cursor: pointer;
324
+ }
325
+
326
+ // .project-name-project-for-panel:hover span {
327
+ // color: rgba(0, 0, 0, 0.35);
328
+ // // display: none;
329
+ // width: fit-content;
330
+ // display: block;
331
+ // }
332
+ .project---name {
333
+ width: fit-content;
334
+
335
+ }
336
+ .project---name:hover {
337
+ color: rgba(0, 0, 0, 0.35);
338
+ }
339
+
340
+ .view-all-convs-icon:hover {
341
+ color: rgba(0, 0, 0, 0.35);
293
342
  }
294
343
 
295
344
  // .im-available-project-for-panel {
@@ -336,7 +385,7 @@
336
385
 
337
386
  .project-item--isBusy-icon {
338
387
  border-radius: 50%;
339
- background-color:#FEB92C;
388
+ background-color: #feb92c;
340
389
  font-size: 14px;
341
390
  color: #fff;
342
391
  position: relative;
@@ -363,7 +412,7 @@
363
412
  color: #999999;
364
413
  }
365
414
  50% {
366
- color: #FEB92C;
415
+ color: #feb92c;
367
416
  }
368
417
  100% {
369
418
  color: #999999;
@@ -375,7 +424,7 @@
375
424
  color: #999999;
376
425
  }
377
426
  50% {
378
- color: #FEB92C;
427
+ color: #feb92c;
379
428
  }
380
429
  100% {
381
430
  color: #999999;
@@ -387,7 +436,7 @@
387
436
  color: #999999;
388
437
  }
389
438
  50% {
390
- color: #FEB92C;
439
+ color: #feb92c;
391
440
  }
392
441
  100% {
393
442
  color: #999999;
@@ -395,9 +444,21 @@
395
444
  }
396
445
 
397
446
  .unassigned-notifications-icon-wpr {
398
- padding-left: 3px;
447
+ // padding-left: 3px;
448
+ // position: relative;
449
+ // top: 3px;
450
+
399
451
  position: relative;
400
- top: 3px;
452
+ top: -8px;
453
+ background: transparent;
454
+ border-radius: 50%;
455
+ width: 50px;
456
+ left: 10px;
457
+ height: 50px;
458
+ cursor: pointer;
459
+ }
460
+ .unassigned-notifications-icon-wpr:hover {
461
+ background-color: rgba(0, 0, 0, 0.05);
401
462
  }
402
463
 
403
464
  .unassigned-notifications-badge {
@@ -412,7 +473,7 @@
412
473
  height: 22px;
413
474
  color: #fff;
414
475
  // left: 28px;
415
- left: 32px;
476
+ left: 34px;
416
477
  border: 1px solid #fff;
417
478
  }
418
479
  .notification-count {
@@ -433,79 +494,95 @@
433
494
  width: 22px;
434
495
  }
435
496
 
497
+
498
+ .open-unserved-convs-btn {
499
+ padding: 5px;
500
+ margin: 0;
501
+ height: 31px;
502
+ width: 31px;
503
+ font-size: 24px;
504
+ --padding-start: 0px;
505
+ --padding-end: 0px;
506
+ color: #165cee;
507
+ background-color: transparent;
508
+ border-radius: 50%; // nk
509
+ &:hover {
510
+ background-color: rgba(0, 0, 0, 0.05);
511
+ }
512
+ }
436
513
  // --------------------------------------------------
437
514
  // ANIMATED ARROW https://codepen.io/cbrst/pen/ebxwLJ
438
515
  // --------------------------------------------------
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
- }
516
+ // .arrow-wrapper {
517
+ // display: flex;
518
+ // align-items: center;
519
+ // }
489
520
 
490
- &:before,
491
- &:after {
492
- transition: #{$direction} 0.3s 0.05s;
493
- }
521
+ // #arrow_1 .arrow {
522
+ // $size: 16px;
523
+ // $width: 2px;
494
524
 
495
- & span {
496
- transition: width 0.3s, #{$direction} 0.3s 0.05s;
497
- }
525
+ // cursor: pointer;
526
+ // display: block;
527
+ // width: $size / 1.414;
528
+ // height: $size / 1.414 * 2;
529
+ // position: relative;
498
530
 
499
- // &:hover {
500
- // & span,
501
- // &:before,
502
- // &:after {
503
- // #{$direction}: $size / 1.414 * -1;
504
- // }
505
- // }
506
- }
507
- }
508
- }
531
+ // & span,
532
+ // &:before,
533
+ // &:after {
534
+ // // background: #fff;
535
+ // background: #b1b4b8;
536
+ // content: "";
537
+ // display: block;
538
+ // width: $size;
539
+ // height: $width;
540
+ // position: absolute;
541
+ // top: calc(50% - (#{$width} / 2));
542
+ // }
543
+
544
+ // &:before {
545
+ // transform: rotate(-45deg);
546
+ // }
547
+ // &:after {
548
+ // transform: rotate(45deg);
549
+ // }
550
+
551
+ // & span {
552
+ // width: 0;
553
+ // }
554
+ // &:hover span {
555
+ // width: $size * 1.414;
556
+ // }
557
+
558
+ // @each $direction in "left" "right" {
559
+ // &.arrow--#{$direction} {
560
+ // & span,
561
+ // &:before,
562
+ // &:after {
563
+ // #{$direction}: 0;
564
+ // transform-origin: #{$direction} 50%;
565
+ // }
566
+
567
+ // &:before,
568
+ // &:after {
569
+ // transition: #{$direction} 0.3s 0.05s;
570
+ // }
571
+
572
+ // & span {
573
+ // transition: width 0.3s, #{$direction} 0.3s 0.05s;
574
+ // }
575
+
576
+ // // &:hover {
577
+ // // & span,
578
+ // // &:before,
579
+ // // &:after {
580
+ // // #{$direction}: $size / 1.414 * -1;
581
+ // // }
582
+ // // }
583
+ // }
584
+ // }
585
+ // }
509
586
 
510
587
  // ------------------------------------------------------------------
511
588
  // on-off availability switch btn // https://proto.io/freebies/onoff/