@pubuduth-aplicy/chat-ui 2.1.68 → 2.1.70
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/package.json +2 -1
- package/src/components/Chat.tsx +32 -59
- package/src/components/messages/Message.tsx +173 -7
- package/src/components/messages/MessageContainer.tsx +55 -40
- package/src/components/messages/MessageInput.tsx +333 -248
- package/src/components/messages/Messages.tsx +58 -91
- package/src/components/sidebar/Conversation.tsx +55 -38
- package/src/hooks/mutations/useDeleteMessage.ts +26 -0
- package/src/hooks/mutations/useEditMessage.ts +25 -0
- package/src/lib/api/apiClient.ts +1 -1
- package/src/lib/api/endpoint.ts +3 -1
- package/src/providers/ChatProvider.tsx +85 -66
- package/src/service/messageService.ts +46 -1
- package/src/style/style.css +281 -104
|
@@ -27,4 +27,49 @@ export const fetchMessages = async (chatId: string|undefined, userid: string,pag
|
|
|
27
27
|
console.error("Error fetching messages:", error);
|
|
28
28
|
return []; // Return a default empty array on error
|
|
29
29
|
}
|
|
30
|
-
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const setEditMessage = async ({
|
|
33
|
+
messageId,
|
|
34
|
+
userId,
|
|
35
|
+
newMessage
|
|
36
|
+
}: {
|
|
37
|
+
messageId: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
newMessage: string;
|
|
40
|
+
}) => {
|
|
41
|
+
const apiClient = getApiClient();
|
|
42
|
+
try {
|
|
43
|
+
const response = await apiClient.put(`${Path.editMessage}/${messageId}`, {
|
|
44
|
+
userId,
|
|
45
|
+
newMessage
|
|
46
|
+
});
|
|
47
|
+
return response.data;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
console.error("Error editing message:", error);
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
export const deleteMessage = async ({
|
|
56
|
+
messageId,
|
|
57
|
+
userId
|
|
58
|
+
}: {
|
|
59
|
+
messageId: string;
|
|
60
|
+
userId: string;
|
|
61
|
+
}) => {
|
|
62
|
+
const apiClient = getApiClient();
|
|
63
|
+
try {
|
|
64
|
+
const response = await apiClient.delete(
|
|
65
|
+
`${Path.deleteMessage}/${messageId}`,
|
|
66
|
+
{
|
|
67
|
+
data: { userId } // Sending userId in the request body
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
return response.data;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error("Error deleting message:", error);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
};
|
package/src/style/style.css
CHANGED
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
display: inline-flex;
|
|
37
37
|
padding-top: 2.4125rem;
|
|
38
38
|
padding-bottom: 2.45rem;
|
|
39
|
-
/* padding-left: 1rem; */
|
|
40
39
|
padding-right: 1rem;
|
|
40
|
+
padding-left: 1rem;
|
|
41
41
|
gap: 1rem;
|
|
42
42
|
border-bottom: 0.5px solid lightgray;
|
|
43
43
|
width: 100%;
|
|
@@ -49,16 +49,15 @@
|
|
|
49
49
|
|
|
50
50
|
.chatSidebarSearchbarContainer {
|
|
51
51
|
display: flex;
|
|
52
|
-
padding
|
|
53
|
-
padding-bottom: 0.5rem;
|
|
52
|
+
padding: 0.5rem 1rem;
|
|
54
53
|
width: 100%;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
shrink: 1;
|
|
54
|
+
border: 1px solid #ccc; /* Consistent border color */
|
|
55
|
+
border-radius: 4px;
|
|
58
56
|
gap: 1rem;
|
|
59
57
|
justify-content: flex-start;
|
|
60
58
|
align-items: center;
|
|
61
59
|
height: 2.5rem;
|
|
60
|
+
background-color: rgb(248, 249, 249); /* Move bg color here */
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
.chatSidebarSearchbarImg {
|
|
@@ -67,41 +66,36 @@
|
|
|
67
66
|
align-items: center;
|
|
68
67
|
width: 1.5rem;
|
|
69
68
|
height: 1.5rem;
|
|
70
|
-
padding
|
|
71
|
-
padding-right: 3px;
|
|
72
|
-
padding-top: 2.50px;
|
|
73
|
-
padding-bottom: 3px;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.loader-wrapper {
|
|
77
|
-
display: flex;
|
|
78
|
-
align-items: center;
|
|
79
|
-
justify-content: center;
|
|
80
|
-
height: 100%;
|
|
81
|
-
width: 100%;
|
|
69
|
+
padding: 2.5px 3px;
|
|
82
70
|
}
|
|
83
71
|
|
|
84
72
|
.chatSidebarInput {
|
|
85
73
|
outline: none;
|
|
86
74
|
padding: 8px 4px;
|
|
87
|
-
/* Keep original padding */
|
|
88
75
|
font-size: 1rem;
|
|
89
|
-
border-radius: 4px;
|
|
90
76
|
line-height: 1.5rem;
|
|
91
77
|
font-weight: 400;
|
|
92
|
-
border: 1px solid #ccc;
|
|
93
78
|
width: 100%;
|
|
94
|
-
/* Ensure full width */
|
|
95
|
-
/* min-width: 400px; */
|
|
96
79
|
max-width: 600px;
|
|
80
|
+
border: none !important; /* Force no border */
|
|
81
|
+
background: transparent; /* Inherit from container */
|
|
82
|
+
box-shadow: none !important; /* Remove any shadow */
|
|
97
83
|
}
|
|
98
84
|
|
|
99
|
-
.
|
|
100
|
-
border: 1px solid #12bbb5
|
|
85
|
+
.chatSidebarSearchbarContainer:focus-within {
|
|
86
|
+
border: 1px solid #12bbb5;
|
|
101
87
|
box-shadow: 0 0 5px rgba(18, 187, 181, 0.5);
|
|
102
88
|
transition: border-color 0.3s ease-in-out;
|
|
103
89
|
}
|
|
104
90
|
|
|
91
|
+
.loader-wrapper {
|
|
92
|
+
display: flex;
|
|
93
|
+
align-items: center;
|
|
94
|
+
justify-content: center;
|
|
95
|
+
height: 100%;
|
|
96
|
+
width: 100%;
|
|
97
|
+
}
|
|
98
|
+
|
|
105
99
|
.chatSidebarConversations {
|
|
106
100
|
display: flex;
|
|
107
101
|
overflow: auto;
|
|
@@ -380,19 +374,38 @@
|
|
|
380
374
|
}
|
|
381
375
|
|
|
382
376
|
.chatMessageInputSubmit {
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
377
|
+
background-color: #12bbb5;
|
|
378
|
+
border: none;
|
|
379
|
+
width: 40px;
|
|
380
|
+
height: 40px;
|
|
381
|
+
padding: 0;
|
|
382
|
+
border-radius: 6px; /* or 0px for sharp corners */
|
|
383
|
+
cursor: pointer;
|
|
384
|
+
display: inline-flex;
|
|
385
|
+
align-items: center;
|
|
386
|
+
justify-content: center;
|
|
387
|
+
transition: background-color 0.3s ease;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.chatMessageInputSubmit:hover {
|
|
391
|
+
background-color: #0d9a94;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* .chatMessageInputSubmit:disabled {
|
|
395
|
+
background-color: #cbd5e1;
|
|
396
|
+
cursor: not-allowed;
|
|
397
|
+
} */
|
|
398
|
+
|
|
399
|
+
.icon {
|
|
400
|
+
height: 18px;
|
|
401
|
+
width: 18px;
|
|
391
402
|
}
|
|
392
403
|
|
|
404
|
+
|
|
393
405
|
.chat-container {
|
|
394
406
|
width: 100%;
|
|
395
407
|
font-family: Arial, sans-serif;
|
|
408
|
+
margin-bottom: 8px;
|
|
396
409
|
}
|
|
397
410
|
|
|
398
411
|
.message-row {
|
|
@@ -402,6 +415,7 @@
|
|
|
402
415
|
gap: 10px;
|
|
403
416
|
word-break: break-all;
|
|
404
417
|
max-width: 100%;
|
|
418
|
+
width: 100%;
|
|
405
419
|
|
|
406
420
|
}
|
|
407
421
|
|
|
@@ -418,27 +432,44 @@
|
|
|
418
432
|
display: flex;
|
|
419
433
|
flex-direction: column;
|
|
420
434
|
max-width: 70%;
|
|
435
|
+
position: relative;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.amk7{
|
|
439
|
+
position: absolute;
|
|
440
|
+
top: 0;
|
|
441
|
+
display: block;
|
|
442
|
+
width: 8px;
|
|
443
|
+
height: 13px;
|
|
444
|
+
right: -8px;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
:root{
|
|
448
|
+
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
421
449
|
}
|
|
422
450
|
|
|
423
451
|
.chat-bubble {
|
|
424
452
|
|
|
425
453
|
background-color: #f3f4f6;
|
|
426
|
-
border-radius: 0.5rem;
|
|
427
|
-
padding: 0.5rem;
|
|
454
|
+
border-radius: 0.5rem ;
|
|
455
|
+
/* padding: 0.5rem; */
|
|
428
456
|
font-size: 14px;
|
|
429
457
|
max-width: 20rem;
|
|
430
458
|
margin-bottom: 5px;
|
|
459
|
+
position: relative;
|
|
460
|
+
word-break: break-word;
|
|
461
|
+
padding: 8px 12px;
|
|
431
462
|
}
|
|
432
463
|
|
|
433
464
|
.outgoing .chat-bubble {
|
|
434
|
-
background-color: #
|
|
435
|
-
color:
|
|
465
|
+
background-color: #aef7e883;
|
|
466
|
+
color: #595c61;
|
|
436
467
|
|
|
437
468
|
}
|
|
438
469
|
|
|
439
470
|
.incoming .chat-bubble {
|
|
440
|
-
background-color: #
|
|
441
|
-
color:
|
|
471
|
+
background-color: #EBEDF0;
|
|
472
|
+
color: #595c61;
|
|
442
473
|
}
|
|
443
474
|
|
|
444
475
|
.timestamp_incomeing {
|
|
@@ -463,7 +494,7 @@
|
|
|
463
494
|
align-items: center;
|
|
464
495
|
float: right;
|
|
465
496
|
position: relative;
|
|
466
|
-
justify-content: end;
|
|
497
|
+
justify-content: flex-end;
|
|
467
498
|
}
|
|
468
499
|
|
|
469
500
|
.status-icon {
|
|
@@ -472,6 +503,7 @@
|
|
|
472
503
|
margin-left: 10px;
|
|
473
504
|
right: 10px;
|
|
474
505
|
font-size: 12px;
|
|
506
|
+
display: inline-flex;
|
|
475
507
|
}
|
|
476
508
|
|
|
477
509
|
.read {
|
|
@@ -507,16 +539,21 @@
|
|
|
507
539
|
.grid-container {
|
|
508
540
|
height: 550px;
|
|
509
541
|
grid-template-columns: repeat(9, minmax(0, 1fr));
|
|
542
|
+
gap: 1rem;
|
|
510
543
|
}
|
|
511
544
|
|
|
512
545
|
.sidebarContainer {
|
|
513
546
|
/* display: grid; */
|
|
514
|
-
grid-column: span
|
|
547
|
+
grid-column: span 3;
|
|
548
|
+
background-color: rgb(248, 249, 249);
|
|
549
|
+
border-radius: 1%;
|
|
515
550
|
}
|
|
516
551
|
|
|
517
552
|
.messageContainer {
|
|
518
553
|
display: grid;
|
|
519
|
-
grid-column: span
|
|
554
|
+
grid-column: span 6;
|
|
555
|
+
border: 1px solid #ddd;
|
|
556
|
+
border-radius: 1%;
|
|
520
557
|
}
|
|
521
558
|
|
|
522
559
|
.chatMessageContainerInnerDiv_button {
|
|
@@ -753,7 +790,6 @@
|
|
|
753
790
|
width: 12px;
|
|
754
791
|
height: 12px;
|
|
755
792
|
border-radius: 50%;
|
|
756
|
-
border: 2px solid white;
|
|
757
793
|
/* Border for a neat appearance */
|
|
758
794
|
}
|
|
759
795
|
|
|
@@ -764,9 +800,9 @@
|
|
|
764
800
|
}
|
|
765
801
|
|
|
766
802
|
/* For offline status */
|
|
767
|
-
.chatSidebarStatusDot.offline {
|
|
803
|
+
/* .chatSidebarStatusDot.offline {
|
|
768
804
|
background-color: rgba(179, 170, 170, 0.712);
|
|
769
|
-
}
|
|
805
|
+
} */
|
|
770
806
|
|
|
771
807
|
.conversation-container {
|
|
772
808
|
display: flex;
|
|
@@ -775,14 +811,18 @@
|
|
|
775
811
|
padding: 12px;
|
|
776
812
|
/* border-radius: 8px; */
|
|
777
813
|
border-bottom: .5px solid lightgray;
|
|
778
|
-
background-color:
|
|
814
|
+
background-color: rgb(248, 249, 249);
|
|
779
815
|
/* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
|
|
780
816
|
cursor: pointer;
|
|
781
817
|
transition: background-color 0.3s ease-in-out;
|
|
782
818
|
}
|
|
783
819
|
|
|
784
820
|
.conversation-container:hover {
|
|
785
|
-
background-color:
|
|
821
|
+
background-color: rgb(255, 255, 255);
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
.conversation-container.selected {
|
|
825
|
+
background-color: rgb(255, 255, 255);
|
|
786
826
|
}
|
|
787
827
|
|
|
788
828
|
.conversation-avatar {
|
|
@@ -815,9 +855,10 @@
|
|
|
815
855
|
}
|
|
816
856
|
|
|
817
857
|
.conversation-name {
|
|
818
|
-
font-size:
|
|
858
|
+
font-size: 1rem;
|
|
819
859
|
font-weight: bold;
|
|
820
|
-
color: #
|
|
860
|
+
color: #1f2937;
|
|
861
|
+
font-weight: 500;
|
|
821
862
|
}
|
|
822
863
|
|
|
823
864
|
.conversation-time {
|
|
@@ -1150,16 +1191,113 @@
|
|
|
1150
1191
|
/* margin-top: 0.5rem; */
|
|
1151
1192
|
}
|
|
1152
1193
|
|
|
1153
|
-
.media-item {
|
|
1194
|
+
.media-item {
|
|
1154
1195
|
background: #f3f4f6;
|
|
1155
1196
|
border-radius: 0.375rem;
|
|
1156
1197
|
/* reduced from 0.75rem */
|
|
1157
|
-
|
|
1198
|
+
padding: 0.5rem;
|
|
1158
1199
|
overflow: hidden;
|
|
1159
1200
|
display: flex;
|
|
1160
1201
|
flex-direction: column;
|
|
1161
1202
|
align-items: start;
|
|
1162
1203
|
width: 246px;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
/* .media-grid {
|
|
1207
|
+
display: grid;
|
|
1208
|
+
gap: 2px;
|
|
1209
|
+
border-radius: 8px;
|
|
1210
|
+
overflow: hidden;
|
|
1211
|
+
width: 246px;
|
|
1212
|
+
margin: 4px 0;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
/* Single media item */
|
|
1216
|
+
/* .media-grid.single-media {
|
|
1217
|
+
grid-template-columns: 1fr;
|
|
1218
|
+
} */
|
|
1219
|
+
|
|
1220
|
+
/* Two media items */
|
|
1221
|
+
/* .media-grid.two-media {
|
|
1222
|
+
grid-template-columns: 1fr 1fr;
|
|
1223
|
+
} */
|
|
1224
|
+
|
|
1225
|
+
/* Three media items */
|
|
1226
|
+
/* .media-grid.three-media {
|
|
1227
|
+
grid-template-columns: 1fr 1fr;
|
|
1228
|
+
grid-template-rows: 1fr 1fr;
|
|
1229
|
+
} */
|
|
1230
|
+
|
|
1231
|
+
/* .media-grid.three-media .media-item:first-child {
|
|
1232
|
+
grid-row: span 2;
|
|
1233
|
+
} */
|
|
1234
|
+
|
|
1235
|
+
/* Four media items */
|
|
1236
|
+
/* .media-grid.four-media {
|
|
1237
|
+
grid-template-columns: 1fr 1fr;
|
|
1238
|
+
grid-template-rows: 1fr 1fr;
|
|
1239
|
+
} */
|
|
1240
|
+
|
|
1241
|
+
/* Media item styling */
|
|
1242
|
+
/* .media-item {
|
|
1243
|
+
position: relative;
|
|
1244
|
+
width: 246px;
|
|
1245
|
+
height: 100%; */
|
|
1246
|
+
/* aspect-ratio: 1; */
|
|
1247
|
+
/* overflow: hidden;
|
|
1248
|
+
} */
|
|
1249
|
+
|
|
1250
|
+
/* .media-item img {
|
|
1251
|
+
width: 100%;
|
|
1252
|
+
height: 100%;
|
|
1253
|
+
object-fit: cover; */
|
|
1254
|
+
/* display: block; */
|
|
1255
|
+
/* } */
|
|
1256
|
+
|
|
1257
|
+
/* Adjust aspect ratio for single media */
|
|
1258
|
+
/* .single-media .media-item {
|
|
1259
|
+
aspect-ratio: auto;
|
|
1260
|
+
max-height: 300px;
|
|
1261
|
+
} */
|
|
1262
|
+
|
|
1263
|
+
/* For more than 4 items */
|
|
1264
|
+
/* .media-grid.multi-media:not(.two-media):not(.three-media):not(.four-media) {
|
|
1265
|
+
grid-template-columns: repeat(2, 1fr);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
.two-media-item{
|
|
1269
|
+
width: 123px;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
.three-media-item
|
|
1273
|
+
{
|
|
1274
|
+
width: 82px;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.four-media-item
|
|
1278
|
+
{
|
|
1279
|
+
width: 100%;
|
|
1280
|
+
} */ */
|
|
1281
|
+
|
|
1282
|
+
/* Optional: Add overlay for additional items count */
|
|
1283
|
+
.media-item.count-overlay {
|
|
1284
|
+
position: relative;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
.media-item.count-overlay::after {
|
|
1288
|
+
content: "+" attr(data-count);
|
|
1289
|
+
position: absolute;
|
|
1290
|
+
top: 0;
|
|
1291
|
+
left: 0;
|
|
1292
|
+
right: 0;
|
|
1293
|
+
bottom: 0;
|
|
1294
|
+
background: rgba(0, 0, 0, 0.5);
|
|
1295
|
+
color: white;
|
|
1296
|
+
display: flex;
|
|
1297
|
+
align-items: center;
|
|
1298
|
+
justify-content: center;
|
|
1299
|
+
font-size: 24px;
|
|
1300
|
+
font-weight: bold;
|
|
1163
1301
|
}
|
|
1164
1302
|
|
|
1165
1303
|
.media-content {
|
|
@@ -1190,7 +1328,7 @@
|
|
|
1190
1328
|
|
|
1191
1329
|
.chat-bubble {
|
|
1192
1330
|
background-color: #e5e7eb;
|
|
1193
|
-
/* padding: 0.5rem 0.75rem;
|
|
1331
|
+
/* padding: 0.5rem 0.75rem; */
|
|
1194
1332
|
border-radius: 0.375rem;
|
|
1195
1333
|
margin-top: 0.5rem;
|
|
1196
1334
|
max-width: 100%;
|
|
@@ -1213,7 +1351,7 @@
|
|
|
1213
1351
|
|
|
1214
1352
|
.document-preview {
|
|
1215
1353
|
position: relative;
|
|
1216
|
-
width:
|
|
1354
|
+
width: 226px;
|
|
1217
1355
|
height: 60px;
|
|
1218
1356
|
/* Increased height to accommodate filename */
|
|
1219
1357
|
border-radius: 12px;
|
|
@@ -1308,78 +1446,117 @@
|
|
|
1308
1446
|
background: rgba(255, 255, 255, 1);
|
|
1309
1447
|
}
|
|
1310
1448
|
|
|
1449
|
+
.message-options {
|
|
1450
|
+
position: absolute;
|
|
1451
|
+
top: 24px;
|
|
1452
|
+
right: 8px;
|
|
1453
|
+
display: flex;
|
|
1454
|
+
gap: 8px;
|
|
1455
|
+
background-color: #ffffff;
|
|
1456
|
+
border-radius: 18px;
|
|
1457
|
+
padding: 4px;
|
|
1458
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
1459
|
+
z-index: 10;
|
|
1460
|
+
transition: opacity 0.2s ease;
|
|
1461
|
+
}
|
|
1311
1462
|
|
|
1312
|
-
|
|
1313
|
-
.circular-progress-container {
|
|
1314
|
-
position: relative;
|
|
1315
|
-
width: 100%;
|
|
1316
|
-
height: 200px;
|
|
1463
|
+
.message-option-btn {
|
|
1317
1464
|
display: flex;
|
|
1318
|
-
justify-content: center;
|
|
1319
1465
|
align-items: center;
|
|
1466
|
+
justify-content: center;
|
|
1467
|
+
width: 28px;
|
|
1468
|
+
height: 28px;
|
|
1469
|
+
border-radius: 50%;
|
|
1470
|
+
border: none;
|
|
1471
|
+
background-color: transparent;
|
|
1472
|
+
color: #54656f;
|
|
1473
|
+
cursor: pointer;
|
|
1474
|
+
transition: background-color 0.2s ease;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
.message-option-btn:hover {
|
|
1478
|
+
background-color: #f0f2f5;
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
.more-options-container {
|
|
1482
|
+
position: relative;
|
|
1320
1483
|
}
|
|
1321
1484
|
|
|
1322
|
-
.
|
|
1485
|
+
.delete-option {
|
|
1323
1486
|
position: absolute;
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1487
|
+
top: -36px;
|
|
1488
|
+
right: 0;
|
|
1489
|
+
background-color: #ffffff;
|
|
1490
|
+
border-radius: 8px;
|
|
1491
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
1492
|
+
padding: 8px;
|
|
1493
|
+
z-index: 20;
|
|
1494
|
+
min-width: 120px;
|
|
1328
1495
|
}
|
|
1329
1496
|
|
|
1330
|
-
.
|
|
1497
|
+
.delete-btn {
|
|
1498
|
+
display: flex;
|
|
1499
|
+
align-items: center;
|
|
1500
|
+
gap: 8px;
|
|
1331
1501
|
width: 100%;
|
|
1332
|
-
|
|
1333
|
-
|
|
1502
|
+
padding: 8px;
|
|
1503
|
+
border: none;
|
|
1504
|
+
background-color: transparent;
|
|
1505
|
+
color: #ea4335;
|
|
1506
|
+
cursor: pointer;
|
|
1507
|
+
border-radius: 4px;
|
|
1508
|
+
transition: background-color 0.2s ease;
|
|
1334
1509
|
}
|
|
1335
1510
|
|
|
1336
|
-
.
|
|
1337
|
-
|
|
1338
|
-
width: 80px;
|
|
1339
|
-
height: 80px;
|
|
1511
|
+
.delete-btn:hover {
|
|
1512
|
+
background-color: #f0f2f5;
|
|
1340
1513
|
}
|
|
1341
1514
|
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1515
|
+
|
|
1516
|
+
.edited-label {
|
|
1517
|
+
color: #999;
|
|
1518
|
+
font-size: 0.8em;
|
|
1519
|
+
margin-left: 5px;
|
|
1520
|
+
font-style: italic;
|
|
1346
1521
|
}
|
|
1347
1522
|
|
|
1348
|
-
.
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
stroke-width: 4;
|
|
1523
|
+
.deleted-message {
|
|
1524
|
+
color: #999;
|
|
1525
|
+
font-style: italic;
|
|
1352
1526
|
}
|
|
1353
1527
|
|
|
1354
|
-
.
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
stroke-width: 4;
|
|
1358
|
-
stroke-linecap: round;
|
|
1359
|
-
transition: stroke-dasharray 0.3s ease;
|
|
1528
|
+
.edit-message-container {
|
|
1529
|
+
width: 100%;
|
|
1530
|
+
margin-bottom: 8px;
|
|
1360
1531
|
}
|
|
1361
1532
|
|
|
1362
|
-
.
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
font-weight: bold;
|
|
1369
|
-
color: #333;
|
|
1533
|
+
.edit-message-input {
|
|
1534
|
+
width: 100%;
|
|
1535
|
+
padding: 8px;
|
|
1536
|
+
border: 1px solid #ddd;
|
|
1537
|
+
border-radius: 4px;
|
|
1538
|
+
margin-bottom: 5px;
|
|
1370
1539
|
}
|
|
1371
1540
|
|
|
1372
|
-
|
|
1373
|
-
.upload-error {
|
|
1374
|
-
position: relative;
|
|
1541
|
+
.edit-actions {
|
|
1375
1542
|
display: flex;
|
|
1376
|
-
|
|
1377
|
-
align-items: center;
|
|
1378
|
-
width: 100%;
|
|
1379
|
-
height: 100%;
|
|
1380
|
-
color: #f44336;
|
|
1381
|
-
font-weight: bold;
|
|
1382
|
-
background-color: rgba(0, 0, 0, 0.3);
|
|
1543
|
+
gap: 5px;
|
|
1383
1544
|
}
|
|
1384
1545
|
|
|
1385
|
-
|
|
1546
|
+
.save-edit,
|
|
1547
|
+
.cancel-edit {
|
|
1548
|
+
padding: 4px 8px;
|
|
1549
|
+
border: none;
|
|
1550
|
+
border-radius: 4px;
|
|
1551
|
+
cursor: pointer;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
.save-edit {
|
|
1555
|
+
background-color: #4CAF50;
|
|
1556
|
+
color: white;
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
.cancel-edit {
|
|
1560
|
+
background-color: #f44336;
|
|
1561
|
+
color: white;
|
|
1562
|
+
}
|