quickblox-react-ui-kit 0.4.2-beta.5 → 0.4.2-beta.7

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 (34) hide show
  1. package/.env +1 -0
  2. package/dist/Data/repository/DialogsRepository.d.ts +2 -1
  3. package/dist/Data/source/remote/IRemoteDataSource.d.ts +2 -1
  4. package/dist/Data/source/remote/RemoteDataSource.d.ts +7 -1
  5. package/dist/Domain/use_cases/UpdateCurrentDialogInDataSourceUseCase.d.ts +3 -1
  6. package/dist/hooks/useQuickBloxUIKit.d.ts +2 -4
  7. package/dist/index-ui.js +30657 -29523
  8. package/dist/index-ui.js.map +1 -1
  9. package/dist/qb-api-calls/index.d.ts +4 -1
  10. package/media-recorder-js.d.ts +133 -0
  11. package/package.json +3 -2
  12. package/src/App.tsx +10 -1
  13. package/src/Data/Creator.ts +4 -1
  14. package/src/Data/mapper/DialogRemoteDTOMapper.ts +2 -1
  15. package/src/Data/repository/ConnectionRepository.ts +7 -2
  16. package/src/Data/repository/DialogsRepository.ts +3 -1
  17. package/src/Data/source/remote/IRemoteDataSource.ts +2 -1
  18. package/src/Data/source/remote/Mapper/FileDTOMapper.ts +3 -4
  19. package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +3 -1
  20. package/src/Data/source/remote/RemoteDataSource.ts +130 -10
  21. package/src/Domain/use_cases/UpdateCurrentDialogInDataSourceUseCase.ts +6 -0
  22. package/src/Presentation/Views/Dialog/MessageItem/MessageItem.tsx +2 -2
  23. package/src/Presentation/Views/Dialog/useDialogViewModel.ts +113 -73
  24. package/src/Presentation/Views/DialogList/useDialogListViewModel.ts +32 -29
  25. package/src/Presentation/Views/PreviewDialog/PreviewDialog.tsx +2 -1
  26. package/src/Presentation/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +28 -26
  27. package/src/Presentation/providers/QuickBloxUIKitProvider/QuickBloxUIKitProvider.tsx +13 -0
  28. package/src/Presentation/ui-components/Message/Bubble/AudioBubble/AudioBubble.scss +3 -1
  29. package/src/hooks/useQuickBloxUIKit.ts +141 -99
  30. package/src/qb-api-calls/index.ts +125 -0
  31. package/tsconfig.json +2 -1
  32. package/webpack.config.js +14 -1
  33. package/public/quickblox.js +0 -52585
  34. package/public/quickblox.min.js +0 -1
package/.env ADDED
@@ -0,0 +1 @@
1
+ FAST_REFRESH=false
@@ -4,6 +4,7 @@ import { DialogEntity } from '../../Domain/entity/DialogEntity';
4
4
  import { IDialogsRepository } from '../../Domain/repository/IDialogsRepository';
5
5
  import { FunctionTypeVoidToVoid } from '../../CommonTypes/BaseViewModel';
6
6
  import { PaginatedResult, Pagination } from '../../Domain/repository/Pagination';
7
+ import { QBUIKitConfig } from '../../CommonTypes/CommonTypes';
7
8
  export default class DialogsRepository implements IDialogsRepository {
8
9
  private localDataStorage;
9
10
  private remoteDataSource;
@@ -18,7 +19,7 @@ export default class DialogsRepository implements IDialogsRepository {
18
19
  saveDialogToLocal(entity: DialogEntity): Promise<boolean>;
19
20
  createDialogInRemote(entity: DialogEntity): Promise<DialogEntity>;
20
21
  updateDialogInLocal(entity: DialogEntity): Promise<DialogEntity>;
21
- updateCurrentDialogInLocalDataSource(entity: DialogEntity): Promise<DialogEntity>;
22
+ updateCurrentDialogInLocalDataSource(entity: DialogEntity, qbConfig: QBUIKitConfig): Promise<DialogEntity>;
22
23
  updateDialogInRemote(entity: DialogEntity): Promise<DialogEntity>;
23
24
  getDialogFromLocal(dialogId: string): Promise<DialogEntity>;
24
25
  getDialogFromRemote(dialogId: string): Promise<DialogEntity>;
@@ -9,6 +9,7 @@ import { RemoteFileDTO } from '../../dto/file/RemoteFileDTO';
9
9
  import { Pagination } from '../../../Domain/repository/Pagination';
10
10
  import { CallBackFunction } from '../../../Domain/use_cases/base/IUseCase';
11
11
  import { NotificationTypes } from '../../../Domain/entity/NotificationTypes';
12
+ import { QBUIKitConfig } from '../../../CommonTypes/CommonTypes';
12
13
  export interface IRemoteMessaging<TArg> {
13
14
  subscribeOnSystemMessaging(notificationType: NotificationTypes, callback: CallBackFunction<TArg>): void;
14
15
  subscribeOnMessaging(callback: CallBackFunction<TArg>): void;
@@ -34,7 +35,7 @@ export interface IRemoteDataSource extends IRemoteMessaging<RemoteMessageDTO> {
34
35
  getFile(dto: RemoteFileDTO): Promise<RemoteFileDTO>;
35
36
  deleteFile(dto: RemoteFileDTO): Promise<void>;
36
37
  subscribeToChatConnectionEvents(fileId: string): Promise<void>;
37
- updateCurrentDialog(dto: RemoteDialogDTO): void;
38
+ updateCurrentDialog(dto: RemoteDialogDTO, qbConfig: QBUIKitConfig): void;
38
39
  createAnswer(text: string, messages: AIChatHistory, smartChatAssistantId: string): Promise<AIAnswerResponse>;
39
40
  translate(text: string, languageCode: string, smartChatAssistantId: string): Promise<AIAnswerResponse>;
40
41
  }
@@ -14,6 +14,7 @@ import { SubscriptionPerformer } from '../../../Domain/use_cases/base/Subscribab
14
14
  import { CallBackFunction } from '../../../Domain/use_cases/base/IUseCase';
15
15
  import { DialogEventInfo } from '../../../Domain/entity/DialogEventInfo';
16
16
  import { IRemoteDataSource } from './IRemoteDataSource';
17
+ import { QBUIKitConfig } from '../../../CommonTypes/CommonTypes';
17
18
  export type PaginatedDTOResult = {
18
19
  PaginationResult: Pagination;
19
20
  ResultData: RemoteUserDTO[];
@@ -47,7 +48,12 @@ export declare class RemoteDataSource implements IRemoteDataSource {
47
48
  constructor();
48
49
  createAnswer(text: string, messages: AIChatHistory, smartChatAssistantId: string): Promise<AIAnswerResponse>;
49
50
  translate(text: string, languageCode: string, smartChatAssistantId: string): Promise<AIAnswerResponse>;
50
- updateCurrentDialog(dto: RemoteDialogDTO): Promise<void>;
51
+ updateCurrentDialog(dto: RemoteDialogDTO, qbConfig: QBUIKitConfig): Promise<void>;
52
+ /**
53
+ * Marks all messages in the specified dialog as read.
54
+ * Uses the QuickBlox API endpoint provided in qbConfig, or defaults to api.quickblox.com.
55
+ */
56
+ private markAllMessagesAsRead;
51
57
  setUpMockStorage(): Promise<void>;
52
58
  private createUserSession;
53
59
  static initSDK(sdkParams: QBInitParams): boolean;
@@ -2,9 +2,11 @@ import { DialogEntity } from '../entity/DialogEntity';
2
2
  import DialogsRepository from '../../Data/repository/DialogsRepository';
3
3
  import { IUseCase } from './base/IUseCase';
4
4
  import { GroupDialogEntity } from '../entity/GroupDialogEntity';
5
+ import { QBUIKitConfig } from '../../CommonTypes/CommonTypes';
5
6
  export declare class UpdateCurrentDialogInDataSourceUseCase implements IUseCase<void, DialogEntity> {
6
7
  private dialogRepository;
7
8
  private updateDialog;
8
- constructor(dialogRepository: DialogsRepository, updateDialog: GroupDialogEntity);
9
+ private qbConfig;
10
+ constructor(dialogRepository: DialogsRepository, updateDialog: GroupDialogEntity, qbConfig: QBUIKitConfig);
9
11
  execute(): Promise<DialogEntity>;
10
12
  }
@@ -13,7 +13,6 @@ import { QuickBloxUIKitProps } from '../CommonTypes/CommonTypes';
13
13
  import { UsersListViewModel } from '../Presentation/Views/DialogInfo/UsersList/UsersListViewModel';
14
14
  interface QuickBloxUIKitReturn {
15
15
  constants: {
16
- mimeType: string;
17
16
  messagePerPage: number;
18
17
  maxFileSize?: number;
19
18
  maxWidthToResizing: string;
@@ -37,9 +36,9 @@ interface QuickBloxUIKitReturn {
37
36
  showDialogInformation: boolean;
38
37
  needDialogInformation: boolean;
39
38
  isRecording: boolean;
40
- stream?: MediaStream;
39
+ stream?: MediaStream | null;
41
40
  permission: boolean;
42
- resultAudioBlob?: Blob;
41
+ resultAudioBlob?: Blob | null;
43
42
  audioChunks: Blob[];
44
43
  fileToSend?: File | null;
45
44
  messageText: string;
@@ -50,7 +49,6 @@ interface QuickBloxUIKitReturn {
50
49
  defaultAITranslateWidget?: AIMessageWidget;
51
50
  defaultAIAssistWidget?: AIMessageWidget;
52
51
  rephraseTones: Tone[];
53
- mimeType: string;
54
52
  messagePerPage: number;
55
53
  enableForwarding: boolean;
56
54
  enableReplying: boolean;