@ethora/chat-component 25.1.1 → 25.1.10

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.
@@ -1,6 +1,6 @@
1
1
  import { Element } from 'ltx';
2
2
 
3
- declare const onRealtimeMessage: (stanza: Element) => Promise<any>;
3
+ declare const onRealtimeMessage: (stanza: Element) => Promise<import('../types/types').IMessage>;
4
4
  declare const onDeleteMessage: (stanza: Element) => Promise<void>;
5
5
  declare const onEditMessage: (stanza: Element) => Promise<void>;
6
6
  declare const onMessageHistory: (stanza: any) => Promise<void>;
@@ -0,0 +1,3 @@
1
+ import { Client } from '@xmpp/client';
2
+
3
+ export declare function createPrivateRoom(title: string, description: string, to: string, client: Client): Promise<string>;
@@ -1,3 +1,3 @@
1
1
  import { Client } from '@xmpp/client';
2
2
 
3
- export declare function createRoom(title: string, description: string, client: Client, to?: string): Promise<string>;
3
+ export declare function createRoom(title: string, description: string, client: Client): Promise<string>;
@@ -1 +1,4 @@
1
- export declare function handleStanza(stanza: any, xmppWs: any): void;
1
+ import { Element } from 'ltx';
2
+ import { default as XmppClient } from '../xmppClient';
3
+
4
+ export declare function handleStanza(stanza: Element, xmppWs: XmppClient): void;
@@ -0,0 +1,16 @@
1
+ import { Client } from '@xmpp/client';
2
+ import { Iso639_1Codes } from '../../types/types';
3
+
4
+ export declare const sendTextMessageWithTranslateTag: (client: Client, stanzaMessage: {
5
+ roomJID: string;
6
+ firstName: string;
7
+ lastName: string;
8
+ photo: string;
9
+ walletAddress: string;
10
+ userMessage: string;
11
+ notDisplayedValue?: string;
12
+ isReply?: boolean;
13
+ showInChannel?: boolean;
14
+ mainMessage?: string;
15
+ devServer?: string;
16
+ }, source: Iso639_1Codes) => void;
@@ -21,22 +21,24 @@ export declare class XmppClient implements XmppClientInterface {
21
21
  reconnect(): void;
22
22
  close(): Promise<void>;
23
23
  getRoomsStanza: () => Promise<void>;
24
- createRoomStanza(title: string, description: string, to?: string): Promise<string>;
24
+ createRoomStanza(title: string, description: string): Promise<string>;
25
25
  inviteRoomRequestStanza(to: string, roomJid: string): Promise<void>;
26
26
  leaveTheRoomStanza: (roomJID: string) => void;
27
27
  presenceInRoomStanza: (roomJID: string) => void;
28
- getHistoryStanza: (chatJID: string, max: number, before?: number, id?: string) => Promise<any>;
28
+ getHistoryStanza: (chatJID: string, max: number, before?: number, otherStanzaId?: string) => Promise<any>;
29
29
  getLastMessageArchiveStanza(roomJID: string): void;
30
30
  setRoomImageStanza: (roomJid: string, roomThumbnail: string, type: string, roomBackground?: string) => void;
31
31
  getRoomInfoStanza: (roomJID: string) => void;
32
32
  getRoomMembersStanza: (roomJID: string) => void;
33
33
  setVCardStanza(xmppUsername: string): void;
34
34
  sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string) => void;
35
+ sendTextMessageWithTranslateTagStanza: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string) => void;
35
36
  deleteMessageStanza(room: string, msgId: string): void;
36
37
  editMessageStanza(room: string, msgId: string, text: string): void;
37
38
  sendTypingRequestStanza(chatId: string, fullName: string, start: boolean): void;
38
39
  getChatsPrivateStoreRequestStanza: () => Promise<unknown>;
39
40
  actionSetTimestampToPrivateStoreStanza(chatId: string, timestamp: number, chats?: string[]): Promise<void>;
41
+ createPrivateRoomStanza(title: string, description: string, to: string): Promise<string>;
40
42
  sendMediaMessageStanza(roomJID: string, data: any): void;
41
43
  }
42
44
  export default XmppClient;
@@ -1,5 +1,6 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
2
  import { DeleteModal, IConfig, IUser, ModalFile, ModalType, User } from '../types/types';
3
+ import { default as XmppClient } from '../networking/xmppClient';
3
4
 
4
5
  interface ChatState {
5
6
  user: User;
@@ -8,7 +9,8 @@ interface ChatState {
8
9
  deleteModal?: DeleteModal;
9
10
  selectedUser?: IUser;
10
11
  activeFile?: ModalFile;
11
- client?: any;
12
+ client?: XmppClient;
13
+ langSource?: string;
12
14
  }
13
15
  export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
14
16
  setUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<User>) => void;
@@ -21,17 +23,18 @@ export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
21
23
  setDeleteModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<DeleteModal | undefined>) => void;
22
24
  setStoreClient: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<any>) => void;
23
25
  setSelectedUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IUser | undefined>) => void;
26
+ setLangSource: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<string | undefined>) => void;
24
27
  refreshTokens: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<{
25
28
  token: string;
26
29
  refreshToken: string;
27
30
  }>) => void;
28
31
  logout: (state: import('immer').WritableDraft<ChatState>) => void;
29
- }, "chat", "chat", import('@reduxjs/toolkit').SliceSelectors<ChatState>>;
30
- export declare const setUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<User, "chat/setUser">, setConfig: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"chat/setConfig">, refreshTokens: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
32
+ }, "chatSettingStore", "chatSettingStore", import('@reduxjs/toolkit').SliceSelectors<ChatState>>;
33
+ export declare const setUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<User, "chatSettingStore/setUser">, setConfig: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"chatSettingStore/setConfig">, refreshTokens: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
31
34
  token: string;
32
35
  refreshToken: string;
33
- }, "chat/refreshTokens">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"chat/logout">, setActiveModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chat/setActiveModal">, setDeleteModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<DeleteModal, "chat/setDeleteModal">, setSelectedUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<IUser, "chat/setSelectedUser">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
36
+ }, "chatSettingStore/refreshTokens">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"chatSettingStore/logout">, setActiveModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chatSettingStore/setActiveModal">, setDeleteModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<DeleteModal, "chatSettingStore/setDeleteModal">, setSelectedUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<IUser, "chatSettingStore/setSelectedUser">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
34
37
  updates: Partial<User>;
35
- }, "chat/updateUser">, setActiveFile: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ModalFile, "chat/setActiveFile">, setStoreClient: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "chat/setStoreClient">;
38
+ }, "chatSettingStore/updateUser">, setActiveFile: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ModalFile, "chatSettingStore/setActiveFile">, setStoreClient: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, "chatSettingStore/setStoreClient">, setLangSource: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chatSettingStore/setLangSource">;
36
39
  declare const _default: import('redux').Reducer<ChatState>;
37
40
  export default _default;
@@ -0,0 +1,15 @@
1
+ import { default as chatSettingsReducer } from './chatSettingsSlice';
2
+ import { default as roomsSlice } from './roomsSlice';
3
+ import { IRoom } from '../types/types';
4
+ import { AnyAction } from 'redux-saga';
5
+
6
+ export declare const getActiveRoom: (state: RootState) => IRoom | null;
7
+ export declare const store: import('@reduxjs/toolkit').EnhancedStore<RootState, AnyAction, import('@reduxjs/toolkit').Tuple<[import('redux').StoreEnhancer<{
8
+ dispatch: import('redux-thunk').ThunkDispatch<RootState, undefined, import('redux').UnknownAction>;
9
+ }>, import('redux').StoreEnhancer]>>;
10
+ export declare const persistor: import('redux-persist').Persistor;
11
+ export type RootState = {
12
+ chatSettingStore: ReturnType<typeof chatSettingsReducer>;
13
+ rooms: ReturnType<typeof roomsSlice>;
14
+ };
15
+ export type AppDispatch = typeof store.dispatch;
@@ -73,6 +73,7 @@ export declare const roomsStore: import('@reduxjs/toolkit').Slice<RoomMessagesSt
73
73
  chatJID: string;
74
74
  }>) => void;
75
75
  }, "roomMessages", "roomMessages", import('@reduxjs/toolkit').SliceSelectors<RoomMessagesState>>;
76
+ export declare const getLastMessageTimestamp: (state: RoomMessagesState, jid: string) => string | null;
76
77
  export declare const addRoom: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
77
78
  roomData: IRoom;
78
79
  }, "roomMessages/addRoom">, deleteAllRooms: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"roomMessages/deleteAllRooms">, setRoomMessages: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
@@ -1,12 +1,13 @@
1
1
  import { Client } from '@xmpp/client';
2
2
  import { MODAL_TYPES } from '../helpers/constants/MODAL_TYPES';
3
+ import { TranslationObject } from '../helpers/transformTranslatations';
3
4
 
4
5
  export interface IUser extends Partial<User> {
5
6
  id: string;
6
7
  name: string | null;
7
8
  userJID?: string | null;
8
- token: string;
9
- refreshToken: string;
9
+ token?: string;
10
+ refreshToken?: string;
10
11
  }
11
12
  export interface IMessage {
12
13
  id: string;
@@ -30,6 +31,8 @@ export interface IMessage {
30
31
  isDeleted?: boolean;
31
32
  mainMessage?: string;
32
33
  reply?: IReply[];
34
+ translations?: TranslationObject;
35
+ langSource?: string;
33
36
  }
34
37
  export interface IReply extends IMessage {
35
38
  }
@@ -158,6 +161,7 @@ export interface IConfig {
158
161
  enabled: boolean;
159
162
  refreshFunction?: any;
160
163
  };
164
+ enableTranslates?: boolean;
161
165
  }
162
166
  interface ConfigRoom {
163
167
  jid: string;
@@ -228,7 +232,7 @@ export interface XmppClientInterface {
228
232
  inviteRoomRequestStanza(to: string, roomJid: string): Promise<void>;
229
233
  leaveTheRoomStanza(roomJID: string): void;
230
234
  presenceInRoomStanza(roomJID: string): void;
231
- getHistoryStanza(chatJID: string, max: number, before?: number, id?: string): Promise<any>;
235
+ getHistoryStanza(chatJID: string, max: number, before?: number, otherStanzaId?: string): Promise<any>;
232
236
  getLastMessageArchiveStanza(roomJID: string): void;
233
237
  setRoomImageStanza(roomJid: string, roomThumbnail: string, type: string, roomBackground?: string): void;
234
238
  getRoomInfoStanza(roomJID: string): void;
@@ -241,5 +245,15 @@ export interface XmppClientInterface {
241
245
  getChatsPrivateStoreRequestStanza(): Promise<any>;
242
246
  actionSetTimestampToPrivateStoreStanza(chatId: string, timestamp: number, chats?: string[]): Promise<void>;
243
247
  sendMediaMessageStanza(roomJID: string, data: any): void;
248
+ createPrivateRoomStanza(title: string, description: string, to: string): Promise<string>;
249
+ }
250
+ export type Iso639_1Codes = 'en' | 'es' | 'pt' | 'ht' | 'zh';
251
+ export interface Language {
252
+ iso639_1: Iso639_1Codes;
253
+ name: string;
244
254
  }
255
+ export type LanguageOptions = {
256
+ languages: Array<Language>;
257
+ language?: Iso639_1Codes;
258
+ };
245
259
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component",
3
- "version": "25.01.01",
3
+ "version": "25.01.10",
4
4
  "type": "module",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -32,6 +32,8 @@
32
32
  "react-qr-code": "^2.0.15",
33
33
  "react-redux": "^9.1.0",
34
34
  "redux": "^5.0.1",
35
+ "redux-persist": "^6.0.0",
36
+ "redux-persist-transform-encrypt": "^5.1.1",
35
37
  "redux-saga": "^1.3.0",
36
38
  "styled-components": "^6.1.8",
37
39
  "uuid": "^9.0.1",