@hivegpt/hiveai-angular 0.0.380 → 0.0.382

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +23 -23
  2. package/bundles/hivegpt-hiveai-angular.umd.js +3145 -0
  3. package/bundles/hivegpt-hiveai-angular.umd.js.map +1 -0
  4. package/bundles/hivegpt-hiveai-angular.umd.min.js +2 -0
  5. package/bundles/hivegpt-hiveai-angular.umd.min.js.map +1 -0
  6. package/environments/environment.d.ts +15 -0
  7. package/environments/environment.d.ts.map +1 -0
  8. package/esm2015/environments/environment.js +15 -0
  9. package/esm2015/hivegpt-hiveai-angular.js +13 -0
  10. package/esm2015/lib/components/NotificationSocket.js +39 -0
  11. package/esm2015/lib/components/bot-html-editor/bot-html-editor.component.js +112 -0
  12. package/esm2015/lib/components/bot.service.js +50 -0
  13. package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +1743 -0
  14. package/esm2015/lib/components/chatbot/chatbot.component.js +50 -0
  15. package/esm2015/lib/components/conversation.service.js +49 -0
  16. package/esm2015/lib/components/socket-service.service.js +72 -0
  17. package/esm2015/lib/components/translations/translation.service.js +244 -0
  18. package/esm2015/lib/components/video-player/video-player.component.js +123 -0
  19. package/esm2015/lib/hivegpt.module.js +21 -0
  20. package/esm2015/lib/models/video.js +2 -0
  21. package/esm2015/lib/pipes/safe-html.pipe.js +19 -0
  22. package/esm2015/lib/utils/utils.js +36 -0
  23. package/esm2015/public-api.js +7 -0
  24. package/fesm2015/hivegpt-hiveai-angular.js +2541 -0
  25. package/fesm2015/hivegpt-hiveai-angular.js.map +1 -0
  26. package/hivegpt-hiveai-angular.d.ts +13 -0
  27. package/hivegpt-hiveai-angular.d.ts.map +1 -0
  28. package/hivegpt-hiveai-angular.metadata.json +1 -0
  29. package/lib/components/NotificationSocket.d.ts +5 -0
  30. package/lib/components/NotificationSocket.d.ts.map +1 -0
  31. package/lib/components/bot-html-editor/bot-html-editor.component.d.ts +36 -0
  32. package/lib/components/bot-html-editor/bot-html-editor.component.d.ts.map +1 -0
  33. package/lib/components/bot.service.d.ts +12 -0
  34. package/lib/components/bot.service.d.ts.map +1 -0
  35. package/lib/components/chat-drawer/chat-drawer.component.d.ts +255 -0
  36. package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -0
  37. package/lib/components/chatbot/chatbot.component.d.ts +36 -0
  38. package/lib/components/chatbot/chatbot.component.d.ts.map +1 -0
  39. package/lib/components/conversation.service.d.ts +13 -0
  40. package/lib/components/conversation.service.d.ts.map +1 -0
  41. package/lib/components/socket-service.service.d.ts +20 -0
  42. package/lib/components/socket-service.service.d.ts.map +1 -0
  43. package/lib/components/translations/translation.service.d.ts +8 -0
  44. package/lib/components/translations/translation.service.d.ts.map +1 -0
  45. package/lib/components/video-player/video-player.component.d.ts +36 -0
  46. package/lib/components/video-player/video-player.component.d.ts.map +1 -0
  47. package/lib/hivegpt.module.d.ts +3 -0
  48. package/lib/hivegpt.module.d.ts.map +1 -0
  49. package/lib/models/video.d.ts +35 -0
  50. package/lib/models/video.d.ts.map +1 -0
  51. package/lib/pipes/safe-html.pipe.d.ts +8 -0
  52. package/lib/pipes/safe-html.pipe.d.ts.map +1 -0
  53. package/lib/utils/utils.d.ts +3 -0
  54. package/lib/utils/utils.d.ts.map +1 -0
  55. package/package.json +20 -20
  56. package/{src/public-api.ts → public-api.d.ts} +4 -7
  57. package/public-api.d.ts.map +1 -0
  58. package/karma.conf.js +0 -32
  59. package/ng-package.json +0 -7
  60. package/src/environments/environment.ts +0 -19
  61. package/src/lib/components/NotificationSocket.ts +0 -38
  62. package/src/lib/components/bot-html-editor/bot-html-editor.component.css +0 -10
  63. package/src/lib/components/bot-html-editor/bot-html-editor.component.html +0 -11
  64. package/src/lib/components/bot-html-editor/bot-html-editor.component.spec.ts +0 -25
  65. package/src/lib/components/bot-html-editor/bot-html-editor.component.ts +0 -152
  66. package/src/lib/components/bot.service.ts +0 -52
  67. package/src/lib/components/chat-drawer/chat-drawer.component.html +0 -1586
  68. package/src/lib/components/chat-drawer/chat-drawer.component.scss +0 -2907
  69. package/src/lib/components/chat-drawer/chat-drawer.component.ts +0 -2143
  70. package/src/lib/components/chatbot/chatbot.component.html +0 -37
  71. package/src/lib/components/chatbot/chatbot.component.scss +0 -97
  72. package/src/lib/components/chatbot/chatbot.component.ts +0 -44
  73. package/src/lib/components/conversation.service.spec.ts +0 -16
  74. package/src/lib/components/conversation.service.ts +0 -54
  75. package/src/lib/components/socket-service.service.spec.ts +0 -16
  76. package/src/lib/components/socket-service.service.ts +0 -77
  77. package/src/lib/components/translations/translation.service.ts +0 -221
  78. package/src/lib/components/video-player/video-player.component.html +0 -51
  79. package/src/lib/components/video-player/video-player.component.scss +0 -262
  80. package/src/lib/components/video-player/video-player.component.ts +0 -148
  81. package/src/lib/hivegpt.module.ts +0 -18
  82. package/src/lib/models/video.ts +0 -36
  83. package/src/lib/pipes/safe-html.pipe.ts +0 -16
  84. package/src/lib/utils/utils.ts +0 -37
  85. package/tsconfig.lib.json +0 -25
  86. package/tsconfig.lib.prod.json +0 -10
  87. package/tsconfig.spec.json +0 -17
  88. package/tslint.json +0 -17
@@ -1,37 +0,0 @@
1
- <button mat-icon-button class="chat-button" color="primary" (click)="toggle()">
2
- <mat-icon>chat</mat-icon>
3
- </button>
4
-
5
- <ng-container *ngIf="visible">
6
- <hivegpt-chat-drawer
7
- [apiKey]="apiKey"
8
- [bgBubbleAi]="bgBubbleAi"
9
- [bgBubbleUser]="bgBubbleUser"
10
- [bgGradient]="bgGradient"
11
- [botName]="botName"
12
- [closeButtonbgColor]="closeButtonbgColor"
13
- [closeButtonColor]="closeButtonColor"
14
- [credentials]="credentials"
15
- [dateTextColor]="dateTextColor"
16
- [dateTimeColor]="dateTimeColor"
17
- [eventId]="eventId"
18
- [eventName]="eventName"
19
- [formFieldBgColor]="formFieldBgColor"
20
- [formFieldTextColor]="formFieldTextColor"
21
- [fullView]="fullView"
22
- [greeting]="greeting"
23
- [gradientColors]="gradientColors"
24
- [messageTextColorAi]="messageTextColorAi"
25
- [messageTextColorUser]="messageTextColorUser"
26
- [sendButtonColor]="sendButtonColor"
27
- [sendButtonTextColor]="sendButtonTextColor"
28
- [showClose]="showClose"
29
- [thumbsDownMessages]="thumbsDownMessages"
30
- [thumbsUpMessage]="thumbsUpMessage"
31
- [unknownResponses]="unknownResponses"
32
- [useOpenAi]="useOpenAi"
33
- [userId]="userId"
34
- [botId]="botId"
35
- >
36
- </hivegpt-chat-drawer>
37
- </ng-container>
@@ -1,97 +0,0 @@
1
- /* width */
2
- ::-webkit-scrollbar {
3
- width: 5px;
4
- }
5
-
6
- /* Track */
7
- ::-webkit-scrollbar-track {
8
- background: #f1f1f1;
9
- }
10
-
11
- /* Handle */
12
- ::-webkit-scrollbar-thumb {
13
- background: #e5ccbc;
14
- }
15
-
16
- /* Handle on hover */
17
- ::-webkit-scrollbar-thumb:hover {
18
- background: #e5ccbc;
19
- }
20
-
21
-
22
- .spinner {
23
- display: flex;
24
- align-items: center;
25
- justify-content: center;
26
- gap: 2px;
27
- }
28
-
29
- .spinner>div {
30
- width: 5px;
31
- height: 5px;
32
- background-color: #173330;
33
- border-radius: 100%;
34
- display: inline-block;
35
- -webkit-animation: bouncedelay 1.4s infinite ease-in-out;
36
- animation: bouncedelay 1400ms ease-in-out infinite;
37
- /* Prevent first frame from flickering when animation starts */
38
- -webkit-animation-fill-mode: both;
39
- animation-fill-mode: both;
40
- }
41
-
42
- .spinner .bounce1 {
43
- -webkit-animation-delay: -0.32s;
44
- animation-delay: -0.32s;
45
- }
46
-
47
- .spinner .bounce2 {
48
- -webkit-animation-delay: -0.16s;
49
- animation-delay: -0.16s;
50
- }
51
-
52
- @-webkit-keyframes bouncedelay {
53
-
54
- 0%,
55
- 80%,
56
- 100% {
57
- transform: scale(0);
58
- -webkit-transform: scale(0);
59
- }
60
-
61
- 40% {
62
- transform: scale(1);
63
- -webkit-transform: scale(1);
64
- }
65
- }
66
-
67
- @keyframes bouncedelay {
68
-
69
- 0%,
70
- 80%,
71
- 100% {
72
- transform: scale(0);
73
- -webkit-transform: scale(0);
74
- }
75
-
76
- 40% {
77
- transform: scale(1);
78
- -webkit-transform: scale(1);
79
- }
80
- }
81
-
82
-
83
- .chat-button {
84
- position: fixed;
85
- bottom: 20px;
86
- right: 20px;
87
- background: #17235B;
88
- border: #17235B;
89
- border-radius: 50%;
90
- width: 50px;
91
- height: 50px;
92
- font-size: 24px;
93
- color: #fff;
94
- display: inline-flex;
95
- align-items: center;
96
- justify-content: center;
97
- }
@@ -1,44 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- @Component({
3
- selector: 'hivegpt-chatbot',
4
- templateUrl: './chatbot.component.html',
5
- styleUrls: ['./chatbot.component.scss'],
6
- })
7
- export class ChatBotComponent {
8
- @Input() userId!: string;
9
- @Input() apiKey!: string;
10
- @Input() botName!: string;
11
- @Input() botSkills!: string;
12
- @Input() botId!: string;
13
- @Input() closeButtonColor!: string;
14
- @Input() gradientColors!: string[];
15
- @Input() greeting!: string;
16
- @Input() sendButtonColor!: string;
17
- @Input() useOpenAi!: boolean;
18
- @Input() showClose!: boolean;
19
- @Input() bgGradient!: string[];
20
- @Input() sendButtonTextColor!: string;
21
- @Input() fullView!: boolean;
22
- @Input() bgBubbleAi!: string;
23
- @Input() bgBubbleUser!: string;
24
- @Input() closeButtonbgColor!: string;
25
- @Input() messageTextColorAi!: string;
26
- @Input() messageTextColorUser!: string;
27
- @Input() dateTimeColor!: string;
28
- @Input() dateTextColor!: string;
29
- @Input() formFieldBgColor!: string;
30
- @Input() formFieldTextColor!: string;
31
- @Input() thumbsUpMessage!: string;
32
- @Input() thumbsDownMessages!: string[];
33
- @Input() timezone!: string;
34
- @Input() eventName!: string;
35
- @Input() credentials!: [];
36
- @Input() unknownResponses!: [];
37
- @Input() rules!: string;
38
- @Input() eventId!: string;
39
- visible = false;
40
-
41
- toggle() {
42
- this.visible = !this.visible;
43
- }
44
- }
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { ConversationService } from './conversation.service';
4
-
5
- describe('ConversationService', () => {
6
- let service: ConversationService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(ConversationService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,54 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable, Subject } from 'rxjs';
3
-
4
- @Injectable({
5
- providedIn: 'root',
6
- })
7
- export class ConversationService {
8
- private conversationStorageKeyPrefix = 'conversationKey_';
9
- private sessionStorageKeyPrefix = 'sessionKey_';
10
-
11
- private userSpecificNotification: Subject<any> = new Subject<any>();
12
-
13
- constructor() { }
14
-
15
- generateKey(): string {
16
- const timestamp = Math.floor(new Date().getTime() / 1000).toString(16);
17
- const randomHex = 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, () => {
18
- return Math.floor(Math.random() * 16).toString(16);
19
- });
20
- return timestamp + randomHex;
21
- }
22
-
23
- getKey(botId: string, resetKey: boolean = false): string {
24
- const storageKey = `${this.conversationStorageKeyPrefix}${botId}`;
25
- let value = localStorage.getItem(storageKey);
26
-
27
- if (!value || resetKey) {
28
- value = this.generateKey();
29
- localStorage.setItem(storageKey, value);
30
- }
31
-
32
- return value;
33
- }
34
-
35
- getSessionKey(sessionId: string, resetKey: boolean = false): string {
36
- const storageKey = `${this.sessionStorageKeyPrefix}${sessionId}`;
37
- let value = localStorage.getItem(storageKey);
38
-
39
- if (!value || resetKey) {
40
- value = this.generateKey();
41
- localStorage.setItem(storageKey, value);
42
- }
43
-
44
- return value;
45
- }
46
-
47
- sendValidatedUserData(message: any) {
48
- this.userSpecificNotification.next(message);
49
- }
50
-
51
- getUserSpecificNotification(): Observable<any> {
52
- return this.userSpecificNotification.asObservable();
53
- }
54
- }
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { SocketServiceService } from './socket-service.service';
4
-
5
- describe('SocketServiceService', () => {
6
- let service: SocketServiceService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(SocketServiceService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,77 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- import { Observable, Subject } from 'rxjs';
4
- import { webSocket, WebSocketSubject } from 'rxjs/webSocket';
5
- import { ConversationService } from './conversation.service';
6
- import { NotificationSocket } from './NotificationSocket';
7
-
8
- @Injectable({
9
- providedIn: 'root',
10
- })
11
- export class SocketService {
12
- public testMessage: string;
13
- private isCommonSocketInitialized = false;
14
- private isUserSpecificSocketInitialized = false;
15
- private isUserSpecificEventReleased = true;
16
- private messageQueue: any[] = [];
17
- private releaseInterval = 1000;
18
- private intervalSetup: boolean = false;
19
-
20
- constructor(
21
- private conversationService: ConversationService,
22
- private notificationSocket: NotificationSocket
23
- ) {
24
- this.startReleasingMessages();
25
- }
26
-
27
- isSocketInitialized(isCommon: boolean) {
28
- return isCommon
29
- ? this.isCommonSocketInitialized
30
- : this.isUserSpecificSocketInitialized &&
31
- !this.isUserSpecificEventReleased;
32
- }
33
-
34
- disconnectSocketConnection() {
35
- this.notificationSocket.disconnect();
36
- }
37
- connectSocketConnection() {
38
- this.notificationSocket.connect();
39
- }
40
- registerUserSpecificHiveSocket(botId: string, conversation_id: string, org_id: string) {
41
- const commonNotification = 'commonNotification';
42
- const groupId = `Hive_AI_Notifs_${botId}_${conversation_id}`;
43
- const groupId_org = `Hive_AI_Notifs_${org_id}`;
44
-
45
- // Remove any pre-existing listeners for commonNotification
46
- // this.notificationSocket.removeAllListeners(commonNotification);
47
-
48
- // Join the group again with updated botId and conversation_id
49
- this.notificationSocket.emit('joinData', { groupId });
50
- this.notificationSocket.emit('joinData', { groupId: groupId_org });
51
-
52
- // Re-register for common notifications
53
- this.notificationSocket.fromEvent(commonNotification).subscribe(
54
- (res) => {
55
- console.log('Received commonNotification:', res);
56
- this.conversationService.sendValidatedUserData(res);
57
- },
58
- (error) => {
59
- console.error('Error receiving commonNotification:', error);
60
- }
61
- );
62
- }
63
-
64
- private startReleasingMessages() {
65
- if (!this.intervalSetup) {
66
- setInterval(() => {
67
- if (this.messageQueue.length > 0) {
68
- const message = this.messageQueue.shift(); // Remove the first message from the queue
69
- // Handle the message here, e.g., send it to the server or process it
70
- console.log('Releasing message from queue:', message);
71
- // this.campaignService.sendValidatedUserData(message);
72
- }
73
- }, this.releaseInterval);
74
- this.intervalSetup = true; // Prevents multiple intervals
75
- }
76
- }
77
- }
@@ -1,221 +0,0 @@
1
- import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
2
- import { isPlatformBrowser } from '@angular/common';
3
-
4
- @Injectable({
5
- providedIn: 'root',
6
- })
7
- export class TranslationService {
8
- private eventId: string | null = null;
9
-
10
- setEventId(id: string) {
11
- this.eventId = id;
12
- }
13
-
14
- getTranslation(key: string): string {
15
- console.log('eventId', this.eventId);
16
- // let lang = String(this.getLang(this.eventId)).replace(/^"|"$/g, '');
17
- const lang = (
18
- localStorage.getItem('defaultLanguage-' + this.eventId) || 'en'
19
- ).replace(/^"|"$/g, '');
20
-
21
- const entry = this.translationsData.find((item) => item.Key === key);
22
-
23
- if (!entry) {
24
- return key; // fallback
25
- }
26
-
27
- return entry.Translations[lang] || entry.DefaultValue || key;
28
- }
29
-
30
- private getLang(eventId?: string | null): string {
31
- const suffix = eventId ? `-${eventId}` : '';
32
- const storageKey = `defaultLanguage${suffix}`;
33
-
34
- return localStorage.getItem(storageKey) || 'en';
35
- }
36
-
37
- private translationsData: any[] = [
38
- {
39
- Key: 'Ask anything',
40
- DefaultValue: 'Ask anything',
41
- Translations: {
42
- en: 'Ask anything',
43
- fr: 'Demandez ce que vous voulez',
44
- it: 'Chiedi qualsiasi cosa',
45
- es: 'Pregunta lo que quieras',
46
- de: 'Frag alles',
47
- 'pt-br': 'Pergunte qualquer coisa',
48
- ar: 'اسأل أي شيء',
49
- zh: '随便问',
50
- ru: 'Спросите что угодно',
51
- },
52
- },
53
- {
54
- Key: 'Assistant',
55
- DefaultValue: 'Assistant',
56
- Translations: {
57
- en: 'Assistant',
58
- fr: 'Assistant',
59
- it: 'Assistente',
60
- es: 'Asistente',
61
- de: 'Assistent',
62
- 'pt-br': 'Assistente',
63
- ar: 'مساعد',
64
- zh: '助手',
65
- ru: 'Ассистент',
66
- },
67
- },
68
- {
69
- Key: 'Your personal or company information is kept private and secure within this chat.',
70
- DefaultValue:
71
- 'Your personal or company information is kept private and secure within this chat.',
72
- Translations: {
73
- en: 'Your personal or company information is kept private and secure within this chat.',
74
- fr: 'Vos informations personnelles ou celles de votre entreprise sont conservées privées et sécurisées dans cette conversation.',
75
- it: "Le tue informazioni personali o aziendali sono mantenute private e sicure all'interno di questa chat.",
76
- es: 'Tu información personal o de la empresa se mantiene privada y segura dentro de este chat.',
77
- de: 'Ihre persönlichen oder geschäftlichen Informationen bleiben in diesem Chat privat und sicher.',
78
- 'pt-br':
79
- 'Suas informações pessoais ou da empresa são mantidas privadas e seguras dentro deste chat.',
80
- ar: 'تظل معلوماتك الشخصية أو معلومات شركتك خاصة وآمنة داخل هذه المحادثة.',
81
- zh: '您的个人或公司信息在此聊天中保持私密和安全。',
82
- ru: 'Ваша личная или корпоративная информация остается конфиденциальной и защищенной в этом чате.',
83
- },
84
- },
85
- {
86
- Key: 'Send message',
87
- DefaultValue: 'Send message',
88
- Translations: {
89
- en: 'Send message',
90
- fr: 'Envoyer un message',
91
- it: 'Invia messaggio',
92
- es: 'Enviar mensaje',
93
- de: 'Nachricht senden',
94
- 'pt-br': 'Enviar mensagem',
95
- ar: 'إرسال رسالة',
96
- zh: '发送消息',
97
- ru: 'Отправить сообщение',
98
- },
99
- },
100
- {
101
- Key: 'Platform GPT',
102
- DefaultValue: 'Platform GPT',
103
- Translations: {
104
- en: 'Platform GPT',
105
- fr: 'Plateforme GPT',
106
- it: 'Piattaforma GPT',
107
- es: 'Plataforma GPT',
108
- de: 'Plattform GPT',
109
- 'pt-br': 'Plataforma GPT',
110
- ar: 'منصة GPT',
111
- zh: '平台 GPT',
112
- ru: 'Платформа GPT',
113
- },
114
- },
115
- {
116
- Key: 'New Chat',
117
- DefaultValue: 'New Chat',
118
- Translations: {
119
- en: 'New Chat',
120
- fr: 'Nouvelle conversation',
121
- it: 'Nuova chat',
122
- es: 'Nuevo chat',
123
- de: 'Neuer Chat',
124
- 'pt-br': 'Novo chat',
125
- ar: 'محادثة جديدة',
126
- zh: '新聊天',
127
- ru: 'Новый чат',
128
- },
129
- },
130
- {
131
- Key: 'You',
132
- DefaultValue: 'You',
133
- Translations: {
134
- en: 'You',
135
- fr: 'Vous',
136
- it: 'Tu',
137
- es: 'Tú',
138
- de: 'Du',
139
- 'pt-br': 'Você',
140
- ar: 'أنت',
141
- zh: '您',
142
- ru: 'Вы',
143
- },
144
- },
145
- {
146
- Key: 'Write your message',
147
- DefaultValue: 'Write your message',
148
- Translations: {
149
- en: 'Write your message',
150
- fr: 'Écrivez votre message',
151
- it: 'Scrivi il tuo messaggio',
152
- es: 'Escribe tu mensaje',
153
- de: 'Schreiben Sie Ihre Nachricht',
154
- 'pt-br': 'Escreva sua mensagem',
155
- ar: 'اكتب رسالتك',
156
- zh: '写下您的消息',
157
- ru: 'Напишите ваше сообщение',
158
- },
159
- },
160
- {
161
- Key: 'Send',
162
- DefaultValue: 'Send',
163
- Translations: {
164
- en: 'Send',
165
- fr: 'Envoyer',
166
- it: 'Invia',
167
- es: 'Enviar',
168
- de: 'Senden',
169
- 'pt-br': 'Enviar',
170
- ar: 'إرسال',
171
- zh: '发送',
172
- ru: 'Отправить',
173
- },
174
- },
175
- {
176
- Key: 'Call Interface',
177
- DefaultValue: 'Call Interface',
178
- Translations: {
179
- en: 'Call Interface',
180
- fr: "Interface d'appel",
181
- it: 'Interfaccia chiamata',
182
- es: 'Interfaz de llamada',
183
- de: 'Anrufoberfläche',
184
- 'pt-br': 'Interface de chamada',
185
- ar: 'واجهة الاتصال',
186
- zh: '呼叫界面',
187
- ru: 'Интерфейс звонка',
188
- },
189
- },
190
- {
191
- Key: 'Call Interface',
192
- DefaultValue: 'Call Interface',
193
- Translations: {
194
- en: 'Call Interface',
195
- fr: "Interface d'appel",
196
- it: 'Interfaccia chiamata',
197
- es: 'Interfaz de llamada',
198
- de: 'Anrufoberfläche',
199
- 'pt-br': 'Interface de chamada',
200
- ar: 'واجهة الاتصال',
201
- zh: '呼叫界面',
202
- ru: 'Интерфейс звонка',
203
- },
204
- },
205
- {
206
- Key: 'Close',
207
- DefaultValue: 'Close',
208
- Translations: {
209
- en: 'Close',
210
- fr: 'Fermer',
211
- it: 'Chiudi',
212
- es: 'Cerrar',
213
- de: 'Schließen',
214
- 'pt-br': 'Fechar',
215
- ar: 'إغلاق',
216
- zh: '关闭',
217
- ru: 'Закрыть',
218
- },
219
- },
220
- ];
221
- }
@@ -1,51 +0,0 @@
1
- <div class="video-wrapper" >
2
- <div class="overlymask-video"></div>
3
- <video (click)="toggleFullscreen()" #video [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url" playsinline
4
- [controls]="false"></video>
5
- <div class="main-controls" [class.no-opacity]="video.isPlaying">
6
- <button mat-icon-button *ngIf="!videoObj.isPlaying"
7
- attr.aria-label="Play Video"
8
- title="Play Video" class="play-pause-btn"
9
- (click)="togglePlay(true, video)">
10
- <!-- <mat-icon alt="Play">play_arrow</mat-icon> -->
11
- <span class="material-icons notranslate " aria-hidden="true">play_circle_outline</span>
12
- </button>
13
-
14
- <button mat-icon-button id="pause-btn" [hidden]="!videoObj.isPlaying" class="pause_btn play-pause-btn playing"
15
- title="Pause Video"
16
- [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">
17
- <!-- <mat-icon alt="Pause">pause</mat-icon> -->
18
- <span class="material-icons notranslate " aria-hidden="true">pause_circle_outline</span>
19
- </button>
20
- </div>
21
- <div class="video-actions">
22
- <button class="button-trasparent action" (click)="toggleSound()" title="Mute" *ngIf="isMuted">
23
- <span class="material-icons notranslate " aria-hidden="true">volume_off</span>
24
- </button>
25
- <button class="button-trasparent action" (click)="toggleSound()" title="Unmute" *ngIf="!isMuted">
26
- <span class="material-icons notranslate " aria-hidden="true">volume_up</span>
27
- </button>
28
-
29
- </div>
30
- </div>
31
-
32
- <div class="full-screen" *ngIf="isFullscreen" [ngClass]="{'show': isFullscreen}">
33
- <div class="video-wrapper">
34
- <video #fullscreenvideo (click)="toggleFullscreenPlay()" [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url"
35
- playsinline [controls]="false"></video>
36
- <div (click)="toggleFullscreen()" class="close-btn">
37
- <span class="material-icons notranslate ">clear</span>
38
- </div>
39
- <div class="video-actions">
40
- <button *ngIf="!video.isPlaying" title="Play"
41
- class="material-icons notranslate body-text-color fs-h2 play position-absolute transparent-btn" (click)="togglePlay(true, video)">
42
- play_circle_outline
43
- </button>
44
- <button id="pause-btn" [hidden]="!videoObj.isPlaying" title="Pause"
45
- class="pause_btn material-icons body-text-color fs-h2 play position-absolute transparent-btn"
46
- [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">
47
- pause_circle_outline
48
- </button>
49
- </div>
50
- </div>
51
- </div>