quickblox-react-ui-kit 0.2.1 → 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/CommonTypes/FunctionResult.d.ts +47 -0
- package/dist/Data/DefaultConfigurations.d.ts +2 -6
- 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/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.d.ts +1 -1
- package/dist/QBconfig.d.ts +1 -0
- package/dist/index-ui.js +82 -16
- package/global.d.ts +48 -6
- package/package.json +1 -1
- package/src/App.tsx +9 -14
- package/src/CommonTypes/FunctionResult.ts +54 -0
- package/src/Data/DefaultConfigurations.ts +79 -10
- package/src/Data/source/AISource.ts +3 -3
- package/src/Data/source/remote/Mapper/DialogDTOMapper.ts +3 -0
- package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +57 -4
- 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/InComingMessage/InComingMessage.scss +2 -2
- 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 +18 -6
- package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +42 -38
- package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx +8 -7
- package/src/QBconfig.ts +4 -3
- package/src/utils/parse.ts +1 -1
|
@@ -8,23 +8,16 @@ import DesktopLayout from './DesktopLayout';
|
|
|
8
8
|
import MessagesView from '../../UI/Dialogs/MessagesView/MessagesView';
|
|
9
9
|
import useDialogsViewModel from '../../../Views/Dialogs/useDialogsViewModel';
|
|
10
10
|
import { Pagination } from '../../../../Domain/repository/Pagination';
|
|
11
|
-
// import { SubscribeToDialogEventsUseCase } from '../../../../Domain/use_cases/SubscribeToDialogEventsUseCase';
|
|
12
|
-
// import useEventMessagesRepository from '../../providers/QuickBloxUIKitProvider/useEventMessagesRepository';
|
|
13
|
-
// import EventMessageType from '../../../../Domain/entity/EventMessageType';
|
|
14
|
-
// import { NotificationTypes } from '../../../../Domain/entity/NotificationTypes';
|
|
15
|
-
// import { stringifyError } from '../../../../utils/parse';
|
|
16
|
-
// import { DialogEventInfo } from '../../../../Domain/entity/DialogEventInfo';
|
|
17
11
|
import UiKitTheme from '../../../assets/UiKitTheme';
|
|
18
12
|
import BaseViewModel from '../../../Views/Base/BaseViewModel';
|
|
19
13
|
import { AIMessageWidget } from '../../UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget';
|
|
20
|
-
import { QBConfig } from '../../../../QBconfig';
|
|
21
14
|
import UseDefaultAIAssistAnswerWidget from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget';
|
|
22
15
|
import UseDefaultAITranslateWidget from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget';
|
|
23
16
|
import UseDefaultAIRephraseMessageWidget from '../../UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget';
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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';
|
|
28
21
|
|
|
29
22
|
type AIWidgetPlaceHolder = {
|
|
30
23
|
enabled: boolean;
|
|
@@ -55,6 +48,9 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
55
48
|
React.useState<BaseViewModel<DialogEntity>>();
|
|
56
49
|
|
|
57
50
|
const currentContext = useQbInitializedDataContext();
|
|
51
|
+
const QBConfig =
|
|
52
|
+
currentContext.InitParams.qbConfig ||
|
|
53
|
+
DefaultConfigurations.getDefaultQBConfig();
|
|
58
54
|
// const eventMessaging = useEventMessagesRepository();
|
|
59
55
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
60
56
|
// @ts-ignore
|
|
@@ -87,25 +83,28 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
87
83
|
} else {
|
|
88
84
|
const { apiKey } = QBConfig.configAIApi.AIAnswerAssistWidgetConfig;
|
|
89
85
|
let token = '';
|
|
86
|
+
const proxyConfig: ProxyConfig =
|
|
87
|
+
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig ||
|
|
88
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
90
89
|
|
|
91
90
|
if (apiKey) {
|
|
92
91
|
token = apiKey;
|
|
92
|
+
defaultAIAnswerToMessageWidget = UseDefaultAIAssistAnswerWidget({
|
|
93
|
+
...proxyConfig,
|
|
94
|
+
apiKeyOrSessionToken: token,
|
|
95
|
+
});
|
|
93
96
|
} else {
|
|
94
97
|
token =
|
|
95
98
|
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig
|
|
96
99
|
.sessionToken ||
|
|
97
100
|
sessionToken ||
|
|
98
101
|
'';
|
|
102
|
+
defaultAIAnswerToMessageWidget =
|
|
103
|
+
UseDefaultAIAssistAnswerWidgetWithProxy({
|
|
104
|
+
...proxyConfig,
|
|
105
|
+
apiKeyOrSessionToken: token,
|
|
106
|
+
});
|
|
99
107
|
}
|
|
100
|
-
const proxyConfig: ProxyConfig =
|
|
101
|
-
QBConfig.configAIApi.AIAnswerAssistWidgetConfig.proxyConfig ||
|
|
102
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
103
|
-
|
|
104
|
-
defaultAIAnswerToMessageWidget = UseDefaultAIAssistAnswerWidget({
|
|
105
|
-
...proxyConfig,
|
|
106
|
-
sessionToken: token,
|
|
107
|
-
apiKey,
|
|
108
|
-
});
|
|
109
108
|
}
|
|
110
109
|
}
|
|
111
110
|
};
|
|
@@ -124,25 +123,27 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
124
123
|
} else {
|
|
125
124
|
const { apiKey } = QBConfig.configAIApi.AITranslateWidgetConfig;
|
|
126
125
|
let token = '';
|
|
126
|
+
const proxyConfig: ProxyConfig =
|
|
127
|
+
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig ||
|
|
128
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
127
129
|
|
|
128
130
|
if (apiKey) {
|
|
129
131
|
token = apiKey;
|
|
132
|
+
defaultAITranslateWidget = UseDefaultAITranslateWidget({
|
|
133
|
+
...proxyConfig,
|
|
134
|
+
apiKeyOrSessionToken: token,
|
|
135
|
+
});
|
|
130
136
|
} else {
|
|
131
137
|
token =
|
|
132
138
|
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig
|
|
133
139
|
.sessionToken ||
|
|
134
140
|
sessionToken ||
|
|
135
141
|
'';
|
|
142
|
+
defaultAITranslateWidget = UseDefaultAITranslateWidgetWithProxy({
|
|
143
|
+
...proxyConfig,
|
|
144
|
+
apiKeyOrSessionToken: token,
|
|
145
|
+
});
|
|
136
146
|
}
|
|
137
|
-
const proxyConfig: ProxyConfig =
|
|
138
|
-
QBConfig.configAIApi.AITranslateWidgetConfig.proxyConfig ||
|
|
139
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
140
|
-
|
|
141
|
-
defaultAITranslateWidget = UseDefaultAITranslateWidget({
|
|
142
|
-
...proxyConfig,
|
|
143
|
-
sessionToken: token,
|
|
144
|
-
apiKey,
|
|
145
|
-
});
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
};
|
|
@@ -161,25 +162,28 @@ const QuickBloxUIKitDesktopLayout: React.FC<
|
|
|
161
162
|
} else {
|
|
162
163
|
const { apiKey } = QBConfig.configAIApi.AIRephraseWidgetConfig;
|
|
163
164
|
let token = '';
|
|
165
|
+
const proxyConfig: ProxyConfig =
|
|
166
|
+
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig ||
|
|
167
|
+
DefaultConfigurations.getDefaultProxyConfig();
|
|
164
168
|
|
|
165
169
|
if (apiKey) {
|
|
166
170
|
token = apiKey;
|
|
171
|
+
defaultAIEditMessageWidget = UseDefaultAIRephraseMessageWidget({
|
|
172
|
+
...proxyConfig,
|
|
173
|
+
apiKeyOrSessionToken: token,
|
|
174
|
+
});
|
|
167
175
|
} else {
|
|
168
176
|
token =
|
|
169
177
|
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig
|
|
170
178
|
.sessionToken ||
|
|
171
179
|
sessionToken ||
|
|
172
180
|
'';
|
|
181
|
+
defaultAIEditMessageWidget =
|
|
182
|
+
UseDefaultAIRephraseMessageWidgetWithProxy({
|
|
183
|
+
...proxyConfig,
|
|
184
|
+
apiKeyOrSessionToken: token,
|
|
185
|
+
});
|
|
173
186
|
}
|
|
174
|
-
const proxyConfig: ProxyConfig =
|
|
175
|
-
QBConfig.configAIApi.AIRephraseWidgetConfig.proxyConfig ||
|
|
176
|
-
DefaultConfigurations.getDefaultProxyConfig();
|
|
177
|
-
|
|
178
|
-
defaultAIEditMessageWidget = UseDefaultAIRephraseMessageWidget({
|
|
179
|
-
...proxyConfig,
|
|
180
|
-
sessionToken: token,
|
|
181
|
-
apiKey,
|
|
182
|
-
});
|
|
183
187
|
}
|
|
184
188
|
}
|
|
185
189
|
};
|
package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx
CHANGED
|
@@ -10,12 +10,10 @@ import {
|
|
|
10
10
|
import DialogsRepository from '../../../../Data/repository/DialogsRepository';
|
|
11
11
|
import { SyncDialogsUseCase } from '../../../../Domain/use_cases/SyncDialogsUseCase';
|
|
12
12
|
import { BaseUseCase } from '../../../../Domain/use_cases/base/BaseUseCase';
|
|
13
|
-
import { QBConfig } from '../../../../QBconfig';
|
|
14
13
|
import ConnectionRepository from '../../../../Data/repository/ConnectionRepository';
|
|
15
14
|
import EventMessagesRepository from '../../../../Data/repository/EventMessagesRepository';
|
|
16
15
|
import { CallBackFunction } from '../../../../Domain/use_cases/base/IUseCase';
|
|
17
|
-
|
|
18
|
-
// import packageInfo from '../../../../../package.json';
|
|
16
|
+
import { DefaultConfigurations } from '../../../../Data/DefaultConfigurations';
|
|
19
17
|
|
|
20
18
|
const initialValues = {
|
|
21
19
|
LOCAL_DATA_SOURCE: new LocalDataSource(), // localstorage or session storage
|
|
@@ -57,7 +55,7 @@ type AccountData = {
|
|
|
57
55
|
export type InitParams = {
|
|
58
56
|
maxFileSize: number;
|
|
59
57
|
accountData: AccountData;
|
|
60
|
-
qbConfig
|
|
58
|
+
qbConfig: QBConfig;
|
|
61
59
|
loginData?: LoginData;
|
|
62
60
|
};
|
|
63
61
|
|
|
@@ -106,8 +104,10 @@ const initDataContext: QBDataContextType = {
|
|
|
106
104
|
// ),
|
|
107
105
|
},
|
|
108
106
|
InitParams: {
|
|
109
|
-
accountData:
|
|
110
|
-
maxFileSize:
|
|
107
|
+
accountData: DefaultConfigurations.getDefaultQBConfig().credentials,
|
|
108
|
+
maxFileSize:
|
|
109
|
+
DefaultConfigurations.getDefaultQBConfig().appConfig.maxFileSize,
|
|
110
|
+
qbConfig: DefaultConfigurations.getDefaultQBConfig(),
|
|
111
111
|
},
|
|
112
112
|
updateQBInitParams: (InitParams: InitParams) => {
|
|
113
113
|
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
@@ -240,6 +240,7 @@ function QuickBloxUIKitProvider({
|
|
|
240
240
|
password: loginData?.password || '',
|
|
241
241
|
},
|
|
242
242
|
maxFileSize,
|
|
243
|
+
qbConfig,
|
|
243
244
|
});
|
|
244
245
|
|
|
245
246
|
console.log('have InitParams useState completed');
|
|
@@ -290,7 +291,7 @@ function QuickBloxUIKitProvider({
|
|
|
290
291
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
291
292
|
// storage.SYNC_DIALOGS_USE_CASE.execute(() => {});
|
|
292
293
|
|
|
293
|
-
// todo: MUST use
|
|
294
|
+
// todo: MUST use apiKeyOrSessionToken or login/pass to re-init
|
|
294
295
|
// const remoteDataSourceMock: RemoteDataSource =
|
|
295
296
|
// storage.REMOTE_DATA_SOURCE as RemoteDataSource;
|
|
296
297
|
// // remoteDataSourceMock
|
package/src/QBconfig.ts
CHANGED
|
@@ -13,7 +13,7 @@ export const QBConfig = {
|
|
|
13
13
|
proxyConfig: {
|
|
14
14
|
api: 'v1/chat/completions',
|
|
15
15
|
servername: 'http://localhost',
|
|
16
|
-
port: '
|
|
16
|
+
port: '3011',
|
|
17
17
|
sessionToken: '',
|
|
18
18
|
},
|
|
19
19
|
},
|
|
@@ -32,17 +32,18 @@ export const QBConfig = {
|
|
|
32
32
|
proxyConfig: {
|
|
33
33
|
api: 'v1/chat/completions',
|
|
34
34
|
servername: 'http://localhost',
|
|
35
|
-
port: '
|
|
35
|
+
port: '3011',
|
|
36
36
|
sessionToken: '',
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
39
|
AIRephraseWidgetConfig: {
|
|
40
40
|
apiKey: '',
|
|
41
41
|
useDefault: true,
|
|
42
|
+
defaultTone: 'Professional',
|
|
42
43
|
proxyConfig: {
|
|
43
44
|
api: 'v1/chat/completions',
|
|
44
45
|
servername: 'http://localhost',
|
|
45
|
-
port: '
|
|
46
|
+
port: '3011',
|
|
46
47
|
sessionToken: '',
|
|
47
48
|
},
|
|
48
49
|
},
|
package/src/utils/parse.ts
CHANGED
|
@@ -44,7 +44,7 @@ export function isQBError(error: unknown): error is QBError {
|
|
|
44
44
|
return typeof error === 'object' && error !== null && 'message' in error;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export function stringifyError(error: unknown) {
|
|
47
|
+
export function stringifyError(error: unknown): string {
|
|
48
48
|
if (typeof error === 'string') return error;
|
|
49
49
|
|
|
50
50
|
if (error && typeof error === 'object') {
|