@satek-team-intern/chatbot-widget 0.10.6 → 0.10.8
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/README.md +57 -61
- package/dist/chatbot-widget.es.js +3816 -2907
- package/dist/chatbot-widget.umd.js +20 -18
- package/dist/locales/en.json.d.ts +161 -35
- package/dist/locales/vi.json.d.ts +161 -35
- package/dist/src/assets/Icons.d.ts +3 -0
- package/dist/src/assets/createIcon.d.ts +3 -2
- package/dist/src/assets/index.d.ts +1 -0
- package/dist/src/components/modals/AddGroup.d.ts +1 -0
- package/dist/src/components/modals/AddMember.d.ts +1 -0
- package/dist/src/components/modals/UpdateGroup.d.ts +1 -0
- package/dist/src/components/modals/index.d.ts +0 -1
- package/dist/src/components/sidebar/AppSideBar.d.ts +3 -4
- package/dist/src/components/sidebar/ChatInfoPanel.d.ts +1 -0
- package/dist/src/components/view/ImageFileItem.d.ts +10 -0
- package/dist/src/components/view/MessageFiles.d.ts +14 -1
- package/dist/src/components/view/ThemeSetting.d.ts +3 -0
- package/dist/src/components/view/index.d.ts +2 -0
- package/dist/src/constants/common.d.ts +12 -0
- package/dist/src/constants/file.d.ts +1 -0
- package/dist/src/hooks/useSetting.d.ts +5 -2
- package/dist/src/hooks/useTranslation.d.ts +2 -1
- package/dist/src/services/language.service.d.ts +1 -1
- package/dist/src/store/selectors/setting.d.ts +3 -3
- package/dist/src/store/slices/chatSlice.d.ts +4 -1
- package/dist/src/store/slices/settingSlice.d.ts +5 -1
- package/dist/src/types/chat.type.d.ts +3 -5
- package/dist/src/types/types.d.ts +11 -1
- package/dist/src/utils/chat.utils.d.ts +15 -2
- package/dist/src/utils/file.utils.d.ts +8 -4
- package/dist/src/utils/format.utils.d.ts +6 -1
- package/package.json +2 -1
|
@@ -11,15 +11,124 @@ declare const _default: {
|
|
|
11
11
|
"updateGroup": "Cannot update group information. Please try again later!"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
+
"addMember": {
|
|
15
|
+
"title": "Add Member",
|
|
16
|
+
"memberSearchPlaceholder": "Search members",
|
|
17
|
+
"noMembersFound": "No members found",
|
|
18
|
+
"addButton": "Add",
|
|
19
|
+
"addMemberSuccess": "Member added to group successfully!",
|
|
20
|
+
"addMemberError": "Cannot add member. Please try again!",
|
|
21
|
+
"membersSection": "Suggested Members"
|
|
22
|
+
},
|
|
23
|
+
"addChat": {
|
|
24
|
+
"title": "Create Group",
|
|
25
|
+
"groupNamePlaceholder": "Group name",
|
|
26
|
+
"memberSearchPlaceholder": "Search members",
|
|
27
|
+
"selectMembers": "Create Group",
|
|
28
|
+
"cancelButton": "Cancel",
|
|
29
|
+
"createChatError": "Cannot create conversation. Please try again later.",
|
|
30
|
+
"membersSection": "Suggested Members",
|
|
31
|
+
"createGroup": "Create Group",
|
|
32
|
+
"selectMoreMembers": "Select more members"
|
|
33
|
+
},
|
|
34
|
+
"updateGroup": {
|
|
35
|
+
"title": "Update Group",
|
|
36
|
+
"groupNamePlaceholder": "Group name",
|
|
37
|
+
"membersSection": "Members",
|
|
38
|
+
"removeMemberButtonTitle": "Remove member",
|
|
39
|
+
"cancelButton": "Cancel",
|
|
40
|
+
"updateButton": "Update",
|
|
41
|
+
"updatingButton": "Updating...",
|
|
42
|
+
"updateSuccess": "Group updated successfully",
|
|
43
|
+
"updateError": "Error updating group",
|
|
44
|
+
"removeMemberConfirm": "Are you sure you want to remove this member from the group?",
|
|
45
|
+
"leftGroupSuccess": "You have left this group",
|
|
46
|
+
"removeMemberSuccess": "Member removed from group",
|
|
47
|
+
"removeMemberError": "Cannot remove member. Please try again!",
|
|
48
|
+
"youLabel": "You",
|
|
49
|
+
"leaderLabel": "Leader",
|
|
50
|
+
"groupNameLabel": "Group Name",
|
|
51
|
+
"avatarUrlLabel": "Avatar URL",
|
|
52
|
+
"avatarUrlPlaceholder": "Enter avatar URL (optional)...",
|
|
53
|
+
"uploadAvatarButton": "Upload Avatar",
|
|
54
|
+
"removeConfirmationStart": "Are you sure you want to remove member",
|
|
55
|
+
"removeConfirmationEnd": "from the group?"
|
|
56
|
+
},
|
|
57
|
+
"userProfileModal": {
|
|
58
|
+
"statusActive": "Active",
|
|
59
|
+
"statusInactive": "Inactive",
|
|
60
|
+
"messageButton": "Message",
|
|
61
|
+
"departmentLabel": "Department",
|
|
62
|
+
"departmentValue": "Technical",
|
|
63
|
+
"roleLabel": "Role",
|
|
64
|
+
"roleValue": "Member",
|
|
65
|
+
"dateOfBirthLabel": "Date of birth",
|
|
66
|
+
"dateOfBirthValue": "05/11/1994",
|
|
67
|
+
"emailLabel": "Email",
|
|
68
|
+
"phoneLabel": "Phone",
|
|
69
|
+
"notAvailable": "Not available"
|
|
70
|
+
},
|
|
71
|
+
"chatInfoPanel": {
|
|
72
|
+
"groupManagementTitle": "Group Management",
|
|
73
|
+
"allowGroupMembers": "Allow group members to:",
|
|
74
|
+
"canChangeGroupInfo": "Change group name & avatar",
|
|
75
|
+
"canPinMessage": "Pin messages, notes, polls at the top of the conversation",
|
|
76
|
+
"canCreateNote": "Create new notes and reminders",
|
|
77
|
+
"canCreatePoll": "Create new polls",
|
|
78
|
+
"canSendMessage": "Send messages",
|
|
79
|
+
"approveNewMembersLabel": "New member approval mode",
|
|
80
|
+
"markAdminMessagesLabel": "Mark messages from leaders/vice leaders",
|
|
81
|
+
"allowNewMembersReadRecentLabel": "Allow new members to read recent messages",
|
|
82
|
+
"blockFromGroup": "Block from group",
|
|
83
|
+
"leaderAndViceLeader": "Leader & Vice Leader",
|
|
84
|
+
"deleteChatConfirm": "Are you sure you want to delete this conversation?",
|
|
85
|
+
"deleteChatSuccess": "Conversation deleted successfully.",
|
|
86
|
+
"deleteChatError": "An error occurred while deleting the conversation.",
|
|
87
|
+
"membersLabel": "Members ({count})",
|
|
88
|
+
"statusActive": "Active",
|
|
89
|
+
"statusInactive": "Inactive",
|
|
90
|
+
"addButtonLabel": "Add",
|
|
91
|
+
"youLabel": "You",
|
|
92
|
+
"leaderLabel": "Leader",
|
|
93
|
+
"memberLabel": "Member",
|
|
94
|
+
"removeFromGroupMenu": "Remove from group",
|
|
95
|
+
"deleteChatHistory": "Delete chat history"
|
|
96
|
+
},
|
|
14
97
|
"chatWindow": {
|
|
15
98
|
"memberSystem": "System Members",
|
|
16
99
|
"dragFile": "Drop files here",
|
|
17
100
|
"selectChat": "Select a conversation",
|
|
18
101
|
"startConversation": "Start a conversation with support or your team",
|
|
19
|
-
"searchPlaceholder": "Search conversations
|
|
102
|
+
"searchPlaceholder": "Search conversations",
|
|
20
103
|
"filterAll": "All",
|
|
21
104
|
"filterGroup": "Group Chat",
|
|
22
|
-
"filterSingle": "1-1 Chat"
|
|
105
|
+
"filterSingle": "1-1 Chat",
|
|
106
|
+
"filterUnread": "Unread",
|
|
107
|
+
"removeMemberConfirm": "Are you sure you want to remove this member from the group?",
|
|
108
|
+
"leftGroupSuccess": "You have left this group",
|
|
109
|
+
"removeMemberSuccess": "Member removed from group",
|
|
110
|
+
"removeMemberError": "Cannot remove member. Please try again!",
|
|
111
|
+
"createChatError": "Cannot create chat. Please try again later.",
|
|
112
|
+
"removeChatConfirm": "Are you sure you want to delete this conversation?",
|
|
113
|
+
"removeChatSuccess": "Conversation deleted",
|
|
114
|
+
"removeChatError": "Cannot delete conversation. Please try again!",
|
|
115
|
+
"unreadFilterLabel": "Unread",
|
|
116
|
+
"searchFilterAll": "All",
|
|
117
|
+
"searchFilterMembers": "Members",
|
|
118
|
+
"searchFilterMessages": "Messages",
|
|
119
|
+
"searchFilterFiles": "Files",
|
|
120
|
+
"searchSectionMembers": "Members",
|
|
121
|
+
"searchSectionMessages": "Messages",
|
|
122
|
+
"searchSectionFiles": "Files",
|
|
123
|
+
"viewAllMembers": "View all members",
|
|
124
|
+
"viewAllMessages": "View all messages",
|
|
125
|
+
"viewAllFiles": "View all files",
|
|
126
|
+
"contactCategoryMembers": "Member List",
|
|
127
|
+
"contactCategoryGroups": "Group List",
|
|
128
|
+
"statusLoading": "Loading...",
|
|
129
|
+
"statusActive": "Active",
|
|
130
|
+
"statusInactive": "Inactive",
|
|
131
|
+
"memberSuffix": "members"
|
|
23
132
|
},
|
|
24
133
|
"chatHeader": {
|
|
25
134
|
"defaultTitle": "Chat List",
|
|
@@ -30,7 +139,8 @@ declare const _default: {
|
|
|
30
139
|
"minimize": "Minimize",
|
|
31
140
|
"maximize": "Maximize",
|
|
32
141
|
"close": "Close",
|
|
33
|
-
"language": "Change Language"
|
|
142
|
+
"language": "Change Language",
|
|
143
|
+
"subtitle": "Internal Chat"
|
|
34
144
|
},
|
|
35
145
|
"chatInput": {
|
|
36
146
|
"placeholder": "Enter message...",
|
|
@@ -73,28 +183,14 @@ declare const _default: {
|
|
|
73
183
|
"addMember": "Add Member",
|
|
74
184
|
"deleteGroup": "Delete Group",
|
|
75
185
|
"delete": "Delete",
|
|
76
|
-
"yourMessage": "You: "
|
|
186
|
+
"yourMessage": "You: ",
|
|
187
|
+
"allChats": "All Messages",
|
|
188
|
+
"emptyChats": "No messages yet"
|
|
77
189
|
},
|
|
78
190
|
"chatSearchBar": {
|
|
79
191
|
"searchPlaceholder": "Search...",
|
|
80
192
|
"createGroup": "Create New Group"
|
|
81
193
|
},
|
|
82
|
-
"addChat": {
|
|
83
|
-
"title": "Create Conversation",
|
|
84
|
-
"groupNamePlaceholder": "Enter group name...",
|
|
85
|
-
"memberSearchPlaceholder": "Find member name...",
|
|
86
|
-
"membersSection": "Suggested Members",
|
|
87
|
-
"createGroup": "Create Group",
|
|
88
|
-
"selectMoreMembers": "Select more members",
|
|
89
|
-
"selectMembers": "Select members"
|
|
90
|
-
},
|
|
91
|
-
"addMember": {
|
|
92
|
-
"title": "Add Member",
|
|
93
|
-
"memberSearchPlaceholder": "Find member name...",
|
|
94
|
-
"membersSection": "Suggested Members",
|
|
95
|
-
"noMembersFound": "No suitable members found",
|
|
96
|
-
"addButton": "+ Add"
|
|
97
|
-
},
|
|
98
194
|
"fileViewer": {
|
|
99
195
|
"closeButtonTitle": "Close (ESC)",
|
|
100
196
|
"previousButtonTitle": "Previous Image (←)",
|
|
@@ -106,7 +202,9 @@ declare const _default: {
|
|
|
106
202
|
"previousAriaLabel": "Previous image",
|
|
107
203
|
"nextAriaLabel": "Next image",
|
|
108
204
|
"scrollLeftAriaLabel": "Scroll thumbnails left",
|
|
109
|
-
"scrollRightAriaLabel": "Scroll thumbnails right"
|
|
205
|
+
"scrollRightAriaLabel": "Scroll thumbnails right",
|
|
206
|
+
"pdfCheckingStatus": "Checking file integrity...",
|
|
207
|
+
"pdfErrorMessage": "⚠️ This PDF file has a structural error or does not exist on the system."
|
|
110
208
|
},
|
|
111
209
|
"themeModal": {
|
|
112
210
|
"title": "Theme Settings",
|
|
@@ -116,20 +214,48 @@ declare const _default: {
|
|
|
116
214
|
"doneButton": "Done",
|
|
117
215
|
"resetButton": "Reset"
|
|
118
216
|
},
|
|
119
|
-
"
|
|
120
|
-
"title": "
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
217
|
+
"contactList": {
|
|
218
|
+
"title": "Member List",
|
|
219
|
+
"searchPlaceholder": "Find member",
|
|
220
|
+
"sortAsc": "Name (A-Z)",
|
|
221
|
+
"sortDesc": "Name (Z-A)",
|
|
222
|
+
"filterAll": "All",
|
|
223
|
+
"filterOnline": "Online",
|
|
224
|
+
"filterOffline": "Offline",
|
|
225
|
+
"role": "Employee"
|
|
226
|
+
},
|
|
227
|
+
"groupList": {
|
|
228
|
+
"title": "Groups & Communities",
|
|
229
|
+
"searchPlaceholder": "Find group",
|
|
230
|
+
"members": "members"
|
|
231
|
+
},
|
|
232
|
+
"messageFiles": {
|
|
233
|
+
"pdfDownloadError": "Failed to download PDF file"
|
|
234
|
+
},
|
|
235
|
+
"messageItem": {
|
|
236
|
+
"actionFailed": "Action failed, please try again!",
|
|
237
|
+
"linkLabel": "Link"
|
|
238
|
+
},
|
|
239
|
+
"messageList": {
|
|
240
|
+
"loading": "Loading..."
|
|
241
|
+
},
|
|
242
|
+
"themeSetting": {
|
|
243
|
+
"title": "Theme Settings",
|
|
244
|
+
"saveButton": "Save",
|
|
245
|
+
"themeCard": "Theme",
|
|
246
|
+
"lightMode": "Light",
|
|
247
|
+
"darkMode": "Dark",
|
|
248
|
+
"colorThemeCard": "Theme Color",
|
|
249
|
+
"chatBubbleCard": "Chat Bubble",
|
|
250
|
+
"dragDropToggleLabel": "Allow drag and drop popup",
|
|
251
|
+
"dragDropToggleDesc": "When enabled, you can drag the title bar to move the chat window to any position.",
|
|
252
|
+
"Blue": "Blue",
|
|
253
|
+
"Purple": "Purple",
|
|
254
|
+
"Pink": "Pink",
|
|
255
|
+
"Red": "Red",
|
|
256
|
+
"Orange": "Orange",
|
|
257
|
+
"Green": "Green",
|
|
258
|
+
"Gray": "Gray"
|
|
133
259
|
}
|
|
134
260
|
}
|
|
135
261
|
;
|
|
@@ -11,6 +11,90 @@ declare const _default: {
|
|
|
11
11
|
"updateGroup": "Không thể cập nhật thông tin nhóm. Vui lòng thử lại!"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
+
"addMember": {
|
|
15
|
+
"title": "Thêm thành viên",
|
|
16
|
+
"memberSearchPlaceholder": "Tìm kiếm thành viên",
|
|
17
|
+
"noMembersFound": "Không tìm thấy thành viên nào",
|
|
18
|
+
"addButton": "Thêm",
|
|
19
|
+
"addMemberSuccess": "Đã thêm thành viên vào nhóm thành công!",
|
|
20
|
+
"addMemberError": "Không thể thêm thành viên. Vui lòng thử lại!",
|
|
21
|
+
"membersSection": "Gợi ý thành viên"
|
|
22
|
+
},
|
|
23
|
+
"addChat": {
|
|
24
|
+
"title": "Tạo nhóm mới",
|
|
25
|
+
"cancelButton": "Hủy",
|
|
26
|
+
"createChatError": "Không thể tạo cuộc trò chuyện. Vui lòng thử lại sau.",
|
|
27
|
+
"groupNamePlaceholder": "Nhập tên nhóm",
|
|
28
|
+
"memberSearchPlaceholder": "Chọn người nhận hoặc nhập tên",
|
|
29
|
+
"membersSection": "Gợi ý thành viên",
|
|
30
|
+
"createGroup": "Tạo nhóm",
|
|
31
|
+
"selectMoreMembers": "Chọn thêm thành viên",
|
|
32
|
+
"selectMembers": "Tạo",
|
|
33
|
+
"cancelMembers": "Huỷ"
|
|
34
|
+
},
|
|
35
|
+
"updateGroup": {
|
|
36
|
+
"title": "Cập nhật nhóm",
|
|
37
|
+
"groupNamePlaceholder": "Tên nhóm",
|
|
38
|
+
"membersSection": "Thành viên",
|
|
39
|
+
"removeMemberButtonTitle": "Xoá thành viên",
|
|
40
|
+
"cancelButton": "Hủy",
|
|
41
|
+
"updateButton": "Cập nhật",
|
|
42
|
+
"updatingButton": "Đang cập nhật...",
|
|
43
|
+
"updateSuccess": "Cập nhật nhóm thành công",
|
|
44
|
+
"updateError": "Lỗi khi cập nhật nhóm",
|
|
45
|
+
"removeMemberConfirm": "Bạn có chắc chắn muốn xóa thành viên này ra khỏi nhóm?",
|
|
46
|
+
"leftGroupSuccess": "Bạn đã rời khỏi nhóm này",
|
|
47
|
+
"removeMemberSuccess": "Đã xóa thành viên khỏi nhóm",
|
|
48
|
+
"removeMemberError": "Không thể xóa thành viên. Vui lòng thử lại!",
|
|
49
|
+
"youLabel": "Bạn",
|
|
50
|
+
"leaderLabel": "Trưởng nhóm",
|
|
51
|
+
"groupNameLabel": "Tên nhóm",
|
|
52
|
+
"avatarUrlLabel": "URL Ảnh đại diện",
|
|
53
|
+
"avatarUrlPlaceholder": "Nhập URL ảnh đại diện (tùy chọn)...",
|
|
54
|
+
"uploadAvatarButton": "Tải lên ảnh đại diện",
|
|
55
|
+
"removeConfirmationStart": "Bạn có chắc chắn muốn xóa thành viên",
|
|
56
|
+
"removeConfirmationEnd": "khỏi nhóm?"
|
|
57
|
+
},
|
|
58
|
+
"userProfileModal": {
|
|
59
|
+
"statusActive": "Đang hoạt động",
|
|
60
|
+
"statusInactive": "Không hoạt động",
|
|
61
|
+
"messageButton": "Nhắn tin",
|
|
62
|
+
"departmentLabel": "Phòng ban",
|
|
63
|
+
"departmentValue": "Kỹ thuật",
|
|
64
|
+
"roleLabel": "Vai trò",
|
|
65
|
+
"roleValue": "Thành viên",
|
|
66
|
+
"dateOfBirthLabel": "Ngày sinh",
|
|
67
|
+
"dateOfBirthValue": "05/11/1994",
|
|
68
|
+
"emailLabel": "Email",
|
|
69
|
+
"phoneLabel": "Điện thoại",
|
|
70
|
+
"notAvailable": "Không có"
|
|
71
|
+
},
|
|
72
|
+
"chatInfoPanel": {
|
|
73
|
+
"groupManagementTitle": "Quản lý nhóm",
|
|
74
|
+
"allowGroupMembers": "Cho phép các thành viên trong nhóm:",
|
|
75
|
+
"canChangeGroupInfo": "Thay đổi tên & ảnh đại diện của nhóm",
|
|
76
|
+
"canPinMessage": "Ghim tin nhắn, ghi chú, bình chọn lên đầu hội thoại",
|
|
77
|
+
"canCreateNote": "Tạo mới ghi chú, nhắc hẹn",
|
|
78
|
+
"canCreatePoll": "Tạo mới bình chọn",
|
|
79
|
+
"canSendMessage": "Gửi tin nhắn",
|
|
80
|
+
"approveNewMembersLabel": "Chế độ phê duyệt thành viên mới",
|
|
81
|
+
"markAdminMessagesLabel": "Đánh dấu tin nhắn từ trưởng/phó nhóm",
|
|
82
|
+
"allowNewMembersReadRecentLabel": "Cho phép thành viên mới đọc tin nhắn gần nhất",
|
|
83
|
+
"blockFromGroup": "Chặn khỏi nhóm",
|
|
84
|
+
"leaderAndViceLeader": "Trưởng & phó nhóm",
|
|
85
|
+
"deleteChatConfirm": "Bạn có chắc chắn muốn xóa cuộc trò chuyện này?",
|
|
86
|
+
"deleteChatSuccess": "Cuộc trò chuyện đã được xóa thành công.",
|
|
87
|
+
"deleteChatError": "Có lỗi xảy ra khi xóa cuộc trò chuyện.",
|
|
88
|
+
"membersLabel": "Thành viên ({count})",
|
|
89
|
+
"statusActive": "Đang hoạt động",
|
|
90
|
+
"statusInactive": "Không hoạt động",
|
|
91
|
+
"addButtonLabel": "Thêm",
|
|
92
|
+
"youLabel": "Bạn",
|
|
93
|
+
"leaderLabel": "Trưởng nhóm",
|
|
94
|
+
"memberLabel": "Thành viên",
|
|
95
|
+
"removeFromGroupMenu": "Xoá khỏi nhóm",
|
|
96
|
+
"deleteChatHistory": "Xoá lịch sử trò chuyện"
|
|
97
|
+
},
|
|
14
98
|
"chatWindow": {
|
|
15
99
|
"memberSystem": "Thành viên hệ thống",
|
|
16
100
|
"dragFile": "Thả file tại đây",
|
|
@@ -19,7 +103,33 @@ declare const _default: {
|
|
|
19
103
|
"searchPlaceholder": "Tìm kiếm",
|
|
20
104
|
"filterAll": "Tất cả",
|
|
21
105
|
"filterGroup": "Nhóm chat",
|
|
22
|
-
"filterSingle": "Chat 1-1"
|
|
106
|
+
"filterSingle": "Chat 1-1",
|
|
107
|
+
"filterUnread": "Chưa đọc",
|
|
108
|
+
"removeMemberConfirm": "Bạn có chắc chắn muốn xóa thành viên này ra khỏi nhóm?",
|
|
109
|
+
"leftGroupSuccess": "Bạn đã rời khỏi nhóm này",
|
|
110
|
+
"removeMemberSuccess": "Đã xóa thành viên khỏi nhóm",
|
|
111
|
+
"removeMemberError": "Không thể xóa thành viên. Vui lòng thử lại!",
|
|
112
|
+
"createChatError": "Không thể tạo cuộc trò chuyện. Vui lòng thử lại sau.",
|
|
113
|
+
"removeChatConfirm": "Bạn có chắc chắn muốn xóa cuộc trò chuyện này?",
|
|
114
|
+
"removeChatSuccess": "Đã xóa cuộc trò chuyện",
|
|
115
|
+
"removeChatError": "Không thể xóa cuộc trò chuyện. Vui lòng thử lại!",
|
|
116
|
+
"unreadFilterLabel": "Chưa đọc",
|
|
117
|
+
"searchFilterAll": "Tất cả",
|
|
118
|
+
"searchFilterMembers": "Thành viên",
|
|
119
|
+
"searchFilterMessages": "Tin nhắn",
|
|
120
|
+
"searchFilterFiles": "File",
|
|
121
|
+
"searchSectionMembers": "Thành viên",
|
|
122
|
+
"searchSectionMessages": "Tin nhắn",
|
|
123
|
+
"searchSectionFiles": "File",
|
|
124
|
+
"viewAllMembers": "Xem tất cả thành viên",
|
|
125
|
+
"viewAllMessages": "Xem tất cả tin nhắn",
|
|
126
|
+
"viewAllFiles": "Xem tất cả file",
|
|
127
|
+
"contactCategoryMembers": "Danh sách thành viên",
|
|
128
|
+
"contactCategoryGroups": "Danh sách nhóm",
|
|
129
|
+
"statusLoading": "Đang tải...",
|
|
130
|
+
"statusActive": "Đang hoạt động",
|
|
131
|
+
"statusInactive": "Không hoạt động",
|
|
132
|
+
"memberSuffix": "thành viên"
|
|
23
133
|
},
|
|
24
134
|
"chatHeader": {
|
|
25
135
|
"defaultTitle": "Danh sách chat",
|
|
@@ -30,7 +140,8 @@ declare const _default: {
|
|
|
30
140
|
"minimize": "Thu nhỏ",
|
|
31
141
|
"maximize": "Mở rộng",
|
|
32
142
|
"close": "Đóng",
|
|
33
|
-
"language": "Thay đổi ngôn ngữ"
|
|
143
|
+
"language": "Thay đổi ngôn ngữ",
|
|
144
|
+
"subtitle": "Tin nhắn nội bộ"
|
|
34
145
|
},
|
|
35
146
|
"chatInput": {
|
|
36
147
|
"placeholder": "Nhập tin nhắn...",
|
|
@@ -73,29 +184,14 @@ declare const _default: {
|
|
|
73
184
|
"addMember": "Thêm thành viên",
|
|
74
185
|
"deleteGroup": "Xóa nhóm",
|
|
75
186
|
"delete": "Xóa",
|
|
76
|
-
"yourMessage": "Bạn: "
|
|
187
|
+
"yourMessage": "Bạn: ",
|
|
188
|
+
"allChats": "Tất cả tin nhắn",
|
|
189
|
+
"emptyChats": "Không có tin nhắn nào"
|
|
77
190
|
},
|
|
78
191
|
"chatSearchBar": {
|
|
79
192
|
"searchPlaceholder": "Tìm kiếm...",
|
|
80
193
|
"createGroup": "Tạo nhóm mới"
|
|
81
194
|
},
|
|
82
|
-
"addChat": {
|
|
83
|
-
"title": "Tạo nhóm mới",
|
|
84
|
-
"groupNamePlaceholder": "Nhập tên nhóm",
|
|
85
|
-
"memberSearchPlaceholder": "Chọn người nhận hoặc nhập tên",
|
|
86
|
-
"membersSection": "Gợi ý thành viên",
|
|
87
|
-
"createGroup": "Tạo nhóm",
|
|
88
|
-
"selectMoreMembers": "Chọn thêm thành viên",
|
|
89
|
-
"selectMembers": "Tạo",
|
|
90
|
-
"cancelMembers": "Huỷ"
|
|
91
|
-
},
|
|
92
|
-
"addMember": {
|
|
93
|
-
"title": "Thêm thành viên",
|
|
94
|
-
"memberSearchPlaceholder": "Tìm tên thành viên...",
|
|
95
|
-
"membersSection": "Gợi ý thành viên",
|
|
96
|
-
"noMembersFound": "Không tìm thấy thành viên phù hợp",
|
|
97
|
-
"addButton": "+ Thêm"
|
|
98
|
-
},
|
|
99
195
|
"fileViewer": {
|
|
100
196
|
"closeButtonTitle": "Đóng (ESC)",
|
|
101
197
|
"previousButtonTitle": "Ảnh trước (←)",
|
|
@@ -107,7 +203,9 @@ declare const _default: {
|
|
|
107
203
|
"previousAriaLabel": "Ảnh trước",
|
|
108
204
|
"nextAriaLabel": "Ảnh tiếp theo",
|
|
109
205
|
"scrollLeftAriaLabel": "Cuộn hình thu nhỏ sang trái",
|
|
110
|
-
"scrollRightAriaLabel": "Cuộn hình thu nhỏ sang phải"
|
|
206
|
+
"scrollRightAriaLabel": "Cuộn hình thu nhỏ sang phải",
|
|
207
|
+
"pdfCheckingStatus": "Đang kiểm tra tính toàn vẹn của file...",
|
|
208
|
+
"pdfErrorMessage": "⚠️ File PDF này đã bị lỗi cấu trúc hoặc không tồn tại trên hệ thống."
|
|
111
209
|
},
|
|
112
210
|
"themeModal": {
|
|
113
211
|
"title": "Cài đặt chủ đề",
|
|
@@ -117,20 +215,48 @@ declare const _default: {
|
|
|
117
215
|
"doneButton": "Hoàn tất",
|
|
118
216
|
"resetButton": "Reset"
|
|
119
217
|
},
|
|
120
|
-
"
|
|
121
|
-
"title": "
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
218
|
+
"contactList": {
|
|
219
|
+
"title": "Danh sách thành viên",
|
|
220
|
+
"searchPlaceholder": "Tìm bạn",
|
|
221
|
+
"sortAsc": "Tên (A-Z)",
|
|
222
|
+
"sortDesc": "Tên (Z-A)",
|
|
223
|
+
"filterAll": "Tất cả",
|
|
224
|
+
"filterOnline": "Online",
|
|
225
|
+
"filterOffline": "Offline",
|
|
226
|
+
"role": "Nhân viên"
|
|
227
|
+
},
|
|
228
|
+
"groupList": {
|
|
229
|
+
"title": "Danh sách nhóm và cộng đồng",
|
|
230
|
+
"searchPlaceholder": "Tìm nhóm",
|
|
231
|
+
"members": "thành viên"
|
|
232
|
+
},
|
|
233
|
+
"messageFiles": {
|
|
234
|
+
"pdfDownloadError": "Không thể tải file PDF"
|
|
235
|
+
},
|
|
236
|
+
"messageItem": {
|
|
237
|
+
"actionFailed": "Thao tác không thành công, vui lòng thử lại!",
|
|
238
|
+
"linkLabel": "Liên kết"
|
|
239
|
+
},
|
|
240
|
+
"messageList": {
|
|
241
|
+
"loading": "Đang tải..."
|
|
242
|
+
},
|
|
243
|
+
"themeSetting": {
|
|
244
|
+
"title": "Cấu hình giao diện",
|
|
245
|
+
"saveButton": "Lưu",
|
|
246
|
+
"themeCard": "Giao diện",
|
|
247
|
+
"lightMode": "Sáng",
|
|
248
|
+
"darkMode": "Tối",
|
|
249
|
+
"colorThemeCard": "Màu chủ đề",
|
|
250
|
+
"chatBubbleCard": "Bong bóng chat",
|
|
251
|
+
"dragDropToggleLabel": "Cho phép kéo thả popup",
|
|
252
|
+
"dragDropToggleDesc": "Khi bật, bạn có thể kéo thanh tiêu đề để di chuyển cửa sổ chat đến vị trí bất kỳ.",
|
|
253
|
+
"Blue": "Xanh",
|
|
254
|
+
"Purple": "Tím",
|
|
255
|
+
"Pink": "Hồng",
|
|
256
|
+
"Red": "Đỏ",
|
|
257
|
+
"Orange": "Cam",
|
|
258
|
+
"Green": "Xanh lá",
|
|
259
|
+
"Gray": "Xám"
|
|
134
260
|
}
|
|
135
261
|
}
|
|
136
262
|
;
|
|
@@ -43,3 +43,6 @@ export declare const RevokeMessageIcon: import('react').ForwardRefExoticComponen
|
|
|
43
43
|
export declare const SeenIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
44
44
|
export declare const LanguageIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
45
45
|
export declare const ImagePlaceholderIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
46
|
+
export declare const FileIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
47
|
+
export declare const DownloadIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
48
|
+
export declare const LinkIcon: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSX, SVGProps } from 'react';
|
|
1
|
+
import { ForwardRefExoticComponent, JSX, RefAttributes, SVGProps } from 'react';
|
|
2
2
|
export interface IconProps extends SVGProps<SVGSVGElement> {
|
|
3
3
|
size?: number | string;
|
|
4
4
|
strokeWidth?: number;
|
|
@@ -15,5 +15,6 @@ interface CreateIconOptions {
|
|
|
15
15
|
strokeLinecapDefault?: 'butt' | 'round' | 'square' | 'inherit' | undefined;
|
|
16
16
|
strokeLinejoinDefault?: 'round' | 'inherit' | 'miter' | 'bevel' | undefined;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
export type TIconComponent = ForwardRefExoticComponent<Omit<IconProps, 'ref'> & RefAttributes<SVGSVGElement>>;
|
|
19
|
+
declare const createIcon: (iconName: string, iconContent: JSX.Element, { viewBox, fill, sizeDefault, strokeWidthDefault, strokeColorDefault, strokeLinecapDefault, strokeLinejoinDefault, }?: CreateIconOptions) => ForwardRefExoticComponent<Omit<IconProps, "ref"> & RefAttributes<SVGSVGElement>>;
|
|
19
20
|
export default createIcon;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export declare const AppSideBar: ({
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
setActiveTab: (tab: "chats" | "contacts") => void;
|
|
1
|
+
export declare const AppSideBar: ({ activeTab, setActiveTab, }: {
|
|
2
|
+
activeTab: "chats" | "contacts" | "settings";
|
|
3
|
+
setActiveTab: (tab: "chats" | "contacts" | "settings") => void;
|
|
5
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,6 +5,7 @@ interface SideBarInfoChatProps {
|
|
|
5
5
|
onAddMember: () => void;
|
|
6
6
|
onUpdateGroup?: (chat: ChatConversation) => void;
|
|
7
7
|
onRemoveMember?: (chatId: number, memberId: number) => void;
|
|
8
|
+
isPopup?: boolean;
|
|
8
9
|
}
|
|
9
10
|
declare const ChatInfoPanel: FC<SideBarInfoChatProps>;
|
|
10
11
|
export { ChatInfoPanel };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChatFile } from '../../../types/chat.type';
|
|
2
|
+
interface ImageFileItemProps {
|
|
3
|
+
file: ChatFile;
|
|
4
|
+
displayedImages: ChatFile[];
|
|
5
|
+
hasMoreImages: boolean;
|
|
6
|
+
remainingImagesCount: number;
|
|
7
|
+
handleImageClick: (file: ChatFile) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const ImageFileItem: ({ file, displayedImages, hasMoreImages, remainingImagesCount, handleImageClick, }: ImageFileItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import { FC, ReactNode, MouseEvent, CSSProperties } from 'react';
|
|
2
2
|
import { ChatFile } from '../../../types';
|
|
3
3
|
interface MessageFilesProps {
|
|
4
4
|
files?: ChatFile[];
|
|
5
5
|
}
|
|
6
|
+
interface FileWrapperProps {
|
|
7
|
+
file: ChatFile;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
isLink?: boolean;
|
|
11
|
+
handleImageClick?: (file: ChatFile) => void;
|
|
12
|
+
style?: CSSProperties;
|
|
13
|
+
}
|
|
14
|
+
export declare const FileWrapper: ({ file, children, className, isLink, handleImageClick, style, }: FileWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare const DefaultFileUI: ({ file, handleDownload, }: {
|
|
16
|
+
file: ChatFile;
|
|
17
|
+
handleDownload: (e: MouseEvent, file: ChatFile) => void;
|
|
18
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
19
|
export declare const MessageFiles: FC<MessageFilesProps>;
|
|
7
20
|
export {};
|
|
@@ -1 +1,13 @@
|
|
|
1
|
+
import { LanguageOption } from '../../types';
|
|
1
2
|
export declare const COMMON_EMOJIS: string[];
|
|
3
|
+
export declare const COLOR_PRESETS: {
|
|
4
|
+
name: string;
|
|
5
|
+
className: string;
|
|
6
|
+
value: string;
|
|
7
|
+
dotClass: string;
|
|
8
|
+
}[];
|
|
9
|
+
export declare const EXTRACT_URL_REGEX: RegExp;
|
|
10
|
+
export declare const LOCAL_OR_IP_REGEX: RegExp;
|
|
11
|
+
export declare const GENERAL_URL_REGEX: RegExp;
|
|
12
|
+
export declare const MESSAGE_LIMIT = 500;
|
|
13
|
+
export declare const DEFAULT_LANGUAGE: LanguageOption;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import { WidgetFeature } from '../../types';
|
|
2
|
-
export declare const useSetting: (config?:
|
|
1
|
+
import { LanguageOption, WidgetFeature } from '../../types';
|
|
2
|
+
export declare const useSetting: (config?: {
|
|
3
|
+
features?: WidgetFeature;
|
|
4
|
+
language?: LanguageOption;
|
|
5
|
+
}) => void;
|