@viewberapp/chat 0.0.90 → 0.0.91
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/API.d.ts +14 -0
- package/dist/API.js +28 -0
- package/dist/API.js.map +1 -1
- package/dist/CachedChat.d.ts +1 -2
- package/dist/CachedChat.js.map +1 -1
- package/dist/Chat.d.ts +18 -2
- package/dist/Chat.js +42 -14
- package/dist/Chat.js.map +1 -1
- package/dist/ChatSubscription.d.ts +2 -2
- package/dist/react/components/ConnectionAndChannelStatusLabel.d.ts +1 -2
- package/dist/react/components/ConnectionAndChannelStatusLabel.js.map +1 -1
- package/dist/react/useChat.d.ts +2 -2
- package/dist/react/useChat.js.map +1 -1
- package/dist/react/useRealtimeTotalUserUnreadChatMessages.d.ts +10 -0
- package/dist/react/useRealtimeTotalUserUnreadChatMessages.js +83 -0
- package/dist/react/useRealtimeTotalUserUnreadChatMessages.js.map +1 -0
- package/package.json +3 -2
package/dist/API.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface ConstructApiParams {
|
|
|
10
10
|
getChatStoreMessageRoute: (chatId: number) => string;
|
|
11
11
|
getChatForAppointmentRoute: (appointmentId: number) => string;
|
|
12
12
|
markChatMessagesReadUpToRoute: (chatId: number, messageId: number) => string;
|
|
13
|
+
getUserChatUnreadMessageCountRoute: () => string;
|
|
13
14
|
}
|
|
14
15
|
export declare type GetAblyTokenReturnValue = {
|
|
15
16
|
token: Record<any, any>;
|
|
@@ -18,6 +19,17 @@ export declare type GetAblyTokenReturnValue = {
|
|
|
18
19
|
token?: undefined;
|
|
19
20
|
error: ChatError;
|
|
20
21
|
};
|
|
22
|
+
export declare type GetUserChatUnreadMessageCountReturnValue = {
|
|
23
|
+
count: number;
|
|
24
|
+
error?: undefined;
|
|
25
|
+
} | {
|
|
26
|
+
count?: undefined;
|
|
27
|
+
error: ChatError;
|
|
28
|
+
};
|
|
29
|
+
export interface GetUserChatUnreadMessageCountParams {
|
|
30
|
+
appointmentId?: number;
|
|
31
|
+
appointmentIsConfirmedForViewing?: boolean;
|
|
32
|
+
}
|
|
21
33
|
export declare type StoreMessageReturnValue = {
|
|
22
34
|
message: Message;
|
|
23
35
|
error?: undefined;
|
|
@@ -47,8 +59,10 @@ export default class API {
|
|
|
47
59
|
private getChatStoreMessageRoute;
|
|
48
60
|
private getChatForAppointmentRoute;
|
|
49
61
|
private markChatMessagesReadUpToRoute;
|
|
62
|
+
private getUserChatUnreadMessageCountRoute;
|
|
50
63
|
constructor(params: ConstructApiParams);
|
|
51
64
|
getAblyToken: (chats: number[]) => Promise<GetAblyTokenReturnValue>;
|
|
65
|
+
getUserChatUnreadMessageCount: (params?: GetUserChatUnreadMessageCountParams) => Promise<GetUserChatUnreadMessageCountReturnValue>;
|
|
52
66
|
storeMessage: (chatId: number, message: string, options?: SendMessageOptions) => Promise<StoreMessageReturnValue>;
|
|
53
67
|
getLatestMessages: (chatId: number) => Promise<GetLatestMessagesReturnValue>;
|
|
54
68
|
getChatIdFromAppointmentId: (appointmentId: number) => Promise<GetChatIdFromAppointmentIdReturnValue>;
|
package/dist/API.js
CHANGED
|
@@ -39,6 +39,33 @@ class API {
|
|
|
39
39
|
} });
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
|
+
this.getUserChatUnreadMessageCount = (params) => new Promise((resolve, reject) => {
|
|
43
|
+
this.axios.get(this.getUserChatUnreadMessageCountRoute(), {
|
|
44
|
+
headers: this.constructHeaders(),
|
|
45
|
+
params: {
|
|
46
|
+
appointment_id: params === null || params === void 0 ? void 0 : params.appointmentId,
|
|
47
|
+
appointment_is_confirmed_for_viewing: params === null || params === void 0 ? void 0 : params.appointmentIsConfirmedForViewing
|
|
48
|
+
}
|
|
49
|
+
}).then(response => {
|
|
50
|
+
resolve({ count: response.data.count });
|
|
51
|
+
}).catch(err => {
|
|
52
|
+
var _a, _b, _c, _d, _e;
|
|
53
|
+
if (axios_1.default.isAxiosError(err)) {
|
|
54
|
+
if (((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) === 403) {
|
|
55
|
+
return resolve({ error: {
|
|
56
|
+
message: ((_c = (_b = err.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message) || 'Unauthorized',
|
|
57
|
+
code: 'unauthorized',
|
|
58
|
+
error: err
|
|
59
|
+
} });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return resolve({ error: {
|
|
63
|
+
message: ((_e = (_d = err.response) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.message) || 'Error',
|
|
64
|
+
code: 'error',
|
|
65
|
+
error: err
|
|
66
|
+
} });
|
|
67
|
+
});
|
|
68
|
+
});
|
|
42
69
|
this.storeMessage = (chatId, message, options) => new Promise((resolve, reject) => {
|
|
43
70
|
this.axios.post(this.getChatStoreMessageRoute(chatId), {
|
|
44
71
|
message,
|
|
@@ -161,6 +188,7 @@ class API {
|
|
|
161
188
|
this.getChatStoreMessageRoute = params.getChatStoreMessageRoute;
|
|
162
189
|
this.getChatForAppointmentRoute = params.getChatForAppointmentRoute;
|
|
163
190
|
this.markChatMessagesReadUpToRoute = params.markChatMessagesReadUpToRoute;
|
|
191
|
+
this.getUserChatUnreadMessageCountRoute = params.getUserChatUnreadMessageCountRoute;
|
|
164
192
|
}
|
|
165
193
|
}
|
|
166
194
|
exports.default = API;
|
package/dist/API.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"API.js","sourceRoot":"","sources":["../src/API.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAI1B,wDAAgC;
|
|
1
|
+
{"version":3,"file":"API.js","sourceRoot":"","sources":["../src/API.ts"],"names":[],"mappings":"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"}
|
package/dist/CachedChat.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import Ably from 'ably';
|
|
|
2
2
|
import API from "./API";
|
|
3
3
|
import { Logger } from "./logger";
|
|
4
4
|
import OnlineUser from "./OnlineUser";
|
|
5
|
-
import { ConnectionStatus } from './Chat';
|
|
5
|
+
import { ChannelStatus, ConnectionStatus } from './Chat';
|
|
6
6
|
import PendingMessage from "./PendingMessage";
|
|
7
7
|
import Message from "./Message";
|
|
8
8
|
import ChatSubscription from "./ChatSubscription";
|
|
@@ -18,7 +18,6 @@ export interface SendMessageOptions {
|
|
|
18
18
|
isAdminMessage: boolean;
|
|
19
19
|
}
|
|
20
20
|
export declare type Messages = (Message | PendingMessage)[];
|
|
21
|
-
export declare type ChannelStatus = 'initialized' | 'attaching' | 'attached' | 'detaching' | 'detached' | 'suspended' | 'failed';
|
|
22
21
|
export declare type GetLatestMessagesStatus = 'initialized' | 'fetching' | 'success' | 'failed';
|
|
23
22
|
export default class CachedChat {
|
|
24
23
|
private id;
|
package/dist/CachedChat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,+BAAoC;AAGpC,mEAA0F;AAC1F,qDAAkD;
|
|
1
|
+
{"version":3,"file":"CachedChat.js","sourceRoot":"","sources":["../src/CachedChat.ts"],"names":[],"mappings":"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"}
|
package/dist/Chat.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Ably from 'ably';
|
|
2
2
|
import ChatError from "./ChatError";
|
|
3
3
|
import { AxiosInstance } from 'axios';
|
|
4
|
+
import API, { ConstructApiParams } from "./API";
|
|
4
5
|
import { Logger } from "./logger";
|
|
5
6
|
import ChatSubscription from "./ChatSubscription";
|
|
6
7
|
export interface ChatOptions {
|
|
@@ -12,11 +13,24 @@ export interface ChatOptions {
|
|
|
12
13
|
getChatStoreMessageRoute: ConstructApiParams['getChatStoreMessageRoute'];
|
|
13
14
|
getChatForAppointmentRoute: ConstructApiParams['getChatForAppointmentRoute'];
|
|
14
15
|
markChatMessagesReadUpToRoute: ConstructApiParams['markChatMessagesReadUpToRoute'];
|
|
16
|
+
getUserChatUnreadMessageCountRoute: ConstructApiParams['getUserChatUnreadMessageCountRoute'];
|
|
15
17
|
}
|
|
16
18
|
export declare type ConnectionStatus = 'initialized' | 'connecting' | 'connected' | 'disconnected' | 'suspended' | 'closing' | 'closed' | 'failed';
|
|
19
|
+
export declare type ChannelStatus = 'initialized' | 'attaching' | 'attached' | 'detaching' | 'detached' | 'suspended' | 'failed';
|
|
20
|
+
export interface ChatEvents {
|
|
21
|
+
initialized: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare type ChatEventCallbacks = {
|
|
24
|
+
[Event in keyof ChatEvents]: (data: ChatEvents[Event]) => void;
|
|
25
|
+
};
|
|
26
|
+
export declare type ChatEventListeners = {
|
|
27
|
+
[Event in keyof ChatEvents]: ChatEventCallbacks[Event][];
|
|
28
|
+
};
|
|
17
29
|
declare const Chat: {
|
|
18
30
|
init: (options: ChatOptions) => void;
|
|
19
31
|
isInitialized: () => boolean;
|
|
32
|
+
setJwtToken: (_jwtToken?: string) => void;
|
|
33
|
+
api: () => API;
|
|
20
34
|
get: (id: number) => Promise<{
|
|
21
35
|
subscription: ChatSubscription;
|
|
22
36
|
error?: undefined;
|
|
@@ -31,7 +45,9 @@ declare const Chat: {
|
|
|
31
45
|
subscription?: undefined;
|
|
32
46
|
error: ChatError;
|
|
33
47
|
}>;
|
|
34
|
-
|
|
48
|
+
channel: (channelName: string) => Ably.Types.RealtimeChannelCallbacks;
|
|
49
|
+
addEventListener: <Event_1 extends "initialized">(event: Event_1, listener: ChatEventCallbacks[Event_1]) => void;
|
|
50
|
+
removeEventListener: <Event_2 extends "initialized">(event: Event_2, listener: ChatEventCallbacks[Event_2]) => void;
|
|
35
51
|
logout: () => void;
|
|
36
52
|
};
|
|
37
53
|
export default Chat;
|
package/dist/Chat.js
CHANGED
|
@@ -36,12 +36,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
const Ably = __importStar(require("ably"));
|
|
39
|
-
const
|
|
39
|
+
const util_1 = require("./util");
|
|
40
40
|
const CachedChat_1 = __importDefault(require("./CachedChat"));
|
|
41
|
+
const API_1 = __importDefault(require("./API"));
|
|
41
42
|
const logger_1 = require("./logger");
|
|
42
43
|
const ChatSubscription_1 = __importDefault(require("./ChatSubscription"));
|
|
43
44
|
const jwtTokenChanged_1 = require("./util/jwtTokenChanged");
|
|
44
|
-
const util_1 = require("./util");
|
|
45
45
|
const Chat = (function () {
|
|
46
46
|
let initialized = false;
|
|
47
47
|
let axios;
|
|
@@ -51,17 +51,20 @@ const Chat = (function () {
|
|
|
51
51
|
let getChatStoreMessageRoute;
|
|
52
52
|
let getChatForAppointmentRoute;
|
|
53
53
|
let markChatMessagesReadUpToRoute;
|
|
54
|
-
let
|
|
54
|
+
let getUserChatUnreadMessageCountRoute;
|
|
55
|
+
let _api;
|
|
55
56
|
let logger;
|
|
56
57
|
let ably;
|
|
57
58
|
let connectionStatus;
|
|
59
|
+
const eventListeners = {
|
|
60
|
+
initialized: []
|
|
61
|
+
};
|
|
58
62
|
const chats = {};
|
|
59
63
|
const init = (options) => {
|
|
60
64
|
if (initialized) {
|
|
61
65
|
console.warn('Chat.init() was called more than once. Ignoring.');
|
|
62
66
|
return;
|
|
63
67
|
}
|
|
64
|
-
initialized = true;
|
|
65
68
|
axios = options.axios;
|
|
66
69
|
jwtToken = options.jwtToken;
|
|
67
70
|
getChatMessagesRoute = options.getChatMessagesRoute;
|
|
@@ -69,12 +72,13 @@ const Chat = (function () {
|
|
|
69
72
|
getChatStoreMessageRoute = options.getChatStoreMessageRoute;
|
|
70
73
|
getChatForAppointmentRoute = options.getChatForAppointmentRoute;
|
|
71
74
|
markChatMessagesReadUpToRoute = options.markChatMessagesReadUpToRoute;
|
|
72
|
-
|
|
75
|
+
getUserChatUnreadMessageCountRoute = options.getUserChatUnreadMessageCountRoute;
|
|
76
|
+
_api = makeApi();
|
|
73
77
|
logger = options.logger || new logger_1.ConsoleLogger;
|
|
74
78
|
ably = new Ably.Realtime({
|
|
75
79
|
autoConnect: false,
|
|
76
80
|
authCallback(tokenParams, callback) {
|
|
77
|
-
api.getAblyToken(Object.keys(chats).map(id => Number(id))).then(result => {
|
|
81
|
+
api().getAblyToken(Object.keys(chats).map(id => Number(id))).then(result => {
|
|
78
82
|
if (result.error) {
|
|
79
83
|
callback(result.error.code, undefined);
|
|
80
84
|
if (result.error.code === 'no_authorized_chats_given'
|
|
@@ -92,6 +96,8 @@ const Chat = (function () {
|
|
|
92
96
|
});
|
|
93
97
|
connectionStatus = ably.connection.state;
|
|
94
98
|
ably.connection.on(handleAblyConnectionStateChange);
|
|
99
|
+
initialized = true;
|
|
100
|
+
fireEvent('initialized', initialized);
|
|
95
101
|
};
|
|
96
102
|
const isInitialized = () => {
|
|
97
103
|
return initialized;
|
|
@@ -112,11 +118,14 @@ const Chat = (function () {
|
|
|
112
118
|
chat.detachChannel(function (err) {
|
|
113
119
|
if (err)
|
|
114
120
|
logger.error(err);
|
|
115
|
-
ably.channels.release(
|
|
121
|
+
ably.channels.release(getChatChannelName(Number(chatId)));
|
|
116
122
|
});
|
|
117
123
|
}
|
|
118
124
|
}
|
|
119
|
-
|
|
125
|
+
_api = makeApi();
|
|
126
|
+
};
|
|
127
|
+
const api = () => {
|
|
128
|
+
return _api;
|
|
120
129
|
};
|
|
121
130
|
const get = (id) => new Promise((resolve, reject) => {
|
|
122
131
|
getChat(id).then(({ chat, isFirstFetch, error }) => {
|
|
@@ -144,7 +153,7 @@ const Chat = (function () {
|
|
|
144
153
|
});
|
|
145
154
|
const appointment = (appointmentId) => __awaiter(this, void 0, void 0, function* () {
|
|
146
155
|
try {
|
|
147
|
-
const { chatId, error } = yield api.getChatIdFromAppointmentId(appointmentId);
|
|
156
|
+
const { chatId, error } = yield api().getChatIdFromAppointmentId(appointmentId);
|
|
148
157
|
if (error) {
|
|
149
158
|
return { error };
|
|
150
159
|
}
|
|
@@ -172,8 +181,8 @@ const Chat = (function () {
|
|
|
172
181
|
}
|
|
173
182
|
let chat = new CachedChat_1.default({
|
|
174
183
|
id: chatId,
|
|
175
|
-
api,
|
|
176
|
-
channel: ably.channels.get(
|
|
184
|
+
api: api(),
|
|
185
|
+
channel: ably.channels.get(getChatChannelName(chatId)),
|
|
177
186
|
connectionStatus,
|
|
178
187
|
logger
|
|
179
188
|
});
|
|
@@ -200,6 +209,9 @@ const Chat = (function () {
|
|
|
200
209
|
}
|
|
201
210
|
}
|
|
202
211
|
});
|
|
212
|
+
const channel = (channelName) => {
|
|
213
|
+
return ably.channels.get(channelName);
|
|
214
|
+
};
|
|
203
215
|
const handleAblyConnectionStateChange = (event) => {
|
|
204
216
|
connectionStatus = event.current;
|
|
205
217
|
Object.values(chats).forEach(chat => {
|
|
@@ -215,20 +227,36 @@ const Chat = (function () {
|
|
|
215
227
|
getChatAblyTokenRoute,
|
|
216
228
|
getChatStoreMessageRoute,
|
|
217
229
|
getChatForAppointmentRoute,
|
|
218
|
-
markChatMessagesReadUpToRoute
|
|
230
|
+
markChatMessagesReadUpToRoute,
|
|
231
|
+
getUserChatUnreadMessageCountRoute
|
|
219
232
|
});
|
|
233
|
+
const fireEvent = (event, data) => {
|
|
234
|
+
eventListeners[event].forEach(listener => listener(data));
|
|
235
|
+
};
|
|
236
|
+
const addEventListener = (event, listener) => {
|
|
237
|
+
eventListeners[event].push(listener);
|
|
238
|
+
};
|
|
239
|
+
const removeEventListener = (event, listener) => {
|
|
240
|
+
eventListeners[event] = eventListeners[event].filter(l => {
|
|
241
|
+
return l !== listener;
|
|
242
|
+
});
|
|
243
|
+
};
|
|
220
244
|
const logout = () => {
|
|
221
245
|
setJwtToken(undefined);
|
|
222
246
|
};
|
|
223
|
-
const
|
|
247
|
+
const getChatChannelName = (chatId) => {
|
|
224
248
|
return `viewber:chat:${chatId}`;
|
|
225
249
|
};
|
|
226
250
|
return {
|
|
227
251
|
init,
|
|
228
252
|
isInitialized,
|
|
253
|
+
setJwtToken,
|
|
254
|
+
api,
|
|
229
255
|
get,
|
|
230
256
|
appointment,
|
|
231
|
-
|
|
257
|
+
channel,
|
|
258
|
+
addEventListener,
|
|
259
|
+
removeEventListener,
|
|
232
260
|
logout
|
|
233
261
|
};
|
|
234
262
|
})();
|
package/dist/Chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","sourceRoot":"","sources":["../src/Chat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"Chat.js","sourceRoot":"","sources":["../src/Chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Message from "./Message";
|
|
2
2
|
import ChatError from "./ChatError";
|
|
3
3
|
import OnlineUser from "./OnlineUser";
|
|
4
|
-
import { ConnectionStatus } from "./Chat";
|
|
5
|
-
import CachedChat, {
|
|
4
|
+
import { ConnectionStatus, ChannelStatus } from "./Chat";
|
|
5
|
+
import CachedChat, { GetLatestMessagesStatus, Messages, SendMessageOptions } from "./CachedChat";
|
|
6
6
|
import PendingMessage from "./PendingMessage";
|
|
7
7
|
export declare type ChatSubscriptionStatus = 'active' | 'cancelled';
|
|
8
8
|
export interface ChatSubscriptionOptions {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ChannelStatus } from '../../
|
|
3
|
-
import { ConnectionStatus } from '../../Chat';
|
|
2
|
+
import { ConnectionStatus, ChannelStatus } from '../../Chat';
|
|
4
3
|
export interface ConnectionAndChannelStatusLabelProps {
|
|
5
4
|
connectionStatus: ConnectionStatus | undefined;
|
|
6
5
|
channelStatus: ChannelStatus | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionAndChannelStatusLabel.js","sourceRoot":"","sources":["../../../src/react/components/ConnectionAndChannelStatusLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;
|
|
1
|
+
{"version":3,"file":"ConnectionAndChannelStatusLabel.js","sourceRoot":"","sources":["../../../src/react/components/ConnectionAndChannelStatusLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAQxB,MAAM,+BAA+B,GAAG,CAAC,EAAC,gBAAgB,EAAE,aAAa,EAAuC,EAAE,EAAE;IACvH,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAExF,MAAM,6BAA6B,GAAG;QAClC,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,kBAAkB;KACpC,CAAA;IAED,MAAM,mBAAmB,GAAwB;QAC7C,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,6BAA6B,CAAC,uBAAuB,CAAC;KAC1E,CAAA;IAED,OAAO,CACH,8BAAM,KAAK,EAAE,eAAe,gBAAgB,cAAc,aAAa,EAAE;;QAErE,8BAAM,KAAK,EAAE,mBAAmB,GAAI,CACjC,CACV,CAAA;AACL,CAAC,CAAA;AAxBY,QAAA,+BAA+B,mCAwB3C;AAED,MAAM,sBAAsB,GAAG,CAC3B,gBAA4C,EAC5C,aAAsC,EACI,EAAE;IAC5C,IAAI,gBAAgB,KAAK,WAAW,IAAI,aAAa,KAAK,UAAU,EAAE;QAClE,OAAO,WAAW,CAAC;KACtB;SAEI,IACD,gBAAgB;WACb,aAAa;WACb,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;WACjE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EACvD;QACE,OAAO,YAAY,CAAC;KACvB;IAED,OAAO,eAAe,CAAC;AAE3B,CAAC,CAAA"}
|
package/dist/react/useChat.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Message from '../Message';
|
|
2
2
|
import ChatError from '../ChatError';
|
|
3
3
|
import OnlineUser from '../OnlineUser';
|
|
4
|
-
import { ConnectionStatus } from '../Chat';
|
|
5
|
-
import {
|
|
4
|
+
import { ConnectionStatus, ChannelStatus } from '../Chat';
|
|
5
|
+
import { GetLatestMessagesStatus, Messages } from '../CachedChat';
|
|
6
6
|
import { ChatSubscriptionStatus, ChatSubscriptionEventCallbackData } from '../ChatSubscription';
|
|
7
7
|
import PendingMessage from '../PendingMessage';
|
|
8
8
|
export interface UseChatOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":";;;;;AAAA,iCAA0C;AAG1C,yCAAsC;AAEtC,
|
|
1
|
+
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/react/useChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChannelStatus } from "../Chat";
|
|
2
|
+
export interface UseRealtimeTotalUserUnreadChatMessagesOptions {
|
|
3
|
+
appointmentId?: number;
|
|
4
|
+
appointmentIsConfirmedForViewing?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface UseRealtimeTotalUserUnreadChatMessagesReturnValue {
|
|
7
|
+
channelStatus: ChannelStatus | undefined;
|
|
8
|
+
totalUnreadMessages: number | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare const useRealtimeTotalUserUnreadChatMessages: (userId: number, options?: UseRealtimeTotalUserUnreadChatMessagesOptions) => UseRealtimeTotalUserUnreadChatMessagesReturnValue;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.useRealtimeTotalUserUnreadChatMessages = void 0;
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
31
|
+
const util_1 = require("../util");
|
|
32
|
+
const Chat_1 = __importDefault(require("../Chat"));
|
|
33
|
+
const useRealtimeTotalUserUnreadChatMessages = (userId, options) => {
|
|
34
|
+
const [chatIsInitialized, setChatIsInitialized] = (0, react_1.useState)(Chat_1.default.isInitialized());
|
|
35
|
+
const [channelStatus, setChannelStatus] = (0, react_1.useState)();
|
|
36
|
+
const [totalUnreadMessages, setTotalUnreadMessages] = (0, react_1.useState)();
|
|
37
|
+
react_1.default.useEffect(() => {
|
|
38
|
+
let listener = (isInitialized) => {
|
|
39
|
+
setChatIsInitialized(isInitialized);
|
|
40
|
+
};
|
|
41
|
+
Chat_1.default.addEventListener('initialized', listener);
|
|
42
|
+
return () => {
|
|
43
|
+
Chat_1.default.removeEventListener('initialized', listener);
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
react_1.default.useEffect(() => {
|
|
47
|
+
if (!chatIsInitialized) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const channel = Chat_1.default.channel(`viewber.users.${userId}`);
|
|
51
|
+
const chatMessageCreatedListener = (message) => {
|
|
52
|
+
var _a;
|
|
53
|
+
if (!(0, util_1.isNil)(options === null || options === void 0 ? void 0 : options.appointmentId)
|
|
54
|
+
&& ((_a = message.data.chat) === null || _a === void 0 ? void 0 : _a.request_accept_id) !== (options === null || options === void 0 ? void 0 : options.appointmentId)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
Chat_1.default.api().getUserChatUnreadMessageCount({
|
|
58
|
+
appointmentId: options === null || options === void 0 ? void 0 : options.appointmentId,
|
|
59
|
+
appointmentIsConfirmedForViewing: options === null || options === void 0 ? void 0 : options.appointmentIsConfirmedForViewing
|
|
60
|
+
}).then(res => {
|
|
61
|
+
if (!(0, util_1.isNil)(res.count)) {
|
|
62
|
+
setTotalUnreadMessages(res.count);
|
|
63
|
+
}
|
|
64
|
+
}).catch(err => {
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
const channelStatusListener = (stateChange) => {
|
|
68
|
+
setChannelStatus(stateChange.current);
|
|
69
|
+
};
|
|
70
|
+
channel.subscribe('chat.message.created', chatMessageCreatedListener);
|
|
71
|
+
channel.on(channelStatusListener);
|
|
72
|
+
return () => {
|
|
73
|
+
channel.unsubscribe('chat.message.created', chatMessageCreatedListener);
|
|
74
|
+
channel.off(channelStatusListener);
|
|
75
|
+
};
|
|
76
|
+
}, [chatIsInitialized]);
|
|
77
|
+
return {
|
|
78
|
+
channelStatus,
|
|
79
|
+
totalUnreadMessages
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
exports.useRealtimeTotalUserUnreadChatMessages = useRealtimeTotalUserUnreadChatMessages;
|
|
83
|
+
//# sourceMappingURL=useRealtimeTotalUserUnreadChatMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRealtimeTotalUserUnreadChatMessages.js","sourceRoot":"","sources":["../../src/react/useRealtimeTotalUserUnreadChatMessages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AAEtC,kCAAgC;AAChC,mDAA8C;AAgBvC,MAAM,sCAAsC,GAAG,CAClD,MAAc,EACd,OAAuD,EACN,EAAE;IACnD,MAAM,CACF,iBAAiB,EACjB,oBAAoB,CACvB,GAAG,IAAA,gBAAQ,EAAU,cAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5C,MAAM,CACF,aAAa,EACb,gBAAgB,CACnB,GAAG,IAAA,gBAAQ,GAA2B,CAAC;IACxC,MAAM,CACF,mBAAmB,EACnB,sBAAsB,CACzB,GAAG,IAAA,gBAAQ,GAAoB,CAAC;IAEjC,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,QAAQ,GAAG,CAAC,aAAsB,EAAE,EAAE;YACtC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACvC,CAAC,CAAA;QAED,cAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,GAAG,EAAE;YACR,cAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QACrD,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,iBAAiB,EAAE;YACpB,OAAO;SACV;QAID,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAExD,MAAM,0BAA0B,GAAG,CAAC,OAA2B,EAAE,EAAE;;YAG/D,IACI,CAAC,IAAA,YAAK,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;mBAC3B,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,IAAI,0CAAE,iBAAiB,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,EACpE;gBACE,OAAO;aACV;YAED,cAAI,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC;gBACrC,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;gBACrC,gCAAgC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gCAAgC;aAC9E,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,IAAI,CAAC,IAAA,YAAK,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACnB,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACrC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAGf,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QAED,MAAM,qBAAqB,GAAG,CAAC,WAA0C,EAAE,EAAE;YACzE,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAA;QAED,OAAO,CAAC,SAAS,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;QACtE,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAElC,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,OAAO;QACH,aAAa;QACb,mBAAmB;KACtB,CAAA;AACL,CAAC,CAAA;AA9EY,QAAA,sCAAsC,0CA8ElD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viewberapp/chat",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.91",
|
|
4
4
|
"description": "Viewber chat",
|
|
5
5
|
"author": "Jacob <jacob.chen@viewber.co.uk>",
|
|
6
6
|
"homepage": "https://bitbucket.org/ezadr/viewberjs#readme",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"url": "https://bitbucket.org/ezadr/viewberjs/issues"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
+
"@viewberapp/realtime": "^0.0.0",
|
|
32
33
|
"uuid": "^9.0.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"react": "^16.14.0",
|
|
43
44
|
"rollbar": "^2.25.0"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "bc87f3aad2b683f6f69763bbd9f5323bf78cb7fb"
|
|
46
47
|
}
|