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.
Files changed (43) hide show
  1. package/dist/CommonTypes/FunctionResult.d.ts +47 -0
  2. package/dist/Data/DefaultConfigurations.d.ts +2 -6
  3. package/dist/Data/source/remote/Mapper/MessageDTOMapper.d.ts +3 -1
  4. package/dist/Domain/use_cases/ai/AIRephraseUseCase.d.ts +15 -0
  5. package/dist/Domain/use_cases/ai/AIRephraseWithProxyUseCase.d.ts +15 -0
  6. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.d.ts +6 -0
  7. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.d.ts +2 -10
  8. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.d.ts +2 -0
  9. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.d.ts +2 -10
  10. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy.d.ts +2 -0
  11. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.d.ts +2 -10
  12. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy.d.ts +2 -0
  13. package/dist/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.d.ts +1 -1
  14. package/dist/QBconfig.d.ts +1 -0
  15. package/dist/index-ui.js +82 -16
  16. package/global.d.ts +48 -6
  17. package/package.json +1 -1
  18. package/src/App.tsx +9 -14
  19. package/src/CommonTypes/FunctionResult.ts +54 -0
  20. package/src/Data/DefaultConfigurations.ts +79 -10
  21. package/src/Data/source/AISource.ts +3 -3
  22. package/src/Data/source/remote/Mapper/DialogDTOMapper.ts +3 -0
  23. package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +57 -4
  24. package/src/Data/source/remote/RemoteDataSource.ts +2 -1
  25. package/src/Domain/use_cases/ai/AIRephraseUseCase.ts +87 -0
  26. package/src/Domain/use_cases/ai/AIRephraseWithProxyUseCase.ts +71 -0
  27. package/src/Presentation/Views/Dialogs/Dialogs.tsx +1 -1
  28. package/src/Presentation/Views/Dialogs/useDialogsViewModel.ts +4 -1
  29. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.ts +11 -0
  30. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.tsx +15 -35
  31. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.tsx +79 -0
  32. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.tsx +23 -41
  33. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidgetWithProxy.tsx +86 -0
  34. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.tsx +15 -33
  35. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidgetWithProxy.tsx +88 -0
  36. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.scss +2 -2
  37. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +19 -17
  38. package/src/Presentation/components/UI/Dialogs/MessagesView/VideoAttachmentComponent/VideoAttachmentComponent.scss +6 -2
  39. package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +18 -6
  40. package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +42 -38
  41. package/src/Presentation/components/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx +8 -7
  42. package/src/QBconfig.ts +4 -3
  43. 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
- DefaultConfigurations,
26
- ProxyConfig,
27
- } from '../../../../Data/DefaultConfigurations';
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
  };
@@ -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?: 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: QBConfig.credentials,
110
- maxFileSize: QBConfig.appConfig.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 sessionToken or login/pass to re-init
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: '3001',
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: '3001',
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: '3001',
46
+ port: '3011',
46
47
  sessionToken: '',
47
48
  },
48
49
  },
@@ -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') {