@product7/product7-js 0.2.9 → 0.3.1
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.
- package/dist/product7-js.js +506 -131
- package/dist/product7-js.js.map +1 -1
- package/dist/product7-js.min.js +1 -1
- package/dist/product7-js.min.js.map +1 -1
- package/package.json +1 -1
- package/src/styles/components.js +5 -0
- package/src/styles/messenger-components.js +103 -26
- package/src/styles/messenger-core.js +1 -0
- package/src/styles/messenger-views.js +171 -34
- package/src/widgets/MessengerWidget.js +7 -0
- package/src/widgets/messenger/views/ChatView.js +135 -38
- package/src/widgets/messenger/views/ConversationsView.js +8 -4
- package/src/widgets/messenger/views/HomeView.js +76 -29
package/package.json
CHANGED
package/src/styles/components.js
CHANGED
|
@@ -7,7 +7,7 @@ export const messengerComponentsStyles = `
|
|
|
7
7
|
.messenger-message {
|
|
8
8
|
display: flex;
|
|
9
9
|
gap: var(--spacing-2);
|
|
10
|
-
max-width:
|
|
10
|
+
max-width: 75%;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.messenger-message-system {
|
|
@@ -28,11 +28,11 @@ export const messengerComponentsStyles = `
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.messenger-message-system-text {
|
|
31
|
-
font-size: 0.
|
|
32
|
-
|
|
31
|
+
font-size: 0.875rem;
|
|
32
|
+
font-weight: 500;
|
|
33
|
+
color: var(--msg-text-secondary);
|
|
33
34
|
white-space: nowrap;
|
|
34
35
|
padding: 0 var(--spacing-2);
|
|
35
|
-
letter-spacing: 0.01em;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/* Rich join/leave system event */
|
|
@@ -41,8 +41,8 @@ export const messengerComponentsStyles = `
|
|
|
41
41
|
display: flex;
|
|
42
42
|
flex-direction: column;
|
|
43
43
|
align-items: center;
|
|
44
|
-
gap:
|
|
45
|
-
padding: var(--spacing-
|
|
44
|
+
gap: 4px;
|
|
45
|
+
padding: var(--spacing-3) 0;
|
|
46
46
|
width: 100%;
|
|
47
47
|
text-align: center;
|
|
48
48
|
}
|
|
@@ -51,39 +51,43 @@ export const messengerComponentsStyles = `
|
|
|
51
51
|
width: 3rem;
|
|
52
52
|
height: 3rem;
|
|
53
53
|
border-radius: var(--radius-full);
|
|
54
|
-
border:
|
|
54
|
+
border: 1px solid var(--msg-border);
|
|
55
|
+
background: var(--msg-bg);
|
|
55
56
|
display: flex;
|
|
56
57
|
align-items: center;
|
|
57
58
|
justify-content: center;
|
|
58
59
|
font-size: 1.125rem;
|
|
59
60
|
font-weight: var(--font-weight-semibold);
|
|
60
|
-
color:
|
|
61
|
+
color: var(--msg-text);
|
|
61
62
|
overflow: hidden;
|
|
62
63
|
flex-shrink: 0;
|
|
64
|
+
margin-bottom: 4px;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
.messenger-message-system-event-avatar img {
|
|
66
|
-
width:
|
|
67
|
-
height:
|
|
68
|
-
object-fit:
|
|
68
|
+
width: 60%;
|
|
69
|
+
height: 60%;
|
|
70
|
+
object-fit: contain;
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
.messenger-message-system-event-name {
|
|
72
|
-
font-size:
|
|
74
|
+
font-size: 0.875rem;
|
|
73
75
|
font-weight: var(--font-weight-semibold);
|
|
74
76
|
color: var(--msg-text);
|
|
75
77
|
line-height: 1.3;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
.messenger-message-system-event-action {
|
|
79
|
-
font-size:
|
|
80
|
-
|
|
81
|
+
font-size: 0.875rem;
|
|
82
|
+
font-weight: 500;
|
|
83
|
+
color: var(--msg-text-secondary);
|
|
81
84
|
margin-top: -2px;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
.messenger-message-system-event-time {
|
|
85
|
-
font-size: 0.
|
|
86
|
-
|
|
88
|
+
font-size: 0.875rem;
|
|
89
|
+
font-weight: 500;
|
|
90
|
+
color: var(--msg-text-tertiary);
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
.messenger-message-own {
|
|
@@ -136,8 +140,8 @@ export const messengerComponentsStyles = `
|
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
.messenger-message-content {
|
|
139
|
-
font-size:
|
|
140
|
-
font-weight:
|
|
143
|
+
font-size: 0.875rem;
|
|
144
|
+
font-weight: 500;
|
|
141
145
|
line-height: var(--line-height-relaxed);
|
|
142
146
|
}
|
|
143
147
|
|
|
@@ -170,6 +174,14 @@ export const messengerComponentsStyles = `
|
|
|
170
174
|
justify-content: flex-end;
|
|
171
175
|
}
|
|
172
176
|
|
|
177
|
+
.messenger-message-sent-status {
|
|
178
|
+
color: var(--msg-text-muted);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.messenger-message-optimistic .messenger-message-bubble {
|
|
182
|
+
opacity: 0.7;
|
|
183
|
+
}
|
|
184
|
+
|
|
173
185
|
.messenger-message-image {
|
|
174
186
|
max-width: 220px;
|
|
175
187
|
max-height: 200px;
|
|
@@ -227,6 +239,48 @@ export const messengerComponentsStyles = `
|
|
|
227
239
|
font-weight: var(--font-weight-medium);
|
|
228
240
|
}
|
|
229
241
|
|
|
242
|
+
/* ========================================
|
|
243
|
+
SCROLL PILL & CONNECTION BANNER
|
|
244
|
+
======================================== */
|
|
245
|
+
|
|
246
|
+
.messenger-scroll-pill {
|
|
247
|
+
position: absolute;
|
|
248
|
+
bottom: 80px;
|
|
249
|
+
left: 50%;
|
|
250
|
+
transform: translateX(-50%);
|
|
251
|
+
display: flex;
|
|
252
|
+
align-items: center;
|
|
253
|
+
gap: var(--spacing-1);
|
|
254
|
+
padding: 6px 14px;
|
|
255
|
+
background: var(--color-primary);
|
|
256
|
+
color: #ffffff;
|
|
257
|
+
font-size: var(--font-size-xs);
|
|
258
|
+
font-weight: 500;
|
|
259
|
+
border-radius: var(--radius-full);
|
|
260
|
+
cursor: pointer;
|
|
261
|
+
box-shadow: var(--shadow-lg);
|
|
262
|
+
z-index: 10;
|
|
263
|
+
white-space: nowrap;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.messenger-connection-banner {
|
|
267
|
+
display: flex;
|
|
268
|
+
align-items: center;
|
|
269
|
+
justify-content: center;
|
|
270
|
+
gap: var(--spacing-2);
|
|
271
|
+
padding: 6px var(--spacing-4);
|
|
272
|
+
background: #fef3c7;
|
|
273
|
+
color: #92400e;
|
|
274
|
+
font-size: var(--font-size-xs);
|
|
275
|
+
font-weight: 500;
|
|
276
|
+
flex-shrink: 0;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.messenger-widget.theme-dark .messenger-connection-banner {
|
|
280
|
+
background: rgba(245, 158, 11, 0.15);
|
|
281
|
+
color: #fbbf24;
|
|
282
|
+
}
|
|
283
|
+
|
|
230
284
|
/* ========================================
|
|
231
285
|
CHAT HEADER
|
|
232
286
|
======================================== */
|
|
@@ -243,18 +297,20 @@ export const messengerComponentsStyles = `
|
|
|
243
297
|
width: 2.25rem;
|
|
244
298
|
height: 2.25rem;
|
|
245
299
|
border-radius: var(--radius-lg);
|
|
246
|
-
background: var(--
|
|
300
|
+
background: var(--msg-bg-surface);
|
|
301
|
+
border: 1px solid var(--msg-border);
|
|
247
302
|
display: flex;
|
|
248
303
|
align-items: center;
|
|
249
304
|
justify-content: center;
|
|
250
305
|
flex-shrink: 0;
|
|
251
306
|
overflow: hidden;
|
|
307
|
+
padding: 4px;
|
|
252
308
|
}
|
|
253
309
|
|
|
254
310
|
.messenger-chat-header-avatar img {
|
|
255
311
|
width: 100%;
|
|
256
312
|
height: 100%;
|
|
257
|
-
object-fit:
|
|
313
|
+
object-fit: contain;
|
|
258
314
|
}
|
|
259
315
|
|
|
260
316
|
.messenger-chat-header-avatar svg {
|
|
@@ -314,6 +370,24 @@ export const messengerComponentsStyles = `
|
|
|
314
370
|
margin-bottom: var(--spacing-4);
|
|
315
371
|
}
|
|
316
372
|
|
|
373
|
+
.messenger-chat-empty-logo {
|
|
374
|
+
width: 48px;
|
|
375
|
+
height: 48px;
|
|
376
|
+
border-radius: var(--radius-xl);
|
|
377
|
+
overflow: hidden;
|
|
378
|
+
margin-bottom: var(--spacing-4);
|
|
379
|
+
display: flex;
|
|
380
|
+
align-items: center;
|
|
381
|
+
justify-content: center;
|
|
382
|
+
background: var(--msg-bg-surface);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.messenger-chat-empty-logo img {
|
|
386
|
+
width: 100%;
|
|
387
|
+
height: 100%;
|
|
388
|
+
object-fit: contain;
|
|
389
|
+
}
|
|
390
|
+
|
|
317
391
|
.messenger-chat-empty h3 {
|
|
318
392
|
margin: 0 0 var(--spacing-2);
|
|
319
393
|
font-size: var(--font-size-base);
|
|
@@ -321,12 +395,6 @@ export const messengerComponentsStyles = `
|
|
|
321
395
|
color: var(--msg-text);
|
|
322
396
|
}
|
|
323
397
|
|
|
324
|
-
.messenger-chat-empty p {
|
|
325
|
-
margin: 0;
|
|
326
|
-
font-size: var(--font-size-base);
|
|
327
|
-
color: var(--msg-text-secondary);
|
|
328
|
-
max-width: 240px;
|
|
329
|
-
}
|
|
330
398
|
|
|
331
399
|
/* ========================================
|
|
332
400
|
COMPOSE AREA
|
|
@@ -407,6 +475,15 @@ export const messengerComponentsStyles = `
|
|
|
407
475
|
color: var(--msg-text-tertiary);
|
|
408
476
|
}
|
|
409
477
|
|
|
478
|
+
.messenger-compose-input:focus {
|
|
479
|
+
outline: none;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.messenger-chat-compose:focus-within {
|
|
483
|
+
border-color: var(--color-primary-border);
|
|
484
|
+
box-shadow: 0 0 0 3px var(--color-primary-light);
|
|
485
|
+
}
|
|
486
|
+
|
|
410
487
|
.messenger-compose-bottom {
|
|
411
488
|
display: flex;
|
|
412
489
|
align-items: center;
|
|
@@ -85,6 +85,10 @@ export const messengerViewsStyles = `
|
|
|
85
85
|
margin-left: var(--spacing-4);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
.messenger-home-avatars:empty {
|
|
89
|
+
display: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
88
92
|
.messenger-home-welcome {
|
|
89
93
|
display: flex;
|
|
90
94
|
flex-direction: column;
|
|
@@ -94,17 +98,19 @@ export const messengerViewsStyles = `
|
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
.messenger-home-greeting {
|
|
97
|
-
font-size: 34px;
|
|
101
|
+
font-size: clamp(22px, 8vw, 34px);
|
|
98
102
|
font-weight: var(--font-weight-bold);
|
|
99
103
|
color: var(--msg-text);
|
|
100
104
|
line-height: var(--line-height-tight);
|
|
105
|
+
word-break: break-word;
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
.messenger-home-question {
|
|
104
|
-
font-size: 28px;
|
|
109
|
+
font-size: clamp(18px, 6.5vw, 28px);
|
|
105
110
|
font-weight: var(--font-weight-bold);
|
|
106
111
|
color: var(--msg-text);
|
|
107
112
|
line-height: var(--line-height-tight);
|
|
113
|
+
word-break: break-word;
|
|
108
114
|
}
|
|
109
115
|
|
|
110
116
|
.messenger-home-body {
|
|
@@ -114,6 +120,112 @@ export const messengerViewsStyles = `
|
|
|
114
120
|
z-index: 2;
|
|
115
121
|
}
|
|
116
122
|
|
|
123
|
+
.messenger-home-recent-card {
|
|
124
|
+
background: var(--msg-bg);
|
|
125
|
+
border: 1px solid var(--msg-border);
|
|
126
|
+
border-radius: 10px;
|
|
127
|
+
padding: var(--spacing-3) var(--spacing-4);
|
|
128
|
+
margin-bottom: var(--spacing-2);
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
transition: background var(--transition-base);
|
|
131
|
+
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.messenger-home-recent-card:hover {
|
|
135
|
+
background: var(--msg-bg-hover);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.messenger-home-recent-card-label {
|
|
139
|
+
font-size: 0.875rem;
|
|
140
|
+
font-weight: 600;
|
|
141
|
+
color: var(--msg-text-tertiary);
|
|
142
|
+
margin-bottom: var(--spacing-2);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.messenger-home-recent-card-row {
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
gap: var(--spacing-3);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.messenger-home-recent-avatar {
|
|
152
|
+
width: 36px;
|
|
153
|
+
height: 36px;
|
|
154
|
+
border-radius: var(--radius-full);
|
|
155
|
+
flex-shrink: 0;
|
|
156
|
+
display: flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
justify-content: center;
|
|
159
|
+
font-size: var(--font-size-sm);
|
|
160
|
+
font-weight: var(--font-weight-semibold);
|
|
161
|
+
color: #ffffff;
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.messenger-home-recent-avatar img {
|
|
166
|
+
width: 100%;
|
|
167
|
+
height: 100%;
|
|
168
|
+
object-fit: cover;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.messenger-home-recent-avatar-logo {
|
|
172
|
+
background: var(--msg-bg-surface);
|
|
173
|
+
border: 1px solid var(--msg-border);
|
|
174
|
+
padding: 4px;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.messenger-home-recent-avatar-logo img {
|
|
178
|
+
object-fit: contain;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.messenger-home-recent-card-content {
|
|
182
|
+
flex: 1;
|
|
183
|
+
min-width: 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.messenger-home-recent-card-header {
|
|
187
|
+
display: flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
justify-content: space-between;
|
|
190
|
+
gap: var(--spacing-2);
|
|
191
|
+
margin-bottom: 2px;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.messenger-home-recent-card-name {
|
|
195
|
+
font-size: var(--font-size-sm);
|
|
196
|
+
font-weight: var(--font-weight-semibold);
|
|
197
|
+
color: var(--msg-text);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.messenger-home-recent-card-time {
|
|
201
|
+
font-size: var(--font-size-xs);
|
|
202
|
+
color: var(--msg-text-tertiary);
|
|
203
|
+
flex-shrink: 0;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.messenger-home-recent-card-preview {
|
|
207
|
+
display: flex;
|
|
208
|
+
align-items: center;
|
|
209
|
+
justify-content: space-between;
|
|
210
|
+
gap: var(--spacing-2);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.messenger-home-recent-card-message {
|
|
214
|
+
font-size: var(--font-size-sm);
|
|
215
|
+
color: var(--msg-text-secondary);
|
|
216
|
+
white-space: nowrap;
|
|
217
|
+
overflow: hidden;
|
|
218
|
+
text-overflow: ellipsis;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.messenger-home-recent-unread-dot {
|
|
222
|
+
width: 8px;
|
|
223
|
+
height: 8px;
|
|
224
|
+
border-radius: var(--radius-full);
|
|
225
|
+
background: var(--color-primary);
|
|
226
|
+
flex-shrink: 0;
|
|
227
|
+
}
|
|
228
|
+
|
|
117
229
|
.messenger-home-message-btn {
|
|
118
230
|
width: 100%;
|
|
119
231
|
display: flex;
|
|
@@ -134,13 +246,11 @@ export const messengerViewsStyles = `
|
|
|
134
246
|
}
|
|
135
247
|
|
|
136
248
|
.messenger-home-message-btn:hover {
|
|
137
|
-
background: var(--msg-bg-
|
|
138
|
-
transform: translateX(4px);
|
|
139
|
-
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
|
|
249
|
+
background: var(--msg-bg-hover);
|
|
140
250
|
}
|
|
141
251
|
|
|
142
252
|
.messenger-home-message-btn:active {
|
|
143
|
-
transform:
|
|
253
|
+
transform: translateY(1px);
|
|
144
254
|
transition-duration: 100ms;
|
|
145
255
|
}
|
|
146
256
|
|
|
@@ -158,14 +268,21 @@ export const messengerViewsStyles = `
|
|
|
158
268
|
.messenger-home-continue-info {
|
|
159
269
|
display: flex;
|
|
160
270
|
flex-direction: column;
|
|
161
|
-
gap:
|
|
271
|
+
gap: 2px;
|
|
162
272
|
text-align: left;
|
|
163
273
|
flex: 1;
|
|
164
274
|
}
|
|
165
275
|
|
|
166
276
|
.messenger-home-continue-label {
|
|
167
|
-
font-size:
|
|
168
|
-
font-weight: var(--font-weight-
|
|
277
|
+
font-size: 0.875rem;
|
|
278
|
+
font-weight: var(--font-weight-semibold);
|
|
279
|
+
color: var(--msg-text);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.messenger-home-message-subtext {
|
|
283
|
+
font-size: var(--font-size-xs);
|
|
284
|
+
font-weight: 400;
|
|
285
|
+
color: var(--msg-text-secondary);
|
|
169
286
|
}
|
|
170
287
|
|
|
171
288
|
.messenger-home-continue-preview {
|
|
@@ -308,6 +425,8 @@ export const messengerViewsStyles = `
|
|
|
308
425
|
height: 8px;
|
|
309
426
|
border-radius: var(--radius-full);
|
|
310
427
|
flex-shrink: 0;
|
|
428
|
+
align-self: center;
|
|
429
|
+
display: block;
|
|
311
430
|
}
|
|
312
431
|
|
|
313
432
|
.messenger-availability-online {
|
|
@@ -364,7 +483,7 @@ export const messengerViewsStyles = `
|
|
|
364
483
|
|
|
365
484
|
.messenger-conversation-item {
|
|
366
485
|
display: flex;
|
|
367
|
-
align-items:
|
|
486
|
+
align-items: center;
|
|
368
487
|
gap: var(--spacing-3);
|
|
369
488
|
padding: 10px var(--spacing-4);
|
|
370
489
|
cursor: pointer;
|
|
@@ -382,31 +501,40 @@ export const messengerViewsStyles = `
|
|
|
382
501
|
|
|
383
502
|
.messenger-conversation-avatars {
|
|
384
503
|
flex-shrink: 0;
|
|
504
|
+
display: flex;
|
|
505
|
+
align-items: center;
|
|
506
|
+
align-self: stretch;
|
|
385
507
|
}
|
|
386
508
|
|
|
387
509
|
.messenger-conversation-content {
|
|
388
510
|
flex: 1;
|
|
389
511
|
min-width: 0;
|
|
512
|
+
display: flex;
|
|
513
|
+
flex-direction: column;
|
|
514
|
+
justify-content: center;
|
|
390
515
|
}
|
|
391
516
|
|
|
392
517
|
.messenger-conversation-header {
|
|
393
518
|
display: flex;
|
|
394
519
|
align-items: center;
|
|
395
520
|
justify-content: space-between;
|
|
396
|
-
margin-bottom:
|
|
521
|
+
margin-bottom: 2px;
|
|
397
522
|
gap: var(--spacing-3);
|
|
398
523
|
}
|
|
399
524
|
|
|
400
525
|
.messenger-conversation-title {
|
|
401
|
-
font-size: var(--font-size-
|
|
402
|
-
font-weight: var(--font-weight-
|
|
526
|
+
font-size: var(--font-size-sm);
|
|
527
|
+
font-weight: var(--font-weight-semibold);
|
|
403
528
|
color: var(--msg-text);
|
|
404
|
-
line-height:
|
|
529
|
+
line-height: 1.4;
|
|
530
|
+
white-space: nowrap;
|
|
531
|
+
overflow: hidden;
|
|
532
|
+
text-overflow: ellipsis;
|
|
405
533
|
}
|
|
406
534
|
|
|
407
535
|
.messenger-conversation-time {
|
|
408
536
|
font-size: var(--font-size-sm);
|
|
409
|
-
color: var(--msg-text-
|
|
537
|
+
color: var(--msg-text-tertiary);
|
|
410
538
|
flex-shrink: 0;
|
|
411
539
|
}
|
|
412
540
|
|
|
@@ -417,18 +545,18 @@ export const messengerViewsStyles = `
|
|
|
417
545
|
}
|
|
418
546
|
|
|
419
547
|
.messenger-conversation-message {
|
|
420
|
-
font-size: var(--font-size-
|
|
421
|
-
font-weight:
|
|
422
|
-
color: var(--msg-text-
|
|
548
|
+
font-size: var(--font-size-sm);
|
|
549
|
+
font-weight: 400;
|
|
550
|
+
color: var(--msg-text-secondary);
|
|
423
551
|
white-space: nowrap;
|
|
424
552
|
overflow: hidden;
|
|
425
553
|
text-overflow: ellipsis;
|
|
426
|
-
line-height:
|
|
554
|
+
line-height: 1.4;
|
|
427
555
|
}
|
|
428
556
|
|
|
429
557
|
.messenger-conversation-item.unread .messenger-conversation-message {
|
|
430
558
|
color: var(--msg-text);
|
|
431
|
-
font-weight:
|
|
559
|
+
font-weight: 500;
|
|
432
560
|
}
|
|
433
561
|
|
|
434
562
|
.messenger-unread-dot {
|
|
@@ -439,35 +567,44 @@ export const messengerViewsStyles = `
|
|
|
439
567
|
flex-shrink: 0;
|
|
440
568
|
}
|
|
441
569
|
|
|
570
|
+
.messenger-conversation-item.closed .messenger-conversation-title,
|
|
571
|
+
.messenger-conversation-item.closed .messenger-conversation-message {
|
|
572
|
+
color: var(--msg-text-tertiary);
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
.messenger-conversation-resolved-badge {
|
|
576
|
+
font-size: 0.6875rem;
|
|
577
|
+
font-weight: 500;
|
|
578
|
+
color: var(--color-success-dark);
|
|
579
|
+
background: var(--color-success-light);
|
|
580
|
+
border-radius: var(--radius-full);
|
|
581
|
+
padding: 1px 7px;
|
|
582
|
+
flex-shrink: 0;
|
|
583
|
+
}
|
|
584
|
+
|
|
442
585
|
.messenger-conversations-footer {
|
|
443
|
-
|
|
444
|
-
border-top: none;
|
|
586
|
+
border-top: 1px solid var(--msg-border);
|
|
445
587
|
}
|
|
446
588
|
|
|
447
589
|
.messenger-new-message-btn {
|
|
448
|
-
|
|
449
|
-
margin: 0 auto;
|
|
590
|
+
width: 100%;
|
|
450
591
|
display: flex;
|
|
451
592
|
align-items: center;
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
background: var(--msg-bg);
|
|
593
|
+
gap: var(--spacing-3);
|
|
594
|
+
padding: 12px var(--spacing-4);
|
|
595
|
+
background: transparent;
|
|
456
596
|
border: none;
|
|
457
|
-
border-radius: var(--radius-xl);
|
|
458
597
|
color: var(--msg-text);
|
|
459
|
-
font-size: var(--font-size-
|
|
598
|
+
font-size: var(--font-size-sm);
|
|
460
599
|
font-weight: var(--font-weight-medium);
|
|
461
600
|
cursor: pointer;
|
|
462
|
-
transition:
|
|
601
|
+
transition: background var(--transition-base);
|
|
463
602
|
font-family: inherit;
|
|
464
|
-
|
|
603
|
+
text-align: left;
|
|
465
604
|
}
|
|
466
605
|
|
|
467
606
|
.messenger-new-message-btn:hover {
|
|
468
607
|
background: var(--msg-bg-hover);
|
|
469
|
-
transform: translateX(4px);
|
|
470
|
-
box-shadow: var(--msg-shadow-card-hover);
|
|
471
608
|
}
|
|
472
609
|
|
|
473
610
|
.messenger-new-message-btn:active {
|
|
@@ -61,6 +61,7 @@ export class MessengerWidget extends BaseWidget {
|
|
|
61
61
|
changelogUrl: options.changelogUrl || null,
|
|
62
62
|
helpUrl: options.helpUrl || null,
|
|
63
63
|
roadmapUrl: options.roadmapUrl || null,
|
|
64
|
+
composePlaceholder: options.composePlaceholder || null,
|
|
64
65
|
onSendMessage: options.onSendMessage || null,
|
|
65
66
|
onFeedbackClick: options.onFeedbackClick || null,
|
|
66
67
|
onArticleClick: options.onArticleClick || null,
|
|
@@ -493,6 +494,12 @@ export class MessengerWidget extends BaseWidget {
|
|
|
493
494
|
this._wsUnsubscribers.push(
|
|
494
495
|
this.wsService.on('disconnected', () => {
|
|
495
496
|
console.log('[MessengerWidget] WebSocket disconnected');
|
|
497
|
+
this.messengerState._notify('connectionChange', { connected: false });
|
|
498
|
+
})
|
|
499
|
+
);
|
|
500
|
+
this._wsUnsubscribers.push(
|
|
501
|
+
this.wsService.on('connected', () => {
|
|
502
|
+
this.messengerState._notify('connectionChange', { connected: true });
|
|
496
503
|
})
|
|
497
504
|
);
|
|
498
505
|
|