quickblox-react-ui-kit 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Data/source/remote/Mapper/MessageDTOMapper.d.ts +3 -1
- package/dist/Domain/use_cases/ai/AIRephraseUseCase.d.ts +15 -0
- package/dist/Domain/use_cases/ai/AIRephraseWithProxyUseCase.d.ts +15 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.d.ts +6 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.d.ts +2 -10
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.d.ts +2 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.d.ts +2 -10
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy.d.ts +2 -0
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.d.ts +2 -10
- package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy.d.ts +2 -0
- package/dist/index-ui.js +79 -13
- package/package.json +1 -1
- package/src/App.tsx +3 -1
- package/src/Data/source/remote/Mapper/DialogDTOMapper.ts +3 -0
- package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +55 -2
- package/src/Data/source/remote/RemoteDataSource.ts +2 -1
- package/src/Domain/use_cases/ai/AIRephraseUseCase.ts +87 -0
- package/src/Domain/use_cases/ai/AIRephraseWithProxyUseCase.ts +71 -0
- package/src/Presentation/Views/Dialogs/Dialogs.tsx +1 -1
- package/src/Presentation/Views/Dialogs/useDialogsViewModel.ts +4 -1
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.ts +11 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.tsx +15 -35
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.tsx +79 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.tsx +23 -41
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy.tsx +86 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.tsx +15 -33
- package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy.tsx +88 -0
- package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +19 -17
- package/src/Presentation/components/UI/Dialogs/MessagesView/VideoAttachmentComponent/VideoAttachmentComponent.scss +6 -2
- package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +13 -3
- package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +38 -27
- package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { AIMessageWidget, MessageWidgetProps } from './AIMessageWidget';
|
|
3
|
+
import ErrorMessageIcon from './ErrorMessageIcon';
|
|
4
|
+
import AIWidgetIcon from '../../../svgs/Icons/AIWidgets/AIWidget';
|
|
5
|
+
import { Tone } from './Tone';
|
|
6
|
+
import { IChatMessage } from '../../../../../../Data/source/AISource';
|
|
7
|
+
import { AIRephraseWithProxyUseCase } from '../../../../../../Domain/use_cases/ai/AIRephraseWithProxyUseCase';
|
|
8
|
+
|
|
9
|
+
// interface MessageWidgetProps {
|
|
10
|
+
// servername: string;
|
|
11
|
+
// api: string;
|
|
12
|
+
// port: string;
|
|
13
|
+
// apiKeyOrSessionToken: string;
|
|
14
|
+
// apiKey: string;
|
|
15
|
+
// }
|
|
16
|
+
|
|
17
|
+
export default function UseDefaultAIRephraseMessageWidgetWithProxy({
|
|
18
|
+
servername,
|
|
19
|
+
api,
|
|
20
|
+
port,
|
|
21
|
+
apiKeyOrSessionToken,
|
|
22
|
+
}: MessageWidgetProps): AIMessageWidget {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
const [errorMessage, setErrorMessage] = useState<string>('');
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function
|
|
27
|
+
const fileToWidget = (file: File, context: IChatMessage[]): void => {};
|
|
28
|
+
|
|
29
|
+
const renderWidget = (): JSX.Element => {
|
|
30
|
+
if (errorMessage && errorMessage.length > 0) {
|
|
31
|
+
const errorsDescriptions:
|
|
32
|
+
| { title: string; action: () => void }[]
|
|
33
|
+
| undefined = [];
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<ErrorMessageIcon
|
|
37
|
+
errorMessageText={errorMessage}
|
|
38
|
+
errorsDescriptions={errorsDescriptions}
|
|
39
|
+
/>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return <AIWidgetIcon applyZoom color="green" />;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const [textFromWidgetToContent, setTextFromWidgetToContent] = useState('');
|
|
47
|
+
|
|
48
|
+
const textToWidget = async (
|
|
49
|
+
textToSend: string,
|
|
50
|
+
context: IChatMessage[],
|
|
51
|
+
additionalSettings?: { [key: string]: any },
|
|
52
|
+
): Promise<string> => {
|
|
53
|
+
if (textToSend && textToSend.length > 0) {
|
|
54
|
+
const { tone } = additionalSettings || {};
|
|
55
|
+
|
|
56
|
+
const openAIModel = 'gpt-3.5-turbo';
|
|
57
|
+
|
|
58
|
+
const useCaseAIRephrase = new AIRephraseWithProxyUseCase(
|
|
59
|
+
textToSend,
|
|
60
|
+
tone as Tone,
|
|
61
|
+
context,
|
|
62
|
+
servername,
|
|
63
|
+
api,
|
|
64
|
+
port,
|
|
65
|
+
apiKeyOrSessionToken,
|
|
66
|
+
openAIModel,
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
// eslint-disable-next-line no-return-await
|
|
70
|
+
return await useCaseAIRephrase.execute().then((data) => {
|
|
71
|
+
setTextFromWidgetToContent(data);
|
|
72
|
+
|
|
73
|
+
return data;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
//
|
|
78
|
+
return '';
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
return {
|
|
82
|
+
textToContent: textFromWidgetToContent,
|
|
83
|
+
renderWidget,
|
|
84
|
+
textToWidget,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
import AIWidgetIcon from '../../../svgs/Icons/AIWidgets/AIWidget';
|
|
3
3
|
import ErrorMessageIcon from './ErrorMessageIcon';
|
|
4
|
-
import { AIMessageWidget } from './AIMessageWidget';
|
|
4
|
+
import { AIMessageWidget, MessageWidgetProps } from './AIMessageWidget';
|
|
5
5
|
import { AISource, IChatMessage } from '../../../../../../Data/source/AISource';
|
|
6
6
|
|
|
7
|
-
interface MessageWidgetProps {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
7
|
+
// interface MessageWidgetProps {
|
|
8
|
+
// // https://api.openai.com/v1/chat/completions'
|
|
9
|
+
// // api: 'v1/chat/completions',
|
|
10
|
+
// // servername: 'https://myproxy.com',
|
|
11
|
+
// // https://func270519800.azurewebsites.net/api/TranslateTextToEng
|
|
12
|
+
// servername: string;
|
|
13
|
+
// api: string;
|
|
14
|
+
// port: string;
|
|
15
|
+
// apiKeyOrSessionToken: string;
|
|
16
|
+
// apiKey: string;
|
|
17
|
+
// }
|
|
18
18
|
export default function UseDefaultAITranslateWidget({
|
|
19
19
|
servername,
|
|
20
20
|
api,
|
|
21
21
|
port,
|
|
22
|
-
|
|
23
|
-
apiKey,
|
|
22
|
+
apiKeyOrSessionToken,
|
|
24
23
|
}: MessageWidgetProps): AIMessageWidget {
|
|
25
24
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
25
|
const [errorMessage, setErrorMessage] = useState<string>('');
|
|
@@ -62,32 +61,15 @@ export default function UseDefaultAITranslateWidget({
|
|
|
62
61
|
} and give me just only translated text. Text to translate is: "${textToSend}"`;
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
if (apiKey.length > 0) {
|
|
66
|
-
// eslint-disable-next-line no-return-await
|
|
67
|
-
return await AISource.getData(
|
|
68
|
-
prompt,
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
70
|
-
context,
|
|
71
|
-
servername,
|
|
72
|
-
api,
|
|
73
|
-
port,
|
|
74
|
-
sessionToken,
|
|
75
|
-
).then((data) => {
|
|
76
|
-
setTextFromWidgetToContent(data);
|
|
77
|
-
|
|
78
|
-
return data;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
64
|
// eslint-disable-next-line no-return-await
|
|
83
|
-
return await AISource.
|
|
65
|
+
return await AISource.getData(
|
|
84
66
|
prompt,
|
|
85
67
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
86
68
|
context,
|
|
87
69
|
servername,
|
|
88
70
|
api,
|
|
89
71
|
port,
|
|
90
|
-
|
|
72
|
+
apiKeyOrSessionToken,
|
|
91
73
|
).then((data) => {
|
|
92
74
|
setTextFromWidgetToContent(data);
|
|
93
75
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import AIWidgetIcon from '../../../svgs/Icons/AIWidgets/AIWidget';
|
|
3
|
+
import ErrorMessageIcon from './ErrorMessageIcon';
|
|
4
|
+
import { AIMessageWidget, MessageWidgetProps } from './AIMessageWidget';
|
|
5
|
+
import { AISource, IChatMessage } from '../../../../../../Data/source/AISource';
|
|
6
|
+
|
|
7
|
+
// interface MessageWidgetProps {
|
|
8
|
+
// // https://api.openai.com/v1/chat/completions'
|
|
9
|
+
// // api: 'v1/chat/completions',
|
|
10
|
+
// // servername: 'https://myproxy.com',
|
|
11
|
+
// // https://func270519800.azurewebsites.net/api/TranslateTextToEng
|
|
12
|
+
// servername: string;
|
|
13
|
+
// api: string;
|
|
14
|
+
// port: string;
|
|
15
|
+
// apiKeyOrSessionToken: string;
|
|
16
|
+
// apiKey: string;
|
|
17
|
+
// }
|
|
18
|
+
export default function UseDefaultAITranslateWidgetWithProxy({
|
|
19
|
+
servername,
|
|
20
|
+
api,
|
|
21
|
+
port,
|
|
22
|
+
apiKeyOrSessionToken,
|
|
23
|
+
}: MessageWidgetProps): AIMessageWidget {
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
+
const [errorMessage, setErrorMessage] = useState<string>('');
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function
|
|
28
|
+
const fileToWidget = (file: File, context: IChatMessage[]): void => {};
|
|
29
|
+
|
|
30
|
+
const renderWidget = (): JSX.Element => {
|
|
31
|
+
if (errorMessage && errorMessage.length > 0) {
|
|
32
|
+
const errorsDescriptions:
|
|
33
|
+
| { title: string; action: () => void }[]
|
|
34
|
+
| undefined = [];
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<ErrorMessageIcon
|
|
38
|
+
errorMessageText={errorMessage}
|
|
39
|
+
errorsDescriptions={errorsDescriptions}
|
|
40
|
+
/>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return <AIWidgetIcon applyZoom color="green" />;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const [textFromWidgetToContent, setTextFromWidgetToContent] = useState('');
|
|
48
|
+
const textToWidget = async (
|
|
49
|
+
textToSend: string,
|
|
50
|
+
context: IChatMessage[],
|
|
51
|
+
additionalSettings?: { [key: string]: any },
|
|
52
|
+
): Promise<string> => {
|
|
53
|
+
if (textToSend && textToSend.length > 0) {
|
|
54
|
+
// eslint-disable-next-line no-return-await
|
|
55
|
+
let prompt = `Please, translate the next text in english and give me just only translated text. Text to translate is: "${textToSend}"`;
|
|
56
|
+
const { language } = additionalSettings || {};
|
|
57
|
+
|
|
58
|
+
if (language) {
|
|
59
|
+
prompt = `Please, translate the next text in ${
|
|
60
|
+
language as string
|
|
61
|
+
} and give me just only translated text. Text to translate is: "${textToSend}"`;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// eslint-disable-next-line no-return-await
|
|
65
|
+
return await AISource.getDataWithProxyServer(
|
|
66
|
+
prompt,
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
68
|
+
context,
|
|
69
|
+
servername,
|
|
70
|
+
api,
|
|
71
|
+
port,
|
|
72
|
+
apiKeyOrSessionToken,
|
|
73
|
+
).then((data) => {
|
|
74
|
+
setTextFromWidgetToContent(data);
|
|
75
|
+
|
|
76
|
+
return data;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return '';
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
textToContent: textFromWidgetToContent,
|
|
85
|
+
renderWidget,
|
|
86
|
+
textToWidget,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
@@ -61,6 +61,8 @@ import SmirkIcon from '../../svgs/Icons/AIWidgets/SmirkIcon';
|
|
|
61
61
|
import PerformingArtsIcon from '../../svgs/Icons/AIWidgets/PerformingArtsIcon';
|
|
62
62
|
import { FunctionTypeVoidToVoid } from '../../../../Views/Base/BaseViewModel';
|
|
63
63
|
import { IChatMessage } from '../../../../../Data/source/AISource';
|
|
64
|
+
import AIWidgetActions from './AIWidgets/AIWidgetActions/AIWidgetActions';
|
|
65
|
+
import ToneIcon from '../../svgs/Icons/Actions/Tone';
|
|
64
66
|
// import ToneIcon from '../../svgs/Icons/Actions/Tone';
|
|
65
67
|
// import AIWidgetActions from './AIWidgets/AIWidgetActions/AIWidgetActions';
|
|
66
68
|
|
|
@@ -1183,23 +1185,23 @@ const MessagesView: React.FC<HeaderDialogsMessagesProps> = ({
|
|
|
1183
1185
|
placeholder="enter text to send"
|
|
1184
1186
|
/>
|
|
1185
1187
|
</div>
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1188
|
+
<div className="right">
|
|
1189
|
+
{AIRephrase && (
|
|
1190
|
+
<div className="icon">
|
|
1191
|
+
<AIWidgetActions
|
|
1192
|
+
widgetToRender={
|
|
1193
|
+
<ToneIcon
|
|
1194
|
+
width="24"
|
|
1195
|
+
height="24"
|
|
1196
|
+
applyZoom
|
|
1197
|
+
color={theme ? theme.mainText() : 'var(--main-text)'}
|
|
1198
|
+
/>
|
|
1199
|
+
}
|
|
1200
|
+
items={getAIEditingMessagesItems()}
|
|
1201
|
+
/>
|
|
1202
|
+
</div>
|
|
1203
|
+
)}
|
|
1204
|
+
</div>
|
|
1203
1205
|
</div>
|
|
1204
1206
|
)}
|
|
1205
1207
|
|
|
@@ -399,12 +399,18 @@ export default function useMessagesViewModel(
|
|
|
399
399
|
.then((fileMessage: FileEntity) => {
|
|
400
400
|
console.log(JSON.stringify(fileMessage));
|
|
401
401
|
// '[attachment]'
|
|
402
|
+
const recipientId =
|
|
403
|
+
dialog.type === DialogType.private
|
|
404
|
+
? (dialog as PrivateDialogEntity).participantId
|
|
405
|
+
: currentUserId;
|
|
406
|
+
|
|
407
|
+
// eslint-disable-next-line promise/always-return
|
|
408
|
+
const messageBody = fileMessage.name || '[attachment]';
|
|
402
409
|
const messageToSend: MessageEntity =
|
|
403
410
|
Stubs.createMessageEntityWithParams(
|
|
404
411
|
'',
|
|
405
412
|
dialog.id,
|
|
406
|
-
|
|
407
|
-
fileMessage.name || '[attachment]',
|
|
413
|
+
messageBody,
|
|
408
414
|
Date.now().toString(),
|
|
409
415
|
Date.now(),
|
|
410
416
|
Date.now().toString(),
|
|
@@ -412,7 +418,8 @@ export default function useMessagesViewModel(
|
|
|
412
418
|
[],
|
|
413
419
|
1,
|
|
414
420
|
currentUserId,
|
|
415
|
-
|
|
421
|
+
// eslint-disable-next-line promise/always-return
|
|
422
|
+
recipientId,
|
|
416
423
|
[],
|
|
417
424
|
'',
|
|
418
425
|
DialogType.group,
|
|
@@ -433,6 +440,9 @@ export default function useMessagesViewModel(
|
|
|
433
440
|
|
|
434
441
|
messageToSend.attachments = attachments;
|
|
435
442
|
|
|
443
|
+
messageToSend.message = `MediaContentEntity|${messageBody}|${
|
|
444
|
+
fileMessage.uid
|
|
445
|
+
}|${fileMessage.type!.toString()}`;
|
|
436
446
|
sendMessage(messageToSend);
|
|
437
447
|
//
|
|
438
448
|
})
|
|
@@ -15,6 +15,9 @@ import UseDefaultAIAssistAnswerWidget from '../../UI/Dialogs/MessagesView/AIWidg
|
|
|
15
15
|
import UseDefaultAITranslateWidget from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget';
|
|
16
16
|
import UseDefaultAIRephraseMessageWidget from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget';
|
|
17
17
|
import { DefaultConfigurations } from '../../../../Data/DefaultConfigurations';
|
|
18
|
+
import UseDefaultAIAssistAnswerWidgetWithProxy from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy';
|
|
19
|
+
import UseDefaultAITranslateWidgetWithProxy from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy';
|
|
20
|
+
import UseDefaultAIRephraseMessageWidgetWithProxy from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy';
|
|
18
21
|
|
|
19
22
|
type AIWidgetPlaceHolder = {
|
|
20
23
|
enabled: boolean;
|
|
@@ -80,25 +83,28 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
80
83
|
} else {
|
|
81
84
|
const { apiKey } = QBConfig.configAIApi.AIAnswerAssistWidgetConfig;
|
|
82
85
|
let token = '';
|
|
86
|
+
const proxyConfig: ProxyConfig =
|
|
87
|
+
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig ||
|
|
88
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
83
89
|
|
|
84
90
|
if (apiKey) {
|
|
85
91
|
token = apiKey;
|
|
92
|
+
defaultAIAnswerToMessageWidget = UseDefaultAIAssistAnswerWidget({
|
|
93
|
+
...proxyConfig,
|
|
94
|
+
apiKeyOrSessionToken: token,
|
|
95
|
+
});
|
|
86
96
|
} else {
|
|
87
97
|
token =
|
|
88
98
|
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig
|
|
89
99
|
.sessionToken ||
|
|
90
100
|
sessionToken ||
|
|
91
101
|
'';
|
|
102
|
+
defaultAIAnswerToMessageWidget =
|
|
103
|
+
UseDefaultAIAssistAnswerWidgetWithProxy({
|
|
104
|
+
...proxyConfig,
|
|
105
|
+
apiKeyOrSessionToken: token,
|
|
106
|
+
});
|
|
92
107
|
}
|
|
93
|
-
const proxyConfig: ProxyConfig =
|
|
94
|
-
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig ||
|
|
95
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
96
|
-
|
|
97
|
-
defaultAIAnswerToMessageWidget = UseDefaultAIAssistAnswerWidget({
|
|
98
|
-
...proxyConfig,
|
|
99
|
-
sessionToken: token,
|
|
100
|
-
apiKey,
|
|
101
|
-
});
|
|
102
108
|
}
|
|
103
109
|
}
|
|
104
110
|
};
|
|
@@ -117,25 +123,27 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
117
123
|
} else {
|
|
118
124
|
const { apiKey } = QBConfig.configAIApi.AITranslateWidgetConfig;
|
|
119
125
|
let token = '';
|
|
126
|
+
const proxyConfig: ProxyConfig =
|
|
127
|
+
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig ||
|
|
128
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
120
129
|
|
|
121
130
|
if (apiKey) {
|
|
122
131
|
token = apiKey;
|
|
132
|
+
defaultAITranslateWidget = UseDefaultAITranslateWidget({
|
|
133
|
+
...proxyConfig,
|
|
134
|
+
apiKeyOrSessionToken: token,
|
|
135
|
+
});
|
|
123
136
|
} else {
|
|
124
137
|
token =
|
|
125
138
|
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig
|
|
126
139
|
.sessionToken ||
|
|
127
140
|
sessionToken ||
|
|
128
141
|
'';
|
|
142
|
+
defaultAITranslateWidget = UseDefaultAITranslateWidgetWithProxy({
|
|
143
|
+
...proxyConfig,
|
|
144
|
+
apiKeyOrSessionToken: token,
|
|
145
|
+
});
|
|
129
146
|
}
|
|
130
|
-
const proxyConfig: ProxyConfig =
|
|
131
|
-
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig ||
|
|
132
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
133
|
-
|
|
134
|
-
defaultAITranslateWidget = UseDefaultAITranslateWidget({
|
|
135
|
-
...proxyConfig,
|
|
136
|
-
sessionToken: token,
|
|
137
|
-
apiKey,
|
|
138
|
-
});
|
|
139
147
|
}
|
|
140
148
|
}
|
|
141
149
|
};
|
|
@@ -154,25 +162,28 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
154
162
|
} else {
|
|
155
163
|
const { apiKey } = QBConfig.configAIApi.AIRephraseWidgetConfig;
|
|
156
164
|
let token = '';
|
|
165
|
+
const proxyConfig: ProxyConfig =
|
|
166
|
+
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig ||
|
|
167
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
157
168
|
|
|
158
169
|
if (apiKey) {
|
|
159
170
|
token = apiKey;
|
|
171
|
+
defaultAIEditMessageWidget = UseDefaultAIRephraseMessageWidget({
|
|
172
|
+
...proxyConfig,
|
|
173
|
+
apiKeyOrSessionToken: token,
|
|
174
|
+
});
|
|
160
175
|
} else {
|
|
161
176
|
token =
|
|
162
177
|
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig
|
|
163
178
|
.sessionToken ||
|
|
164
179
|
sessionToken ||
|
|
165
180
|
'';
|
|
181
|
+
defaultAIEditMessageWidget =
|
|
182
|
+
UseDefaultAIRephraseMessageWidgetWithProxy({
|
|
183
|
+
...proxyConfig,
|
|
184
|
+
apiKeyOrSessionToken: token,
|
|
185
|
+
});
|
|
166
186
|
}
|
|
167
|
-
const proxyConfig: ProxyConfig =
|
|
168
|
-
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig ||
|
|
169
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
170
|
-
|
|
171
|
-
defaultAIEditMessageWidget = UseDefaultAIRephraseMessageWidget({
|
|
172
|
-
...proxyConfig,
|
|
173
|
-
sessionToken: token,
|
|
174
|
-
apiKey,
|
|
175
|
-
});
|
|
176
187
|
}
|
|
177
188
|
}
|
|
178
189
|
};
|
package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx
CHANGED
|
@@ -291,7 +291,7 @@ function QuickBloxUIKitProvider({
|
|
|
291
291
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
292
292
|
// storage.SYNC_DIALOGS_USE_CASE.execute(() => {});
|
|
293
293
|
|
|
294
|
-
// todo: MUST use
|
|
294
|
+
// todo: MUST use apiKeyOrSessionToken or login/pass to re-init
|
|
295
295
|
// const remoteDataSourceMock: RemoteDataSource =
|
|
296
296
|
// storage.REMOTE_DATA_SOURCE as RemoteDataSource;
|
|
297
297
|
// // remoteDataSourceMock
|