@chat21/chat21-ionic 3.4.27-rc8 → 3.4.27
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/CHANGELOG.md +4 -49
- package/angular.json +0 -1
- package/package.json +1 -1
- package/src/app/app.component.ts +13 -68
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.scss +3 -3
- package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +1 -1
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +1 -1
- package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.html +1 -1
- package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.ts +4 -4
- package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.scss +3 -3
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +9 -9
- package/src/app/components/bubbleMessageInfo-popover/bubbleinfo-popover.component.html +1 -1
- package/src/app/components/canned-response/canned-response.component.html +23 -26
- package/src/app/components/canned-response/canned-response.component.scss +2 -0
- package/src/app/components/canned-response/canned-response.component.ts +1 -3
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +8 -8
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +1 -24
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +0 -30
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +16 -29
- package/src/app/components/copilot-popover/copilot-popover.component.html +1 -1
- package/src/app/components/navbar/navbar.component.html +3 -3
- package/src/app/components/navbar/navbar.component.ts +38 -29
- package/src/app/components/project-item/project-item.component.ts +11 -11
- package/src/app/components/sidebar/sidebar.component.html +47 -67
- package/src/app/components/sidebar/sidebar.component.ts +117 -92
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +4 -4
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +14 -16
- package/src/app/modals/create-ticket/create-ticket.page.html +6 -6
- package/src/app/modals/create-ticket/create-ticket.page.ts +6 -8
- package/src/app/modals/loader-preview/loader-preview.page.ts +1 -1
- package/src/app/modals/send-whatsapp-template/send-whatsapp-template.page.scss +1 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.html +3 -7
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +1 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +4 -63
- package/src/app/pages/conversations-list/conversations-list.page.ts +8 -8
- package/src/app/pages/profile-info/profile-info.page.ts +3 -3
- package/src/app/services/brand/brand.service.ts +5 -5
- package/src/app/services/global-settings/global-settings.service.ts +2 -5
- package/src/app/services/tiledesk/tiledesk.service.ts +16 -0
- package/src/app/shared/shared.module.ts +0 -11
- package/src/app/utils/project-utils.ts +2 -2
- package/src/app/utils/utils-resources.ts +8 -7
- package/src/app/utils/utils.ts +1 -18
- package/src/assets/i18n/ar.json +1 -11
- package/src/assets/i18n/az.json +1 -11
- package/src/assets/i18n/de.json +1 -11
- package/src/assets/i18n/en.json +1 -11
- package/src/assets/i18n/es.json +1 -11
- package/src/assets/i18n/fr.json +1 -11
- package/src/assets/i18n/it.json +3 -13
- package/src/assets/i18n/kk.json +1 -11
- package/src/assets/i18n/pt.json +1 -11
- package/src/assets/i18n/ru.json +1 -11
- package/src/assets/i18n/sr.json +1 -11
- package/src/assets/i18n/sv.json +1 -11
- package/src/assets/i18n/tr.json +1 -11
- package/src/assets/i18n/uk.json +1 -11
- package/src/assets/i18n/uz.json +1 -12
- package/src/chat-config-template.json +0 -1
- package/src/chat-config.json +0 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
- package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +0 -3
- package/src/chat21-core/utils/constants.ts +2 -2
- package/src/chat21-core/utils/utils.ts +2 -10
- package/src/app/services/project_users/project-users.service.spec.ts +0 -16
- package/src/app/services/project_users/project-users.service.ts +0 -63
- package/src/app/utils/permissions.constants.ts +0 -138
- package/src/assets/js/agentDesktop-sdk.js +0 -47
- package/src/chat21-core/models/projectUsers.ts +0 -19
- /package/src/assets/{images → img}/channel_icons/chat21.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/direct.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/email-logo.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/form-logo_v2.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/group.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/messenger-logo.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/telegram-logo.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/voice.svg +0 -0
- /package/src/assets/{images → img}/channel_icons/whatsapp-logo.svg +0 -0
- /package/src/assets/{images → img}/default-avatar-x-select.png +0 -0
- /package/src/assets/{images → img}/f21ico-done.svg +0 -0
- /package/src/assets/{images → img}/f21ico-done_all.svg +0 -0
- /package/src/assets/{images → img}/f21ico-schedule.svg +0 -0
- /package/src/assets/{images → img}/file-alt-solid.png +0 -0
- /package/src/assets/{images → img}/icons/copilot.svg +0 -0
- /package/src/assets/{images → img}/json-file.svg +0 -0
- /package/src/assets/{images → img}/language_flag/ar.png +0 -0
- /package/src/assets/{images → img}/language_flag/az.png +0 -0
- /package/src/assets/{images → img}/language_flag/bg.png +0 -0
- /package/src/assets/{images → img}/language_flag/ca.png +0 -0
- /package/src/assets/{images → img}/language_flag/cs.png +0 -0
- /package/src/assets/{images → img}/language_flag/da.png +0 -0
- /package/src/assets/{images → img}/language_flag/de.png +0 -0
- /package/src/assets/{images → img}/language_flag/el.png +0 -0
- /package/src/assets/{images → img}/language_flag/en.png +0 -0
- /package/src/assets/{images → img}/language_flag/es.png +0 -0
- /package/src/assets/{images → img}/language_flag/fa.png +0 -0
- /package/src/assets/{images → img}/language_flag/fi.png +0 -0
- /package/src/assets/{images → img}/language_flag/fr.png +0 -0
- /package/src/assets/{images → img}/language_flag/he.png +0 -0
- /package/src/assets/{images → img}/language_flag/hi.png +0 -0
- /package/src/assets/{images → img}/language_flag/hr.png +0 -0
- /package/src/assets/{images → img}/language_flag/hu.png +0 -0
- /package/src/assets/{images → img}/language_flag/id.png +0 -0
- /package/src/assets/{images → img}/language_flag/it.png +0 -0
- /package/src/assets/{images → img}/language_flag/ja.png +0 -0
- /package/src/assets/{images → img}/language_flag/kk.png +0 -0
- /package/src/assets/{images → img}/language_flag/ko.png +0 -0
- /package/src/assets/{images → img}/language_flag/ml-IN.png +0 -0
- /package/src/assets/{images → img}/language_flag/ne-NP.png +0 -0
- /package/src/assets/{images → img}/language_flag/nl.png +0 -0
- /package/src/assets/{images → img}/language_flag/no.png +0 -0
- /package/src/assets/{images → img}/language_flag/pl.png +0 -0
- /package/src/assets/{images → img}/language_flag/pt-BR.png +0 -0
- /package/src/assets/{images → img}/language_flag/pt.png +0 -0
- /package/src/assets/{images → img}/language_flag/ro.png +0 -0
- /package/src/assets/{images → img}/language_flag/ru.png +0 -0
- /package/src/assets/{images → img}/language_flag/sk.png +0 -0
- /package/src/assets/{images → img}/language_flag/sl.png +0 -0
- /package/src/assets/{images → img}/language_flag/sr.png +0 -0
- /package/src/assets/{images → img}/language_flag/sv.png +0 -0
- /package/src/assets/{images → img}/language_flag/ta.png +0 -0
- /package/src/assets/{images → img}/language_flag/th.png +0 -0
- /package/src/assets/{images → img}/language_flag/tr.png +0 -0
- /package/src/assets/{images → img}/language_flag/uk.png +0 -0
- /package/src/assets/{images → img}/language_flag/uz.png +0 -0
- /package/src/assets/{images → img}/language_flag/vi.png +0 -0
- /package/src/assets/{images → img}/language_flag/zh-CN.png +0 -0
- /package/src/assets/{images → img}/language_flag/zh-TW.png +0 -0
- /package/src/assets/{logos → img/logos}/chat21-logo.png +0 -0
- /package/src/assets/{logos → img/logos}/logo.png +0 -0
- /package/src/assets/{logos → img/logos}/tiledesk-logo_new_white.svg +0 -0
- /package/src/assets/{logos → img/logos}/tiledesk-solo-logo.png +0 -0
- /package/src/assets/{logos → img/logos}/tiledesk_logo.svg +0 -0
- /package/src/assets/{logos → img/logos}/tiledesk_logo_no_text.svg +0 -0
- /package/src/assets/{logos → img/logos}/tiledesk_logo_white_small.svg +0 -0
- /package/src/assets/{images → img}/no_conversation.jpg +0 -0
- /package/src/assets/{images → img}/no_image.png +0 -0
- /package/src/assets/{images → img}/no_image_user.png +0 -0
- /package/src/assets/{images → img}/pin.svg +0 -0
- /package/src/assets/{images → img}/pinned.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/high.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/high_v2.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/low.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/low_v2.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/medium.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/medium_v2.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/urgent.svg +0 -0
- /package/src/assets/{images → img}/priority_icons/urgent_v2.svg +0 -0
- /package/src/assets/{images → img}/teammate-status/avaible.svg +0 -0
- /package/src/assets/{images → img}/teammate-status/inactive.svg +0 -0
- /package/src/assets/{images → img}/teammate-status/unavaible.svg +0 -0
- /package/src/assets/{images → img}/whatsapp_background.png +0 -0
|
@@ -83,10 +83,7 @@ import { WebsocketService } from 'src/app/services/websocket/websocket.service';
|
|
|
83
83
|
import { Project } from 'src/chat21-core/models/projects';
|
|
84
84
|
import { Globals } from 'src/app/utils/globals';
|
|
85
85
|
import { ProjectService } from 'src/app/services/projects/project.service';
|
|
86
|
-
import {
|
|
87
|
-
import { ProjectUser } from 'src/chat21-core/models/projectUsers';
|
|
88
|
-
import { getOSCode, hasRole } from 'src/app/utils/utils';
|
|
89
|
-
import { PERMISSIONS } from 'src/app/utils/permissions.constants';
|
|
86
|
+
import { getOSCode } from 'src/app/utils/utils';
|
|
90
87
|
|
|
91
88
|
@Component({
|
|
92
89
|
selector: 'app-conversation-detail',
|
|
@@ -111,7 +108,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
111
108
|
private subscriptions: Array<any>
|
|
112
109
|
public tenant: string;
|
|
113
110
|
public loggedUser: UserModel
|
|
114
|
-
public projectUser: ProjectUser;
|
|
115
111
|
public conversationWith: string
|
|
116
112
|
public conversationWithFullname: string
|
|
117
113
|
public messages: Array<MessageModel> = []
|
|
@@ -141,7 +137,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
141
137
|
public tagsCannedFilter: Array<any> = [];
|
|
142
138
|
public SHOW_CANNED_RESPONSES: boolean = false
|
|
143
139
|
public canShowCanned: boolean = true
|
|
144
|
-
public rolesCanned: { [key: string]: boolean }
|
|
145
140
|
|
|
146
141
|
public SHOW_COPILOT_SUGGESTIONS: boolean = false;
|
|
147
142
|
|
|
@@ -176,10 +171,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
176
171
|
copilotQuestion: string = '';
|
|
177
172
|
/**COPILOT : end */
|
|
178
173
|
|
|
179
|
-
/** TICKET: start */
|
|
180
|
-
isTicketEnabled: boolean = false;
|
|
181
|
-
/** TICKET: end */
|
|
182
|
-
|
|
183
174
|
isMine = isMine
|
|
184
175
|
isInfo = isInfo
|
|
185
176
|
isFirstMessage = isFirstMessage
|
|
@@ -249,7 +240,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
249
240
|
public toastController: ToastController,
|
|
250
241
|
public tiledeskService: TiledeskService,
|
|
251
242
|
public projectService: ProjectService,
|
|
252
|
-
public projectUsersService: ProjectUsersService,
|
|
253
243
|
private networkService: NetworkService,
|
|
254
244
|
private events: EventsService,
|
|
255
245
|
private webSocketService: WebsocketService,
|
|
@@ -487,7 +477,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
487
477
|
this.messages = [] // list messages of conversation
|
|
488
478
|
this.isFileSelected = false // indicates if a file has been selected (image to upload)
|
|
489
479
|
this.isEmailEnabled = (this.appConfigProvider.getConfig().emailSection === 'true' || this.appConfigProvider.getConfig().emailSection === true) ? true : false;
|
|
490
|
-
this.isTicketEnabled = (this.appConfigProvider.getConfig().ticketSection === 'true' || this.appConfigProvider.getConfig().ticketSection === true) ? true : false;
|
|
491
480
|
this.isWhatsappTemplatesEnabled = (this.appConfigProvider.getConfig().whatsappTemplatesSection === 'true' || this.appConfigProvider.getConfig().whatsappTemplatesSection === true) ? true : false;
|
|
492
481
|
|
|
493
482
|
this.cannedResponsesService.initialize(appconfig.apiUrl)
|
|
@@ -545,6 +534,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
545
534
|
this.logger.log('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT * COMPLETE *',)
|
|
546
535
|
})
|
|
547
536
|
}else {
|
|
537
|
+
this.canShowCanned = false;
|
|
548
538
|
this.offlineMsgEmail = false;
|
|
549
539
|
}
|
|
550
540
|
|
|
@@ -555,13 +545,10 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
555
545
|
this.logger.log('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT RES', project)
|
|
556
546
|
if (project) {
|
|
557
547
|
const projectId = project.id_project
|
|
558
|
-
this.
|
|
548
|
+
this.canShowCanned = this.projectPlanUtils.checkPlanIsExpired(project)
|
|
559
549
|
this.offlineMsgEmail = this.checkOfflineMsgEmailIsEnabled(project)
|
|
560
550
|
this.isCopilotEnabled = this.projectPlanUtils.checkProjectProfileFeature(project, 'copilot');
|
|
561
551
|
this.fileUploadAccept = this.checkAcceptedUploadFile(project)
|
|
562
|
-
this.rolesCanned = this.checkCannedResponsesRoles(project)
|
|
563
|
-
this.canShowCanned = this.checkCannedResponses(project)
|
|
564
|
-
this.logger.log('[CONVS-DETAIL] this.rolesCanned ', this.canShowCanned)
|
|
565
552
|
}
|
|
566
553
|
}, (error) => {
|
|
567
554
|
this.logger.error('[CONVS-DETAIL] - GET PROJECTID BY CONV RECIPIENT - ERROR ', error)
|
|
@@ -599,40 +586,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
599
586
|
return this.appConfigProvider.getConfig().fileUploadAccept
|
|
600
587
|
}
|
|
601
588
|
|
|
602
|
-
checkCannedResponses(project: Project): boolean {
|
|
603
|
-
let expires = this.projectPlanUtils.checkPlanIsExpired(project)
|
|
604
|
-
this.logger.log('[CONVS-DETAIL] checkCannedResponses expires ', expires)
|
|
605
|
-
if(expires){
|
|
606
|
-
return false
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
let hasRoleToShowCanned = this.rolesCanned[PERMISSIONS.CANNED_RESPONSES_READ]
|
|
610
|
-
this.logger.log('[CONVS-DETAIL] checkCannedResponses hasRoleToShowCanned ', hasRoleToShowCanned)
|
|
611
|
-
if(!hasRoleToShowCanned){
|
|
612
|
-
return false
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
return true
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
checkCannedResponsesRoles(project: Project): { [key: string]: boolean } {
|
|
619
|
-
const permissionKeys = [
|
|
620
|
-
'CANNED_RESPONSES_CREATE',
|
|
621
|
-
'CANNED_RESPONSES_READ',
|
|
622
|
-
'CANNED_RESPONSES_UPDATE',
|
|
623
|
-
'CANNED_RESPONSES_DELETE',
|
|
624
|
-
] as const;
|
|
625
|
-
|
|
626
|
-
const roles: { [key: string]: boolean } = {};
|
|
627
|
-
for (const key of permissionKeys) {
|
|
628
|
-
const permission = PERMISSIONS[key];
|
|
629
|
-
roles[permission] = hasRole(this.projectUser, permission);
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
return roles;
|
|
633
|
-
|
|
634
|
-
}
|
|
635
|
-
|
|
636
589
|
// getProjectIdSelectedConversation(conversationWith: string): string{
|
|
637
590
|
// const conversationWith_segments = conversationWith.split('-')
|
|
638
591
|
// // Removes the last element of the array if is = to the separator
|
|
@@ -716,11 +669,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
716
669
|
"WHATSAPP.ERROR_WHATSAPP_NOT_INSTALLED",
|
|
717
670
|
"WHATSAPP.ERROR_WHATSAPP_GENERIC_ERROR",
|
|
718
671
|
|
|
719
|
-
"TICKET.OPEN_TICKET",
|
|
720
|
-
"TICKET.DESCRIPTION",
|
|
721
|
-
"TICKET.CONFIRM",
|
|
722
|
-
"TICKET.CLOSE",
|
|
723
|
-
|
|
724
672
|
"COPILOT.ASK_AI",
|
|
725
673
|
"COPILOT.NO_SUGGESTIONS_PRESENT",
|
|
726
674
|
|
|
@@ -1156,7 +1104,7 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1156
1104
|
// ${metadata.name}
|
|
1157
1105
|
// </a>`
|
|
1158
1106
|
|
|
1159
|
-
// msg =  + [${metadata.name}](${metadata.src})
|
|
1160
1108
|
msg = `[${metadata.name}](${metadata.src})`
|
|
1161
1109
|
}
|
|
1162
1110
|
}
|
|
@@ -1936,13 +1884,6 @@ export class ConversationDetailPage implements OnInit, OnDestroy, AfterViewInit
|
|
|
1936
1884
|
}
|
|
1937
1885
|
|
|
1938
1886
|
|
|
1939
|
-
onOpenTicket() {
|
|
1940
|
-
this.logger.debug('[CONVS-DETAIL] openTicketOnExternalService - conversationWith ', this.conversationWith)
|
|
1941
|
-
if(window['openTicketOnHDA']){
|
|
1942
|
-
window['openTicketOnHDA'](this.conversationWith)
|
|
1943
|
-
}
|
|
1944
|
-
|
|
1945
|
-
}
|
|
1946
1887
|
// -------------- START SCROLL/RESIZE -------------- //
|
|
1947
1888
|
/** */
|
|
1948
1889
|
resizeTextArea() {
|
|
@@ -109,9 +109,9 @@ export class ConversationListPage implements OnInit {
|
|
|
109
109
|
profile_name_translated: string;
|
|
110
110
|
selectedStatus: any;
|
|
111
111
|
teammateStatus = [
|
|
112
|
-
{ id: 1, name: 'Available', avatar: 'assets/
|
|
113
|
-
{ id: 2, name: 'Unavailable', avatar: 'assets/
|
|
114
|
-
{ id: 3, name: 'Inactive', avatar: 'assets/
|
|
112
|
+
{ id: 1, name: 'Available', avatar: 'assets/img/teammate-status/avaible.svg', label: "LABEL_AVAILABLE" },
|
|
113
|
+
{ id: 2, name: 'Unavailable', avatar: 'assets/img/teammate-status/unavaible.svg', label: "LABEL_NOT_AVAILABLE" },
|
|
114
|
+
{ id: 3, name: 'Inactive', avatar: 'assets/img/teammate-status/inactive.svg', label: "LABEL_INACTIVE" },
|
|
115
115
|
];
|
|
116
116
|
// PROJECT AVAILABILITY INFO: end
|
|
117
117
|
|
|
@@ -473,7 +473,7 @@ export class ConversationListPage implements OnInit {
|
|
|
473
473
|
listenToCurrentStoredProject() {
|
|
474
474
|
this.events.subscribe('storage:last_project', projectObjct => {
|
|
475
475
|
if (projectObjct && projectObjct !== 'undefined') {
|
|
476
|
-
|
|
476
|
+
this.logger.log('[CONVS-LIST-PAGE] - GET STORED PROJECT ', projectObjct)
|
|
477
477
|
|
|
478
478
|
//TODO: recuperare info da root e non da id_project
|
|
479
479
|
this.project = {
|
|
@@ -888,21 +888,21 @@ export class ConversationListPage implements OnInit {
|
|
|
888
888
|
this.logger.log('[CONVS-LIST-PAGE] checkPlatformIsMobile(): ', checkPlatformIsMobile())
|
|
889
889
|
this.logger.log('[CONVS-LIST-PAGE] DESKTOP (window < 768)', this.navService)
|
|
890
890
|
this.logger.log('[CONVS-LIST-PAGE] navigateByUrl this.conversationSelected conversation_with_fullname ', this.conversationSelected)
|
|
891
|
-
let pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + this.conversationSelected.conversation_with_fullname + '/' + converationType
|
|
891
|
+
let pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + encodeURIComponent(this.conversationSelected.conversation_with_fullname) + '/' + converationType
|
|
892
892
|
this.logger.log('[CONVS-LIST-PAGE] pageURL', pageUrl)
|
|
893
893
|
// replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
|
|
894
|
-
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29')
|
|
894
|
+
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'), {replaceUrl: true})
|
|
895
895
|
} else {
|
|
896
896
|
this.logger.log('[CONVS-LIST-PAGE] navigateByUrl this.conversationSelected conversation_with_fullname ', this.conversationSelected)
|
|
897
897
|
this.logger.log('[CONVS-LIST-PAGE] checkPlatformIsMobile(): ', checkPlatformIsMobile())
|
|
898
898
|
this.logger.log('[CONVS-LIST-PAGE] MOBILE (window >= 768) ', this.navService)
|
|
899
899
|
let pageUrl = 'conversation-detail/' + this.uidConvSelected
|
|
900
900
|
if (this.conversationSelected && this.conversationSelected.conversation_with_fullname) {
|
|
901
|
-
pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + this.conversationSelected.conversation_with_fullname + '/' + converationType
|
|
901
|
+
pageUrl = 'conversation-detail/' + this.uidConvSelected + '/' + encodeURIComponent(this.conversationSelected.conversation_with_fullname) + '/' + converationType
|
|
902
902
|
}
|
|
903
903
|
this.logger.log('[CONVS-LIST-PAGE] setUidConvSelected navigateByUrl--->: ', pageUrl)
|
|
904
904
|
// replace(/\(/g, '%28').replace(/\)/g, '%29') -> used for the encoder of any round brackets
|
|
905
|
-
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29')
|
|
905
|
+
this.router.navigateByUrl(pageUrl.replace(/\(/g, '%28').replace(/\)/g, '%29'), {replaceUrl: true})
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
908
|
|
|
@@ -51,9 +51,9 @@ export class ProfileInfoPage implements OnInit {
|
|
|
51
51
|
|
|
52
52
|
isVisiblePAY: boolean;
|
|
53
53
|
teammateStatus = [
|
|
54
|
-
{ id: 1, name: 'Available', avatar: 'assets/
|
|
55
|
-
{ id: 2, name: 'Unavailable', avatar: 'assets/
|
|
56
|
-
{ id: 3, name: 'Inactive', avatar: 'assets/
|
|
54
|
+
{ id: 1, name: 'Available', avatar: 'assets/img/teammate-status/avaible.svg', label: "LABEL_AVAILABLE" },
|
|
55
|
+
{ id: 2, name: 'Unavailable', avatar: 'assets/img/teammate-status/unavaible.svg', label: "LABEL_NOT_AVAILABLE" },
|
|
56
|
+
{ id: 3, name: 'Inactive', avatar: 'assets/img/teammate-status/inactive.svg', label: "LABEL_INACTIVE" },
|
|
57
57
|
];
|
|
58
58
|
|
|
59
59
|
constructor(
|
|
@@ -67,11 +67,11 @@ export class BrandService {
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
COMMON: {
|
|
70
|
-
COMPANY_LOGO:"assets/logos/tiledesk_logo.svg",
|
|
71
|
-
COMPANY_LOGO_NO_TEXT:"assets/logos/tiledesk_logo.svg",
|
|
72
|
-
BASE_LOGO: "assets/logos/tiledesk_logo.svg",
|
|
73
|
-
BASE_LOGO_NO_TEXT: "assets/logos/tiledesk_logo.svg",
|
|
74
|
-
BASE_LOGO_WHITE: "assets/logos/tiledesk-logo_new_white.svg",
|
|
70
|
+
COMPANY_LOGO:"assets/img/logos/tiledesk_logo.svg",
|
|
71
|
+
COMPANY_LOGO_NO_TEXT:"assets/img/logos/tiledesk_logo.svg",
|
|
72
|
+
BASE_LOGO: "assets/img/logos/tiledesk_logo.svg",
|
|
73
|
+
BASE_LOGO_NO_TEXT: "assets/img/logos/tiledesk_logo.svg",
|
|
74
|
+
BASE_LOGO_WHITE: "assets/img/logos/tiledesk-logo_new_white.svg",
|
|
75
75
|
BASE_LOGO_WHITE_NO_TEXT:"",
|
|
76
76
|
COMPANY_NAME: "Tiledesk",
|
|
77
77
|
BRAND_NAME: "Tiledesk",
|
|
@@ -88,8 +88,8 @@ export class GlobalSettingsService {
|
|
|
88
88
|
this.logger.debug('[GLOBAL-SET] setVariableFromStorage :::::::: SET VARIABLE ---------->', Object.keys(globals));
|
|
89
89
|
for (const key of Object.keys(globals)) {
|
|
90
90
|
const val = this.appStorageService.getItem(key);
|
|
91
|
-
this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals KEY ---------->', key);
|
|
92
|
-
this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals VAL ---------->', val);
|
|
91
|
+
// this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals KEY ---------->', key);
|
|
92
|
+
// this.logger.debug('[GLOBAL-SET] setVariableFromStorage SET globals VAL ---------->', val);
|
|
93
93
|
if (val && val !== null) {
|
|
94
94
|
// globals.setParameter(key, val);
|
|
95
95
|
globals[key] = stringToBoolean(val);
|
|
@@ -111,10 +111,8 @@ export class GlobalSettingsService {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
TEMP = getParameterByName(windowContext, 'tiledesk_supportMode');
|
|
114
|
-
console.log('TEMP supportMode', TEMP);
|
|
115
114
|
if (TEMP) {
|
|
116
115
|
globals.supportMode = stringToBoolean(TEMP);
|
|
117
|
-
this.appStorageService.setItem('supportMode', String(globals.supportMode))
|
|
118
116
|
}
|
|
119
117
|
|
|
120
118
|
TEMP = getParameterByName(windowContext, 'tiledesk_lang');
|
|
@@ -140,7 +138,6 @@ export class GlobalSettingsService {
|
|
|
140
138
|
TEMP = getParameterByName(windowContext, 'tiledesk_projectID');
|
|
141
139
|
if (TEMP) {
|
|
142
140
|
globals.projectID = TEMP;
|
|
143
|
-
this.appStorageService.setItem('projectID', TEMP)
|
|
144
141
|
}
|
|
145
142
|
|
|
146
143
|
}
|
|
@@ -93,6 +93,22 @@ export class TiledeskService {
|
|
|
93
93
|
}))
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
public getProjectUsersByProjectId(project_id: string) {
|
|
97
|
+
const url = this.SERVER_BASE_URL + project_id + '/project_users/';
|
|
98
|
+
this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER URL', url);
|
|
99
|
+
|
|
100
|
+
const httpOptions = {
|
|
101
|
+
headers: new HttpHeaders({
|
|
102
|
+
'Content-Type': 'application/json',
|
|
103
|
+
Authorization: this.tiledeskToken
|
|
104
|
+
})
|
|
105
|
+
};
|
|
106
|
+
return this.http.get(url, httpOptions).pipe(map((res: any) => {
|
|
107
|
+
this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER RES ', res);
|
|
108
|
+
return res
|
|
109
|
+
}))
|
|
110
|
+
}
|
|
111
|
+
|
|
96
112
|
public getAllLeadsActiveWithLimit(project_id: string, limit: number) {
|
|
97
113
|
const url = this.SERVER_BASE_URL + project_id + '/leads?limit=' + limit + '&with_fullname=true';
|
|
98
114
|
this.logger.log('[TILEDESK-SERVICE] - GET ALL ACTIVE LEADS (LIMIT 10000) - URL', url);
|
|
@@ -22,9 +22,6 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
22
22
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
23
23
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
24
24
|
import { SafeHtmlPipe } from '../directives/safe-html.pipe';
|
|
25
|
-
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
26
|
-
import { createTranslateLoader } from 'src/chat21-core/utils/utils';
|
|
27
|
-
import { HttpClient } from '@angular/common/http';
|
|
28
25
|
|
|
29
26
|
// import { MessageTextAreaComponent } from '../components/conversation-detail/message-text-area/message-text-area.component'; // MessageTextAreaComponent is part of the declarations ConversationDetailPageModule
|
|
30
27
|
|
|
@@ -143,14 +140,6 @@ import { HttpClient } from '@angular/common/http';
|
|
|
143
140
|
NgSelectModule,
|
|
144
141
|
FormsModule,
|
|
145
142
|
|
|
146
|
-
TranslateModule.forChild({
|
|
147
|
-
loader: {
|
|
148
|
-
provide: TranslateLoader,
|
|
149
|
-
useFactory: (createTranslateLoader),
|
|
150
|
-
deps: [HttpClient]
|
|
151
|
-
}
|
|
152
|
-
})
|
|
153
|
-
|
|
154
143
|
],
|
|
155
144
|
schemas: [
|
|
156
145
|
CUSTOM_ELEMENTS_SCHEMA,
|
|
@@ -129,9 +129,9 @@ export class ProjectPlanUtils {
|
|
|
129
129
|
|
|
130
130
|
//case PAYMENT plan
|
|
131
131
|
if(project && project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
132
|
-
check = false
|
|
133
|
-
}else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
134
132
|
check = true
|
|
133
|
+
}else if(project && !project.isActiveSubscription && project.profile.type=== 'payment'){
|
|
134
|
+
check = false
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
return check
|
|
@@ -7,16 +7,17 @@ export const BRAND_BASE_INFO: { [key: string] : string | boolean} ={
|
|
|
7
7
|
FAVICON: "https://tiledesk.com/wp-content/uploads/2022/07/tiledesk_v13-300x300.png",
|
|
8
8
|
META_TITLE:"Tiledesk - Open Source Live Chat",
|
|
9
9
|
DOCS: true,
|
|
10
|
-
LOGOUT_ENABLED: true
|
|
10
|
+
LOGOUT_ENABLED: true,
|
|
11
|
+
DISPLAY_EDIT_PROFILE: true
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export var LOGOS_ITEMS: { [key: string] : { label: string | boolean, icon: string }} ={
|
|
14
|
-
COMPANY_LOGO: {label: BRAND_BASE_INFO.COMPANY_NAME, icon: 'assets/logos/tiledesk_logo.svg'},
|
|
15
|
-
COMPANY_LOGO_NO_TEXT: {label: BRAND_BASE_INFO.COMPANY_NAME, icon: 'assets/logos/tiledesk_logo_no_text.svg'},
|
|
16
|
-
BASE_LOGO: {label: BRAND_BASE_INFO.BRAND_NAME, icon: 'assets/logos/tiledesk_logo.svg'},
|
|
17
|
-
BASE_LOGO_NO_TEXT: {label: BRAND_BASE_INFO.BRAND_NAME, icon: 'assets/logos/tiledesk_logo_no_text.svg'},
|
|
18
|
-
BASE_LOGO_WHITE: { label: BRAND_BASE_INFO.BRAND_NAME, icon: '"assets/logos/tiledesk-logo_new_white.svg'},
|
|
19
|
-
BASE_LOGO_WHITE_NO_TEXT: { label: BRAND_BASE_INFO.BRAND_NAME, icon: '"assets/logos/tiledesk-logo_new_white.svg'},
|
|
15
|
+
COMPANY_LOGO: {label: BRAND_BASE_INFO.COMPANY_NAME, icon: 'assets/img/logos/tiledesk_logo.svg'},
|
|
16
|
+
COMPANY_LOGO_NO_TEXT: {label: BRAND_BASE_INFO.COMPANY_NAME, icon: 'assets/img/logos/tiledesk_logo_no_text.svg'},
|
|
17
|
+
BASE_LOGO: {label: BRAND_BASE_INFO.BRAND_NAME, icon: 'assets/img/logos/tiledesk_logo.svg'},
|
|
18
|
+
BASE_LOGO_NO_TEXT: {label: BRAND_BASE_INFO.BRAND_NAME, icon: 'assets/img/logos/tiledesk_logo_no_text.svg'},
|
|
19
|
+
BASE_LOGO_WHITE: { label: BRAND_BASE_INFO.BRAND_NAME, icon: '"assets/img/logos/tiledesk-logo_new_white.svg'},
|
|
20
|
+
BASE_LOGO_WHITE_NO_TEXT: { label: BRAND_BASE_INFO.BRAND_NAME, icon: '"assets/img/logos/tiledesk-logo_new_white.svg'},
|
|
20
21
|
BASE_LOGO_GRAY: { label: BRAND_BASE_INFO.BRAND_NAME, icon: 'https://support-pre.tiledesk.com/dashboard/assets/img/logos/tiledesk-logo_new_gray.svg'}
|
|
21
22
|
}
|
|
22
23
|
|
package/src/app/utils/utils.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { ProjectUser } from "src/chat21-core/models/projectUsers";
|
|
2
|
-
|
|
3
1
|
export function getOSCode(key: string, token: string): boolean {
|
|
4
2
|
|
|
5
3
|
if (token) {
|
|
6
4
|
const keys: String[] = token.split("-");
|
|
7
5
|
|
|
8
6
|
let element = keys.find(el => el.includes(key))
|
|
9
|
-
|
|
7
|
+
console.log('keys', keys)
|
|
10
8
|
if(element){
|
|
11
9
|
element = element.split(":")[1]
|
|
12
10
|
if(element && element === "F"){
|
|
@@ -23,19 +21,4 @@ export function getOSCode(key: string, token: string): boolean {
|
|
|
23
21
|
}
|
|
24
22
|
|
|
25
23
|
return false
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export function hasRole(projectUser: ProjectUser, role: string ): boolean {
|
|
30
|
-
let roles = ['owner', 'admin', 'agent'];
|
|
31
|
-
if(roles.includes(projectUser.role)){
|
|
32
|
-
return true
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if(Array.isArray(projectUser.rolePermissions) && projectUser.rolePermissions.includes(role)){
|
|
36
|
-
return true
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return false
|
|
40
|
-
|
|
41
24
|
}
|
package/src/assets/i18n/ar.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "مدير",
|
|
226
226
|
"agent": "وكيل",
|
|
227
227
|
"Conversations": "المحادثات",
|
|
228
|
-
"Monitor": "شاشة",
|
|
229
|
-
"Flows": "التدفّقات",
|
|
230
|
-
"Knowledgebases": "قواعد المعرفة",
|
|
231
|
-
"Whatsappbroadcasts": "نشرات WhatsApp",
|
|
232
228
|
"Apps": "تطبيقات",
|
|
233
229
|
"Analytics": "تحليلات",
|
|
234
230
|
"Activities": "أنشطة",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"تم إرسال الرسالة أيضًا عبر البريد الإلكتروني 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "الرموز التعبيرية غير مسموح بها",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "افتح تذكرة",
|
|
316
|
-
"DESCRIPTION": "هل تؤكد أنك تريد فتح تذكرة لهذه المحادثة؟",
|
|
317
|
-
"CONFIRM": "تأكيد",
|
|
318
|
-
"CLOSE": "إغلاق"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "يحتوي الرابط على نطاق غير مسموح"
|
|
320
310
|
}
|
package/src/assets/i18n/az.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Söhbətlər",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Axınlar",
|
|
230
|
-
"Knowledgebases": "Bilik bazaları",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp Yayınları",
|
|
232
228
|
"Apps": "Proqramlar",
|
|
233
229
|
"Analytics": "Analitika",
|
|
234
230
|
"Activities": "Fəaliyyətlər",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj e-poçt vasitəsilə də göndərilib 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji icazə verilmir",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Bilet aç",
|
|
316
|
-
"DESCRIPTION": "Bu söhbət üçün bilet açmaq istədiyinizi təsdiqləyirsinizmi?",
|
|
317
|
-
"CONFIRM": "Təsdiqlə",
|
|
318
|
-
"CLOSE": "Bağla"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL icazə verilməyən domeni ehtiva edir"
|
|
320
310
|
}
|
package/src/assets/i18n/de.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Gespräche",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flows",
|
|
230
|
-
"Knowledgebases": "Wissensdatenbanken",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-Broadcasts",
|
|
232
228
|
"Apps": "Anwendungen",
|
|
233
229
|
"Analytics": "Analytik",
|
|
234
230
|
"Activities": "Aktivitäten",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Nachricht auch per E-Mail gesendet 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji nicht erlaubt",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Ticket öffnen",
|
|
316
|
-
"DESCRIPTION": "Bestätigen Sie, dass Sie ein Ticket für dieses Gespräch eröffnen möchten?",
|
|
317
|
-
"CONFIRM": "Bestätigen",
|
|
318
|
-
"CLOSE": "Schließen"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "Die URL enthält eine nicht erlaubte Domain"
|
|
320
310
|
}
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrator",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Conversations",
|
|
228
|
-
"Monitor":"Monitor",
|
|
229
|
-
"Flows": "Flows",
|
|
230
|
-
"Knowledgebases": "Knowledge Bases",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp Broadcasts",
|
|
232
228
|
"Apps": "Apps",
|
|
233
229
|
"Analytics": "Analytics",
|
|
234
230
|
"Activities": "Activities",
|
|
@@ -318,11 +314,5 @@
|
|
|
318
314
|
"HOW_CAN_I_HELP_YOU":"How can i help you?"
|
|
319
315
|
},
|
|
320
316
|
"EMOJI_NOT_ELLOWED":"Emoji not allowed",
|
|
321
|
-
"DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain"
|
|
322
|
-
"TICKET": {
|
|
323
|
-
"OPEN_TICKET": "Open Ticket",
|
|
324
|
-
"DESCRIPTION": "Do you confirm you want to open a ticket for this conversation?",
|
|
325
|
-
"CONFIRM": "Confirm",
|
|
326
|
-
"CLOSE": "Close"
|
|
327
|
-
}
|
|
317
|
+
"DOMAIN_NOT_ALLOWED":"URL contains a non-allowed domain"
|
|
328
318
|
}
|
package/src/assets/i18n/es.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrador",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversaciones",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flujos",
|
|
230
|
-
"Knowledgebases": "Bases de Conocimiento",
|
|
231
|
-
"Whatsappbroadcasts": "Difusiones de WhatsApp",
|
|
232
228
|
"Apps":"Aplicaciones",
|
|
233
229
|
"Analytics":"Analíticas",
|
|
234
230
|
"Activities": "Actividades",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensaje también enviado por correo electrónico 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji no permitido",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Abrir Ticket",
|
|
316
|
-
"DESCRIPTION": "¿Confirmas que deseas abrir un ticket para esta conversación?",
|
|
317
|
-
"CONFIRM": "Confirmar",
|
|
318
|
-
"CLOSE": "Cerrar"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "La URL contiene un dominio no permitido"
|
|
320
310
|
}
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrateur",
|
|
226
226
|
"agent": "Agent",
|
|
227
227
|
"Conversations": "Conversations",
|
|
228
|
-
"Monitor": "Moniteur",
|
|
229
|
-
"Flows": "Flux",
|
|
230
|
-
"Knowledgebases": "Bases de Connaissances",
|
|
231
|
-
"Whatsappbroadcasts": "Diffusions WhatsApp",
|
|
232
228
|
"Apps":"Applications",
|
|
233
229
|
"Analytics":"Analytique",
|
|
234
230
|
"Activities": "Activités",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Message également envoyé par mail 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji non autorisé",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Ouvrir un Ticket",
|
|
316
|
-
"DESCRIPTION": "Confirmez-vous vouloir ouvrir un ticket pour cette conversation ?",
|
|
317
|
-
"CONFIRM": "Confirmer",
|
|
318
|
-
"CLOSE": "Fermer"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "L'URL contient un domaine non autorisé"
|
|
320
310
|
}
|
package/src/assets/i18n/it.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Amministratore",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversazioni",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Flussi",
|
|
230
|
-
"Knowledgebases": "Basi di Conoscenza",
|
|
231
|
-
"Whatsappbroadcasts": "Trasmissioni WhatsApp",
|
|
232
228
|
"Apps":"App",
|
|
233
229
|
"Analytics":"Analitica",
|
|
234
230
|
"Activities": "Attività",
|
|
@@ -316,13 +312,7 @@
|
|
|
316
312
|
"NO_SUGGESTIONS_PRESENT":"Nessun suggerimento trovato",
|
|
317
313
|
"INSERT_PROMPT_HERE":"Inserisci un prompt qui",
|
|
318
314
|
"HOW_CAN_I_HELP_YOU":"Come posso aiutarti?"
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
"TICKET": {
|
|
323
|
-
"OPEN_TICKET": "Apri Ticket",
|
|
324
|
-
"DESCRIPTION": "Confermi di voler aprire un ticket per questa conversazione?",
|
|
325
|
-
"CONFIRM": "Conferma",
|
|
326
|
-
"CLOSE": "Chiudi"
|
|
327
|
-
}
|
|
315
|
+
},
|
|
316
|
+
"EMOJI_NOT_ELLOWED": "Emoji non consentite",
|
|
317
|
+
"DOMAIN_NOT_ALLOWED": "L'URL contiene un dominio non consentito"
|
|
328
318
|
}
|
package/src/assets/i18n/kk.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Әкімші",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Әңгімелер",
|
|
228
|
-
"Monitor": "Монитор",
|
|
229
|
-
"Flows": "Ағындар",
|
|
230
|
-
"Knowledgebases": "Білім базалары",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp хабарламалары",
|
|
232
228
|
"Apps": "Қолданбалар",
|
|
233
229
|
"Analytics": "Аналитика",
|
|
234
230
|
"Activities": "Іс-шаралар",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Хабарлама электрондық пошта арқылы да жіберілді 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Эмодзи рұқсат етілмеген",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Тапсырма ашу",
|
|
316
|
-
"DESCRIPTION": "Осы әңгіме үшін тапсырма ашқыңыз келетінін растайсыз ба?",
|
|
317
|
-
"CONFIRM": "Растау",
|
|
318
|
-
"CLOSE": "Жабу"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL рұқсат етілмеген доменді қамтиды"
|
|
320
310
|
}
|
package/src/assets/i18n/pt.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Administrador",
|
|
226
226
|
"agent": "Agente",
|
|
227
227
|
"Conversations": "Conversas",
|
|
228
|
-
"Monitor": "Monitor",
|
|
229
|
-
"Flows": "Fluxos",
|
|
230
|
-
"Knowledgebases": "Bases de Conhecimento",
|
|
231
|
-
"Whatsappbroadcasts": "Transmissões do WhatsApp",
|
|
232
228
|
"Apps":"Aplicativos",
|
|
233
229
|
"Analytics":"Análise",
|
|
234
230
|
"Activities": "Atividades",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mensagem também enviada por e-mail 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Emoji não permitido",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Abrir Ticket",
|
|
316
|
-
"DESCRIPTION": "Confirma que deseja abrir um ticket para esta conversa?",
|
|
317
|
-
"CONFIRM": "Confirmar",
|
|
318
|
-
"CLOSE": "Fechar"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "O URL contém um domínio não permitido"
|
|
320
310
|
}
|
package/src/assets/i18n/ru.json
CHANGED
|
@@ -225,10 +225,6 @@
|
|
|
225
225
|
"admin": "Администратор",
|
|
226
226
|
"agent": "Агент",
|
|
227
227
|
"Conversations": "Разговоры",
|
|
228
|
-
"Monitor": "Монитор",
|
|
229
|
-
"Flows": "Потоки",
|
|
230
|
-
"Knowledgebases": "Базы знаний",
|
|
231
|
-
"Whatsappbroadcasts": "WhatsApp-рассылки",
|
|
232
228
|
"Apps":"Приложения",
|
|
233
229
|
"Analytics":"Аналитика",
|
|
234
230
|
"Activities": "Виды деятельности",
|
|
@@ -310,11 +306,5 @@
|
|
|
310
306
|
"SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Сообщение также отправлено по электронной почте 📩"
|
|
311
307
|
},
|
|
312
308
|
"EMOJI_NOT_ELLOWED": "Эмодзи не разрешены",
|
|
313
|
-
"DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен"
|
|
314
|
-
"TICKET": {
|
|
315
|
-
"OPEN_TICKET": "Открыть тикет",
|
|
316
|
-
"DESCRIPTION": "Вы подтверждаете, что хотите открыть тикет для этого разговора?",
|
|
317
|
-
"CONFIRM": "Подтвердить",
|
|
318
|
-
"CLOSE": "Закрыть"
|
|
319
|
-
}
|
|
309
|
+
"DOMAIN_NOT_ALLOWED": "URL содержит недопустимый домен"
|
|
320
310
|
}
|