@chat21/chat21-ionic 3.0.59-rc2 → 3.0.59-rc21

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 (76) hide show
  1. package/CHANGELOG.md +72 -1
  2. package/README.md +5 -0
  3. package/config.xml +2 -2
  4. package/env.sample +3 -1
  5. package/package.json +1 -1
  6. package/resources/Android/splash/drawable-land-hdpi-screen.png +0 -0
  7. package/resources/Android/splash/drawable-land-ldpi-screen.png +0 -0
  8. package/resources/Android/splash/drawable-land-mdpi-screen.png +0 -0
  9. package/resources/Android/splash/drawable-land-xhdpi-screen.png +0 -0
  10. package/resources/Android/splash/drawable-land-xxhdpi-screen.png +0 -0
  11. package/resources/Android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  12. package/resources/Android/splash/drawable-port-hdpi-screen.png +0 -0
  13. package/resources/Android/splash/drawable-port-ldpi-screen.png +0 -0
  14. package/resources/Android/splash/drawable-port-mdpi-screen.png +0 -0
  15. package/resources/Android/splash/drawable-port-xhdpi-screen.png +0 -0
  16. package/resources/Android/splash/drawable-port-xxhdpi-screen.png +0 -0
  17. package/resources/Android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  18. package/resources/Android/splash.png +0 -0
  19. package/src/app/app-routing.module.ts +21 -17
  20. package/src/app/app.component.scss +10 -5
  21. package/src/app/app.component.ts +339 -65
  22. package/src/app/app.module.ts +16 -8
  23. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.html +1 -1
  24. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +20 -8
  25. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +0 -144
  26. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +14 -17
  27. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.html +1 -1
  28. package/src/app/components/authentication/login/login.component.html +10 -10
  29. package/src/app/components/authentication/login/login.component.ts +2 -1
  30. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +1 -1
  31. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +2 -4
  32. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +7 -2
  33. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +20 -15
  34. package/src/app/components/ddp-header/ddp-header.component.html +1 -1
  35. package/src/app/components/ddp-header/ddp-header.component.ts +4 -2
  36. package/src/app/components/project-item/project-item.component.html +147 -0
  37. package/src/app/components/project-item/project-item.component.scss +669 -0
  38. package/src/app/components/project-item/project-item.component.spec.ts +24 -0
  39. package/src/app/components/project-item/project-item.component.ts +317 -0
  40. package/src/app/components/utils/avatar-profile/avatar-profile.component.html +9 -3
  41. package/src/app/pages/authentication/login/login.page.html +1 -2
  42. package/src/app/pages/authentication/login/login.page.ts +1 -1
  43. package/src/app/pages/conversation-detail/conversation-detail.page.ts +26 -22
  44. package/src/app/pages/conversations-list/conversations-list.page.html +45 -23
  45. package/src/app/pages/conversations-list/conversations-list.page.scss +290 -127
  46. package/src/app/pages/conversations-list/conversations-list.page.ts +189 -17
  47. package/src/app/pages/unassigned-conversations/unassigned-conversations-routing.module.ts +17 -0
  48. package/src/app/pages/unassigned-conversations/unassigned-conversations.module.ts +22 -0
  49. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +22 -0
  50. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +79 -0
  51. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.spec.ts +24 -0
  52. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +108 -0
  53. package/src/app/services/app-config.ts +77 -5
  54. package/src/app/services/tiledesk/tiledesk.service.ts +22 -1
  55. package/src/app/services/websocket/websocket-js.ts +557 -0
  56. package/src/app/services/websocket/websocket.service.spec.ts +12 -0
  57. package/src/app/services/websocket/websocket.service.ts +274 -0
  58. package/src/app/shared/shared.module.ts +3 -0
  59. package/src/assets/i18n/en.json +9 -1
  60. package/src/assets/i18n/it.json +9 -1
  61. package/src/assets/js/chat21client.js +144 -82
  62. package/src/assets/logo.png +0 -0
  63. package/src/assets/transparent.png +0 -0
  64. package/src/chat-config-pre-test.json +3 -1
  65. package/src/chat-config-template.json +4 -1
  66. package/src/chat-config.json +4 -1
  67. package/src/chat21-core/providers/firebase/firebase-auth-service.ts +2 -2
  68. package/src/chat21-core/providers/firebase/firebase-notifications.ts +31 -23
  69. package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +27 -27
  70. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +3 -5
  71. package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +13 -5
  72. package/src/chat21-core/providers/mqtt/mqtt-notifications.ts +101 -11
  73. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +13 -4
  74. package/src/chat21-core/utils/utils-message.ts +2 -2
  75. package/src/firebase-messaging-sw-template.js +1 -1
  76. package/src/assets/images/tiledesk_logo_50x50.png +0 -0
@@ -1,139 +1,302 @@
1
1
  ion-header {
2
- border-bottom-style: solid;
3
- border-color: var(--light-gray);
4
- border-bottom-width: thin;
2
+ border-bottom-style: solid;
3
+ border-color: var(--light-gray);
4
+ border-bottom-width: thin;
5
5
  }
6
6
 
7
-
8
-
9
7
  ion-list {
10
- display: block;
11
- margin-block-start: 1em;
12
- margin-block-end: 1em;
13
- margin-inline-start: 0px;
14
- margin-inline-end: 0px;
15
- padding-inline-start: 40px;
16
- list-style-type: none;
17
- margin: 0;
18
- padding: 0;
8
+ display: block;
9
+ margin-block-start: 1em;
10
+ margin-block-end: 1em;
11
+ margin-inline-start: 0px;
12
+ margin-inline-end: 0px;
13
+ padding-inline-start: 40px;
14
+ list-style-type: none;
15
+ margin: 0;
16
+ padding: 0;
19
17
 
20
- ion-item {
21
- cursor: pointer;
22
- height: 64px;
18
+ ion-item {
19
+ cursor: pointer;
20
+ height: 64px;
21
+ position: relative;
22
+ display: flex;
23
+ text-decoration: none;
24
+ padding-left: 8px;
25
+ padding-right: 8px;
26
+ --padding-start: 0;
27
+ --inner-padding-end: 0;
28
+ .selected {
29
+ border-radius: 10px;
30
+ padding-left: 8px;
31
+ padding-right: 8px;
32
+ position: absolute;
33
+ width: 100%;
34
+ height: 100%;
35
+ z-index: -1;
36
+ background-color: rgba(0, 0, 0, 0.05);
37
+ }
38
+ ion-avatar {
39
+ position: relative;
40
+ padding: 0;
41
+ margin: 0 12px 0 8px;
42
+ height: 50px;
43
+ width: 50px;
44
+ min-width: 50px;
45
+ min-height: 50px;
46
+ line-height: 50px;
47
+ .avatar-placeholder {
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ width: 100%;
52
+ height: 100%;
53
+ border-radius: 50%;
54
+ text-align: center;
55
+ font-size: 20px;
56
+ color: #ffffff;
57
+ font-weight: 500;
58
+ }
59
+ .avatar-profile {
23
60
  position: relative;
24
- display: flex;
25
- text-decoration: none;
26
- padding-left: 8px;
27
- padding-right: 8px;
28
- --padding-start: 0;
29
- --inner-padding-end: 0;
30
- .selected {
31
- border-radius: 10px;
32
- padding-left: 8px;
33
- padding-right: 8px;
34
- position: absolute;
35
- width: 100%;
36
- height: 100%;
37
- z-index:-1;
38
- background-color: rgba(0, 0, 0, .05);
39
- }
40
- ion-avatar {
41
- position: relative;
42
- padding:0;
43
- margin:0 12px 0 8px;
44
- height: 50px;
45
- width: 50px;
46
- min-width: 50px;
47
- min-height: 50px;
48
- line-height: 50px;
49
- .avatar-placeholder {
50
- position: absolute;
51
- top:0;
52
- left:0;
53
- width: 100%;
54
- height: 100%;
55
- border-radius: 50%;
56
- text-align: center;
57
- font-size: 20px;
58
- color:#ffffff;
59
- font-weight: 500;
60
- }
61
- .avatar-profile {
62
- position: relative;
63
- display: inline-block;
64
- width: 100%;
65
- height: 100%;
66
- background-color: transparent;
67
- background-size: cover;
68
- background-position: top center;
69
- border-radius: 50%;
70
- border-color: #c3c3c3;
71
- border-style: solid;
72
- border-width: 0px;
73
- }
74
- }
75
- ion-label {
76
- flex: 1 1 0px;
77
- justify-content: center;
78
- min-width: 0;
79
- padding: 0;
80
- font-family: Helvetica, Helvetica, Arial, sans-serif;
81
- line-height: 1.28;
82
- text-rendering: optimizeLegibility;
83
- .conversation_with {
84
- color: rgba(0, 0, 0, 1);
85
- font-size: 15px;
86
- font-weight: 400;
87
- line-height: 1.4;
88
- }
89
- .conversation_message {
90
- p {
91
- color: rgba(153, 153, 153, 1);
92
- font-size: 13px;
93
- font-weight: 400;
94
- height: 18px;
95
- &.not-read {
96
- font-weight:bold;
97
- }
98
- }
99
-
100
- }
101
-
102
- }
103
- ion-note {
104
- position: absolute;
105
- right: 8px;
106
- top: 4px;
107
- font-size: 10px;
61
+ display: inline-block;
62
+ width: 100%;
63
+ height: 100%;
64
+ background-color: transparent;
65
+ background-size: cover;
66
+ background-position: top center;
67
+ border-radius: 50%;
68
+ border-color: #c3c3c3;
69
+ border-style: solid;
70
+ border-width: 0px;
71
+ }
72
+ }
73
+ ion-label {
74
+ flex: 1 1 0px;
75
+ justify-content: center;
76
+ min-width: 0;
77
+ padding: 0;
78
+ font-family: Helvetica, Helvetica, Arial, sans-serif;
79
+ line-height: 1.28;
80
+ text-rendering: optimizeLegibility;
81
+ .conversation_with {
82
+ color: rgba(0, 0, 0, 1);
83
+ font-size: 15px;
84
+ font-weight: 400;
85
+ line-height: 1.4;
86
+ }
87
+ .conversation_message {
88
+ p {
89
+ color: rgba(153, 153, 153, 1);
90
+ font-size: 13px;
91
+ font-weight: 400;
92
+ height: 18px;
93
+ &.not-read {
94
+ font-weight: bold;
95
+ }
108
96
  }
109
- ion-buttons {
110
- margin: 0;
111
- ion-button {
112
- padding: 0;
113
- margin: 0;
114
- height: 24px;
115
- width: 24px;
116
- font-size: 10px;
117
- --padding-start: 0px;
118
- --padding-end: 0px;
119
- color: rgba(153, 153, 153, 1);
120
- background-color: transparent;
121
- &:hover {
122
- background-color: rgba(0, 0, 0, .05)
123
- }
124
- }
97
+ }
98
+ }
99
+ ion-note {
100
+ position: absolute;
101
+ right: 8px;
102
+ top: 4px;
103
+ font-size: 10px;
104
+ }
105
+ ion-buttons {
106
+ margin: 0;
107
+ ion-button {
108
+ padding: 0;
109
+ margin: 0;
110
+ height: 24px;
111
+ width: 24px;
112
+ font-size: 10px;
113
+ --padding-start: 0px;
114
+ --padding-end: 0px;
115
+ color: rgba(153, 153, 153, 1);
116
+ background-color: transparent;
117
+ &:hover {
118
+ background-color: rgba(0, 0, 0, 0.05);
125
119
  }
120
+ }
121
+ }
126
122
 
127
- .notification_point {
128
- width: 10px;
129
- height: 10px;
130
- border-radius: 50%;
131
- background-color: #0b5c89;
132
- position: absolute;
133
- right: 6px;
134
- bottom: 8px;
135
- }
123
+ .notification_point {
124
+ width: 10px;
125
+ height: 10px;
126
+ border-radius: 50%;
127
+ background-color: #0b5c89;
128
+ position: absolute;
129
+ right: 6px;
130
+ bottom: 8px;
136
131
  }
132
+ }
133
+ }
134
+
135
+ .waiting-for-connection {
136
+ --background: #fdd764;
137
+ --min-height: 70px;
138
+ }
139
+
140
+ // -------------------------------
141
+ // Spinner
142
+ // -------------------------------
143
+ .sk-fading-circle {
144
+ // margin: 100px auto;
145
+ width: 25px;
146
+ height: 25px;
147
+ position: relative;
148
+ margin-left: 10px;
149
+ margin-top: 13px;
150
+ }
151
+
152
+ .sk-fading-circle .sk-circle {
153
+ width: 100%;
154
+ height: 100%;
155
+ position: absolute;
156
+ left: 0;
157
+ top: 0;
158
+ }
159
+
160
+ .sk-fading-circle .sk-circle:before {
161
+ content: "";
162
+ display: block;
163
+ margin: 0 auto;
164
+ width: 15%;
165
+ height: 15%;
166
+ background-color: #333;
167
+ border-radius: 100%;
168
+ -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
169
+ animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
170
+ }
171
+ .sk-fading-circle .sk-circle2 {
172
+ -webkit-transform: rotate(30deg);
173
+ -ms-transform: rotate(30deg);
174
+ transform: rotate(30deg);
175
+ }
176
+ .sk-fading-circle .sk-circle3 {
177
+ -webkit-transform: rotate(60deg);
178
+ -ms-transform: rotate(60deg);
179
+ transform: rotate(60deg);
180
+ }
181
+ .sk-fading-circle .sk-circle4 {
182
+ -webkit-transform: rotate(90deg);
183
+ -ms-transform: rotate(90deg);
184
+ transform: rotate(90deg);
185
+ }
186
+ .sk-fading-circle .sk-circle5 {
187
+ -webkit-transform: rotate(120deg);
188
+ -ms-transform: rotate(120deg);
189
+ transform: rotate(120deg);
190
+ }
191
+ .sk-fading-circle .sk-circle6 {
192
+ -webkit-transform: rotate(150deg);
193
+ -ms-transform: rotate(150deg);
194
+ transform: rotate(150deg);
195
+ }
196
+ .sk-fading-circle .sk-circle7 {
197
+ -webkit-transform: rotate(180deg);
198
+ -ms-transform: rotate(180deg);
199
+ transform: rotate(180deg);
200
+ }
201
+ .sk-fading-circle .sk-circle8 {
202
+ -webkit-transform: rotate(210deg);
203
+ -ms-transform: rotate(210deg);
204
+ transform: rotate(210deg);
205
+ }
206
+ .sk-fading-circle .sk-circle9 {
207
+ -webkit-transform: rotate(240deg);
208
+ -ms-transform: rotate(240deg);
209
+ transform: rotate(240deg);
210
+ }
211
+ .sk-fading-circle .sk-circle10 {
212
+ -webkit-transform: rotate(270deg);
213
+ -ms-transform: rotate(270deg);
214
+ transform: rotate(270deg);
215
+ }
216
+ .sk-fading-circle .sk-circle11 {
217
+ -webkit-transform: rotate(300deg);
218
+ -ms-transform: rotate(300deg);
219
+ transform: rotate(300deg);
220
+ }
221
+ .sk-fading-circle .sk-circle12 {
222
+ -webkit-transform: rotate(330deg);
223
+ -ms-transform: rotate(330deg);
224
+ transform: rotate(330deg);
225
+ }
226
+ .sk-fading-circle .sk-circle2:before {
227
+ -webkit-animation-delay: -1.1s;
228
+ animation-delay: -1.1s;
229
+ }
230
+ .sk-fading-circle .sk-circle3:before {
231
+ -webkit-animation-delay: -1s;
232
+ animation-delay: -1s;
233
+ }
234
+ .sk-fading-circle .sk-circle4:before {
235
+ -webkit-animation-delay: -0.9s;
236
+ animation-delay: -0.9s;
237
+ }
238
+ .sk-fading-circle .sk-circle5:before {
239
+ -webkit-animation-delay: -0.8s;
240
+ animation-delay: -0.8s;
241
+ }
242
+ .sk-fading-circle .sk-circle6:before {
243
+ -webkit-animation-delay: -0.7s;
244
+ animation-delay: -0.7s;
245
+ }
246
+ .sk-fading-circle .sk-circle7:before {
247
+ -webkit-animation-delay: -0.6s;
248
+ animation-delay: -0.6s;
249
+ }
250
+ .sk-fading-circle .sk-circle8:before {
251
+ -webkit-animation-delay: -0.5s;
252
+ animation-delay: -0.5s;
253
+ }
254
+ .sk-fading-circle .sk-circle9:before {
255
+ -webkit-animation-delay: -0.4s;
256
+ animation-delay: -0.4s;
257
+ }
258
+ .sk-fading-circle .sk-circle10:before {
259
+ -webkit-animation-delay: -0.3s;
260
+ animation-delay: -0.3s;
261
+ }
262
+ .sk-fading-circle .sk-circle11:before {
263
+ -webkit-animation-delay: -0.2s;
264
+ animation-delay: -0.2s;
265
+ }
266
+ .sk-fading-circle .sk-circle12:before {
267
+ -webkit-animation-delay: -0.1s;
268
+ animation-delay: -0.1s;
269
+ }
270
+
271
+ @-webkit-keyframes sk-circleFadeDelay {
272
+ 0%,
273
+ 39%,
274
+ 100% {
275
+ opacity: 0;
276
+ }
277
+ 40% {
278
+ opacity: 1;
279
+ }
280
+ }
281
+
282
+ @keyframes sk-circleFadeDelay {
283
+ 0%,
284
+ 39%,
285
+ 100% {
286
+ opacity: 0;
287
+ }
288
+ 40% {
289
+ opacity: 1;
290
+ }
291
+ }
292
+
293
+ #no-convs-wpr {
294
+ margin: 100px auto;
295
+ }
137
296
 
138
-
297
+ .open-iframe-item {
298
+ padding-left: 0px !important ;
299
+ padding-right: 0px !important;
300
+ height: 55px !important;
301
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
139
302
  }