@trycourier/courier-react-native 2.0.0-beta2 → 2.0.0-beta3
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/ios/CourierReactNativeModule.m +43 -4
- package/ios/CourierReactNativeModule.swift +87 -79
- package/ios/CourierReactNativeViewManager.m +1 -3
- package/ios/CourierReactNativeViewManager.swift +4 -17
- package/lib/commonjs/hooks/useCourier.js +224 -0
- package/lib/commonjs/hooks/useCourier.js.map +1 -0
- package/lib/commonjs/index.js +193 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/CourierAuthenticationListener.js +21 -0
- package/lib/commonjs/models/CourierAuthenticationListener.js.map +1 -0
- package/lib/commonjs/models/CourierPushListener.js +15 -0
- package/lib/commonjs/models/CourierPushListener.js.map +1 -0
- package/lib/commonjs/views/CourierInboxView.js +4 -2
- package/lib/commonjs/views/CourierInboxView.js.map +1 -1
- package/lib/module/hooks/useCourier.js +213 -0
- package/lib/module/hooks/useCourier.js.map +1 -0
- package/lib/module/index.js +166 -13
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/CourierAuthenticationListener.js +13 -0
- package/lib/module/models/CourierAuthenticationListener.js.map +1 -0
- package/lib/module/models/CourierPushListener.js +8 -0
- package/lib/module/models/CourierPushListener.js.map +1 -0
- package/lib/module/views/CourierInboxView.js +4 -2
- package/lib/module/views/CourierInboxView.js.map +1 -1
- package/lib/typescript/hooks/useCourier.d.ts +52 -0
- package/lib/typescript/hooks/useCourier.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +81 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/CourierAuthenticationListener.d.ts +7 -0
- package/lib/typescript/models/CourierAuthenticationListener.d.ts.map +1 -0
- package/lib/typescript/models/CourierPushListener.d.ts +7 -0
- package/lib/typescript/models/CourierPushListener.d.ts.map +1 -0
- package/lib/typescript/views/CourierInboxView.d.ts +4 -2
- package/lib/typescript/views/CourierInboxView.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/useCourier.tsx +291 -0
- package/src/index.tsx +185 -13
- package/src/models/CourierAuthenticationListener.tsx +19 -0
- package/src/models/CourierPushListener.tsx +13 -0
- package/src/views/CourierInboxView.tsx +5 -4
package/lib/commonjs/index.js
CHANGED
|
@@ -3,16 +3,53 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "CourierAuthenticationListener", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _CourierAuthenticationListener.CourierAuthenticationListener;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "CourierInboxListener", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _CourierInboxListener.CourierInboxListener;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
6
18
|
Object.defineProperty(exports, "CourierInboxView", {
|
|
7
19
|
enumerable: true,
|
|
8
20
|
get: function () {
|
|
9
21
|
return _CourierInboxView.CourierInboxView;
|
|
10
22
|
}
|
|
11
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "CourierProvider", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _useCourier.CourierProvider;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "CourierPushListener", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _CourierPushListener.CourierPushListener;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
12
36
|
exports.default = void 0;
|
|
37
|
+
Object.defineProperty(exports, "useCourier", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () {
|
|
40
|
+
return _useCourier.useCourier;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
13
43
|
var _reactNative = require("react-native");
|
|
14
44
|
var _CourierInboxListener = require("./models/CourierInboxListener");
|
|
45
|
+
var _CourierPushListener = require("./models/CourierPushListener");
|
|
46
|
+
var _CourierAuthenticationListener = require("./models/CourierAuthenticationListener");
|
|
15
47
|
var _CourierInboxView = require("./views/CourierInboxView");
|
|
48
|
+
var _useCourier = require("./hooks/useCourier");
|
|
49
|
+
// Imports
|
|
50
|
+
|
|
51
|
+
// Exports
|
|
52
|
+
|
|
16
53
|
const LINKING_ERROR = `The package '@trycourier/courier-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
17
54
|
ios: "- You have run 'pod install'\n",
|
|
18
55
|
default: ''
|
|
@@ -24,6 +61,8 @@ const CourierReactNativeModules = _reactNative.NativeModules.CourierReactNativeM
|
|
|
24
61
|
});
|
|
25
62
|
const CourierEventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.CourierReactNativeModule);
|
|
26
63
|
class Courier {
|
|
64
|
+
PUSH_NOTIFICATION_CLICKED = 'pushNotificationClicked';
|
|
65
|
+
PUSH_NOTIFICATION_DELIVERED = 'pushNotificationDelivered';
|
|
27
66
|
_isDebugging = false;
|
|
28
67
|
constructor() {
|
|
29
68
|
// Sets the initial SDK values
|
|
@@ -41,16 +80,9 @@ class Courier {
|
|
|
41
80
|
}
|
|
42
81
|
async setDefaults() {
|
|
43
82
|
this.setIsDebugging(__DEV__);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// // this.iOSForegroundPresentationOptions({
|
|
48
|
-
// // options: ['sound', 'badge', 'list', 'banner'],
|
|
49
|
-
// // }),
|
|
50
|
-
// ]);
|
|
51
|
-
// } catch (error) {
|
|
52
|
-
// console.log(error);
|
|
53
|
-
// }
|
|
83
|
+
this.iOSForegroundPresentationOptions({
|
|
84
|
+
options: ['sound', 'badge', 'list', 'banner']
|
|
85
|
+
});
|
|
54
86
|
}
|
|
55
87
|
|
|
56
88
|
/**
|
|
@@ -78,12 +110,129 @@ class Courier {
|
|
|
78
110
|
return this._isDebugging;
|
|
79
111
|
}
|
|
80
112
|
|
|
113
|
+
/**
|
|
114
|
+
* TODO
|
|
115
|
+
* @param props
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
iOSForegroundPresentationOptions(props) {
|
|
119
|
+
// Only works on iOS
|
|
120
|
+
if (_reactNative.Platform.OS !== 'ios') return 'unsupported';
|
|
121
|
+
const normalizedParams = Array.from(new Set(props.options));
|
|
122
|
+
return CourierReactNativeModules.iOSForegroundPresentationOptions({
|
|
123
|
+
options: normalizedParams
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Sets the current Apple Push Notification Service (APNS) token
|
|
129
|
+
* using Courier token management apis
|
|
130
|
+
* @example const apnsToken = await Courier.apnsToken
|
|
131
|
+
*/
|
|
132
|
+
get apnsToken() {
|
|
133
|
+
if (_reactNative.Platform.OS !== 'ios') return undefined;
|
|
134
|
+
return CourierReactNativeModules.getApnsToken();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Sets the current Firebase Cloud Messaging (FCM) token
|
|
139
|
+
* using Courier token management apis
|
|
140
|
+
* @example const fcmToken = await Courier.fcmToken
|
|
141
|
+
*/
|
|
142
|
+
get fcmToken() {
|
|
143
|
+
return CourierReactNativeModules.getFcmToken();
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Sets the current Firebase Cloud Messaging (FCM) token
|
|
148
|
+
* using Courier token management apis
|
|
149
|
+
* @example await setFcmToken('asdf...asdf')
|
|
150
|
+
*/
|
|
151
|
+
setFcmToken(props) {
|
|
152
|
+
return CourierReactNativeModules.setFcmToken(props.token);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Gets notification permission status at a system level.
|
|
157
|
+
* @example const permissionStatus = await Courier.getNotificationPermissionStatus()
|
|
158
|
+
*/
|
|
159
|
+
getNotificationPermissionStatus() {
|
|
160
|
+
return CourierReactNativeModules.getNotificationPermissionStatus();
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Requests notification permission status at a system level.
|
|
165
|
+
* Returns the string associated with the permission status.
|
|
166
|
+
* Will return the current status and will not present a popup
|
|
167
|
+
* if the user has already been asked for permission.
|
|
168
|
+
* @example const permissionStatus = await Courier.requestNotificationPermission()
|
|
169
|
+
*/
|
|
170
|
+
requestNotificationPermission() {
|
|
171
|
+
return CourierReactNativeModules.requestNotificationPermission();
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @example
|
|
176
|
+
TODO
|
|
177
|
+
* @returns function that can be used to unsubscribe from registered listeners
|
|
178
|
+
*/
|
|
179
|
+
addPushNotificationListener(props) {
|
|
180
|
+
const pushListener = new _CourierPushListener.CourierPushListener();
|
|
181
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
182
|
+
if (props.onPushNotificationClicked) {
|
|
183
|
+
pushListener.onNotificationClickedListener = _reactNative.DeviceEventEmitter.addListener(this.PUSH_NOTIFICATION_CLICKED, event => {
|
|
184
|
+
try {
|
|
185
|
+
props.onPushNotificationClicked(JSON.parse(event));
|
|
186
|
+
} catch (error) {
|
|
187
|
+
console.log(error);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
if (props.onPushNotificationDelivered) {
|
|
192
|
+
pushListener.onNotificationDeliveredListener = _reactNative.DeviceEventEmitter.addListener(this.PUSH_NOTIFICATION_DELIVERED, event => {
|
|
193
|
+
try {
|
|
194
|
+
props.onPushNotificationDelivered(JSON.parse(event));
|
|
195
|
+
} catch (error) {
|
|
196
|
+
console.log(error);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
202
|
+
if (props.onPushNotificationClicked) {
|
|
203
|
+
pushListener.onNotificationClickedListener = CourierEventEmitter.addListener(this.PUSH_NOTIFICATION_CLICKED, event => {
|
|
204
|
+
try {
|
|
205
|
+
props.onPushNotificationClicked(JSON.parse(event));
|
|
206
|
+
} catch (error) {
|
|
207
|
+
console.log(error);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
if (props.onPushNotificationDelivered) {
|
|
212
|
+
pushListener.onNotificationDeliveredListener = CourierEventEmitter.addListener(this.PUSH_NOTIFICATION_DELIVERED, event => {
|
|
213
|
+
try {
|
|
214
|
+
props.onPushNotificationDelivered(JSON.parse(event));
|
|
215
|
+
} catch (error) {
|
|
216
|
+
console.log(error);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// When listener is registered
|
|
223
|
+
// Attempt to fetch the last message that was clicked
|
|
224
|
+
// This is needed for when the app is killed and the
|
|
225
|
+
// user launched the app by clicking on a notifications
|
|
226
|
+
CourierReactNativeModules.registerPushNotificationClickedOnKilledState();
|
|
227
|
+
return pushListener;
|
|
228
|
+
}
|
|
229
|
+
|
|
81
230
|
/**
|
|
82
231
|
* Returns the current user id stored in local native storage
|
|
83
232
|
* @example const userId = await Courier.userId
|
|
84
233
|
*/
|
|
85
234
|
get userId() {
|
|
86
|
-
return CourierReactNativeModules.getUserId();
|
|
235
|
+
return CourierReactNativeModules.getUserId() ?? undefined;
|
|
87
236
|
}
|
|
88
237
|
|
|
89
238
|
/**
|
|
@@ -106,6 +255,38 @@ class Courier {
|
|
|
106
255
|
return CourierReactNativeModules.signIn(props.accessToken, props.clientKey ?? null, props.userId);
|
|
107
256
|
}
|
|
108
257
|
|
|
258
|
+
/**
|
|
259
|
+
* TODO
|
|
260
|
+
* @param props
|
|
261
|
+
* @returns
|
|
262
|
+
*/
|
|
263
|
+
signOut() {
|
|
264
|
+
return CourierReactNativeModules.signOut();
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* TODO
|
|
269
|
+
* @param props
|
|
270
|
+
* @returns
|
|
271
|
+
*/
|
|
272
|
+
addAuthenticationListener(props) {
|
|
273
|
+
const authListener = new _CourierAuthenticationListener.CourierAuthenticationListener();
|
|
274
|
+
authListener.onUserChanged = CourierEventEmitter.addListener('courierAuthUserChanged', event => {
|
|
275
|
+
props.onUserChanged(event);
|
|
276
|
+
});
|
|
277
|
+
authListener.listenerId = CourierReactNativeModules.addAuthenticationListener();
|
|
278
|
+
return authListener;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* TODO
|
|
283
|
+
* @param props
|
|
284
|
+
* @returns
|
|
285
|
+
*/
|
|
286
|
+
removeAuthenticationListener(props) {
|
|
287
|
+
return CourierReactNativeModules.removeAuthenticationListener(props.listenerId);
|
|
288
|
+
}
|
|
289
|
+
|
|
109
290
|
/**
|
|
110
291
|
* TODO
|
|
111
292
|
* @param props
|
|
@@ -156,7 +337,7 @@ class Courier {
|
|
|
156
337
|
props.onMessagesChanged(event.messages, event.unreadMessageCount, event.totalMessageCount, event.canPaginate);
|
|
157
338
|
});
|
|
158
339
|
}
|
|
159
|
-
inboxListener.listenerId = CourierReactNativeModules.addInboxListener(
|
|
340
|
+
inboxListener.listenerId = CourierReactNativeModules.addInboxListener();
|
|
160
341
|
return inboxListener;
|
|
161
342
|
}
|
|
162
343
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_CourierInboxListener","_CourierInboxView","LINKING_ERROR","Platform","select","ios","default","CourierReactNativeModules","NativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","NativeEventEmitter","Courier","_isDebugging","constructor","setDefaults","shared","_sharedInstance","setIsDebugging","__DEV__","isDebugging","_this$debugListener","debugListener","remove","addListener","event","console","log","setDebugMode","userId","getUserId","signIn","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_CourierInboxListener","_CourierPushListener","_CourierAuthenticationListener","_CourierInboxView","_useCourier","LINKING_ERROR","Platform","select","ios","default","CourierReactNativeModules","NativeModules","CourierReactNativeModule","Proxy","get","Error","CourierEventEmitter","NativeEventEmitter","Courier","PUSH_NOTIFICATION_CLICKED","PUSH_NOTIFICATION_DELIVERED","_isDebugging","constructor","setDefaults","shared","_sharedInstance","setIsDebugging","__DEV__","iOSForegroundPresentationOptions","options","isDebugging","_this$debugListener","debugListener","remove","addListener","event","console","log","setDebugMode","props","OS","normalizedParams","Array","from","Set","apnsToken","undefined","getApnsToken","fcmToken","getFcmToken","setFcmToken","token","getNotificationPermissionStatus","requestNotificationPermission","addPushNotificationListener","pushListener","CourierPushListener","onPushNotificationClicked","onNotificationClickedListener","DeviceEventEmitter","JSON","parse","error","onPushNotificationDelivered","onNotificationDeliveredListener","registerPushNotificationClickedOnKilledState","userId","getUserId","signIn","accessToken","clientKey","signOut","addAuthenticationListener","authListener","CourierAuthenticationListener","onUserChanged","listenerId","removeAuthenticationListener","readMessage","messageId","unreadMessage","readAllInboxMessages","addInboxListener","inboxListener","CourierInboxListener","onInitialLoad","onError","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","removeInboxListener","refreshInbox","fetchNextPageOfMessages","setInboxPaginationLimit","limit","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CourierAuthenticationListener = void 0;
|
|
7
|
+
var _ = _interopRequireDefault(require(".."));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
class CourierAuthenticationListener {
|
|
10
|
+
remove() {
|
|
11
|
+
var _this$onUserChanged;
|
|
12
|
+
if (this.listenerId) {
|
|
13
|
+
_.default.shared.removeInboxListener({
|
|
14
|
+
listenerId: this.listenerId
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
(_this$onUserChanged = this.onUserChanged) === null || _this$onUserChanged === void 0 ? void 0 : _this$onUserChanged.remove();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.CourierAuthenticationListener = CourierAuthenticationListener;
|
|
21
|
+
//# sourceMappingURL=CourierAuthenticationListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","_interopRequireDefault","require","obj","__esModule","default","CourierAuthenticationListener","remove","_this$onUserChanged","listenerId","Courier","shared","removeInboxListener","onUserChanged","exports"],"sourceRoot":"../../../src","sources":["models/CourierAuthenticationListener.tsx"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElB,MAAMG,6BAA6B,CAAC;EAKlCC,MAAMA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IAEd,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBC,SAAO,CAACC,MAAM,CAACC,mBAAmB,CAAC;QAAEH,UAAU,EAAE,IAAI,CAACA;MAAW,CAAC,CAAC;IACrE;IAEA,CAAAD,mBAAA,OAAI,CAACK,aAAa,cAAAL,mBAAA,uBAAlBA,mBAAA,CAAoBD,MAAM,CAAC,CAAC;EAE9B;AAEF;AAACO,OAAA,CAAAR,6BAAA,GAAAA,6BAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CourierPushListener = void 0;
|
|
7
|
+
class CourierPushListener {
|
|
8
|
+
remove() {
|
|
9
|
+
var _this$onNotificationC, _this$onNotificationD;
|
|
10
|
+
(_this$onNotificationC = this.onNotificationClickedListener) === null || _this$onNotificationC === void 0 ? void 0 : _this$onNotificationC.remove();
|
|
11
|
+
(_this$onNotificationD = this.onNotificationDeliveredListener) === null || _this$onNotificationD === void 0 ? void 0 : _this$onNotificationD.remove();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.CourierPushListener = CourierPushListener;
|
|
15
|
+
//# sourceMappingURL=CourierPushListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CourierPushListener","remove","_this$onNotificationC","_this$onNotificationD","onNotificationClickedListener","onNotificationDeliveredListener","exports"],"sourceRoot":"../../../src","sources":["models/CourierPushListener.tsx"],"mappings":";;;;;;AAEO,MAAMA,mBAAmB,CAAC;EAKxBC,MAAMA,CAAA,EAAG;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACd,CAAAD,qBAAA,OAAI,CAACE,6BAA6B,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoCD,MAAM,CAAC,CAAC;IAC5C,CAAAE,qBAAA,OAAI,CAACE,+BAA+B,cAAAF,qBAAA,uBAApCA,qBAAA,CAAsCF,MAAM,CAAC,CAAC;EAChD;AAEF;AAACK,OAAA,CAAAN,mBAAA,GAAAA,mBAAA"}
|
|
@@ -41,8 +41,10 @@ const CourierInboxView = props => {
|
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
return /*#__PURE__*/_react.default.createElement(CourierInbox, {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
theme: props.theme ?? {
|
|
45
|
+
light: undefined,
|
|
46
|
+
dark: undefined
|
|
47
|
+
},
|
|
46
48
|
onClickInboxMessageAtIndex: onClickInboxMessageAtIndex,
|
|
47
49
|
onClickInboxActionForMessageAtIndex: onClickInboxActionForMessageAtIndex,
|
|
48
50
|
onScrollInbox: onScrollInbox,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","ComponentName","LINKING_ERROR","Platform","select","ios","CourierInbox","UIManager","getViewManagerConfig","requireNativeComponent","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","obj","__esModule","default","ComponentName","LINKING_ERROR","Platform","select","ios","CourierInbox","UIManager","getViewManagerConfig","requireNativeComponent","Error","CourierInboxView","props","onClickInboxMessageAtIndex","event","index","nativeEvent","message","onClickInboxActionForMessageAtIndex","action","onScrollInbox","contentOffset","createElement","theme","light","undefined","dark","style","exports"],"sourceRoot":"../../../src","sources":["views/CourierInboxView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsF,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAgBtF,MAAMG,aAAa,GAAG,wBAAwB;AAE9C,MAAMC,aAAa,GAChB,2FAA0F,GAC3FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEL,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMM,YAAY,GAChBC,sBAAS,CAACC,oBAAoB,CAACP,aAAa,CAAC,IAAI,IAAI,GACjD,IAAAQ,mCAAsB,EAAwBR,aAAa,CAAC,GAC5D,MAAM;EACJ,MAAM,IAAIS,KAAK,CAACR,aAAa,CAAC;AAChC,CAAC;AAEA,MAAMS,gBAAgB,GAAIC,KAA4B,IAAK;EAEhE,MAAMC,0BAA0B,GAAIC,KAAU,IAAK;IAEjD;IACA,IAAIF,KAAK,CAACC,0BAA0B,EAAE;MAEpC,MAAME,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACC,0BAA0B,CAACI,OAAO,EAAEF,KAAK,CAAC;IAElD;EAEF,CAAC;EAED,MAAMG,mCAAmC,GAAIJ,KAAU,IAAK;IAE1D;IACA,IAAIF,KAAK,CAACM,mCAAmC,EAAE;MAE7C,MAAMH,KAAK,GAAGD,KAAK,CAACE,WAAW,CAAC,OAAO,CAAC;MACxC,MAAMG,MAAM,GAAGL,KAAK,CAACE,WAAW,CAAC,QAAQ,CAAgB;MACzD,MAAMC,OAAO,GAAGH,KAAK,CAACE,WAAW,CAAC,SAAS,CAAiB;MAE5DJ,KAAK,CAACM,mCAAmC,CAACC,MAAM,EAAEF,OAAO,EAAEF,KAAK,CAAC;IAEnE;EAEF,CAAC;EAED,MAAMK,aAAa,GAAIN,KAAU,IAAK;IAEpC;IACA,IAAIF,KAAK,CAACQ,aAAa,EAAE;MAEvB,MAAMC,aAAa,GAAGP,KAAK,CAACE,WAAW,CAAC,eAAe,CAAC;MACxDJ,KAAK,CAACQ,aAAa,CAACC,aAAa,CAAC,GAAG,CAAC,EAAEA,aAAa,CAAC,GAAG,CAAC,CAAC;IAE7D;EAEF,CAAC;EAED,oBACE3B,MAAA,CAAAM,OAAA,CAAAsB,aAAA,CAAChB,YAAY;IACXiB,KAAK,EAAEX,KAAK,CAACW,KAAK,IAAI;MAAEC,KAAK,EAAEC,SAAS;MAAEC,IAAI,EAAED;IAAU,CAAE;IAC5DZ,0BAA0B,EAAEA,0BAA2B;IACvDK,mCAAmC,EAAEA,mCAAoC;IACzEE,aAAa,EAAEA,aAAc;IAC7BO,KAAK,EAAEf,KAAK,CAACe;EAAM,CACpB,CAAC;AAGN,CAAC;AAAAC,OAAA,CAAAjB,gBAAA,GAAAA,gBAAA"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
2
|
+
import Courier from '..';
|
|
3
|
+
let authListener = undefined;
|
|
4
|
+
let pushListener = undefined;
|
|
5
|
+
let inboxListener = undefined;
|
|
6
|
+
const CourierContext = /*#__PURE__*/createContext(undefined);
|
|
7
|
+
export const CourierProvider = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
listeners,
|
|
10
|
+
children
|
|
11
|
+
} = _ref;
|
|
12
|
+
// Auth
|
|
13
|
+
const [auth_userId, auth_setUserId] = useState(undefined);
|
|
14
|
+
const [auth_isLoading, auth_setIsLoading] = useState(false);
|
|
15
|
+
const [auth_error, auth_setError] = useState(undefined);
|
|
16
|
+
|
|
17
|
+
// Push
|
|
18
|
+
const [push_pushNotificationDelivered, inbox_setPushNotificationDelivered] = useState(undefined);
|
|
19
|
+
const [push_pushNotificationClicked, inbox_setPushNotificationClicked] = useState(undefined);
|
|
20
|
+
const [push_apnsToken, push_setApnsToken] = useState(undefined);
|
|
21
|
+
const [push_fcmToken, push_setFcmToken] = useState(undefined);
|
|
22
|
+
const [push_notificationPermission, push_setNotificationPermission] = useState(undefined);
|
|
23
|
+
|
|
24
|
+
// Inbox
|
|
25
|
+
const [inbox_isLoading, inbox_setIsLoading] = useState(false);
|
|
26
|
+
const [inbox_isRefreshing, inbox_setIsRefreshing] = useState(false);
|
|
27
|
+
const [inbox_error, inbox_setError] = useState(undefined);
|
|
28
|
+
const [inbox_messages, inbox_setMessages] = useState([]);
|
|
29
|
+
const [inbox_unreadMessageCount, inbox_setUnreadMessageCount] = useState(0);
|
|
30
|
+
const [inbox_totalMessageCount, inbox_setTotalMessageCount] = useState(0);
|
|
31
|
+
const [inbox_canPaginate, inbox_setCanPaginate] = useState(false);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
// Get the initial values
|
|
34
|
+
const userId = Courier.shared.userId;
|
|
35
|
+
auth_setUserId(userId);
|
|
36
|
+
|
|
37
|
+
// Permissions
|
|
38
|
+
syncNotificationPermissions();
|
|
39
|
+
|
|
40
|
+
// Push tokens
|
|
41
|
+
syncTokens();
|
|
42
|
+
}, []);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
var _authListener, _pushListener, _inboxListener;
|
|
45
|
+
(_authListener = authListener) === null || _authListener === void 0 ? void 0 : _authListener.remove();
|
|
46
|
+
(_pushListener = pushListener) === null || _pushListener === void 0 ? void 0 : _pushListener.remove();
|
|
47
|
+
(_inboxListener = inboxListener) === null || _inboxListener === void 0 ? void 0 : _inboxListener.remove();
|
|
48
|
+
|
|
49
|
+
// Push
|
|
50
|
+
if (listeners.includes('auth')) {
|
|
51
|
+
authListener = Courier.shared.addAuthenticationListener({
|
|
52
|
+
onUserChanged: userId => {
|
|
53
|
+
auth_setUserId(userId);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Push
|
|
59
|
+
if (listeners.includes('push')) {
|
|
60
|
+
pushListener = Courier.shared.addPushNotificationListener({
|
|
61
|
+
onPushNotificationDelivered: push => inbox_setPushNotificationDelivered(push),
|
|
62
|
+
onPushNotificationClicked: push => inbox_setPushNotificationClicked(push)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Inbox
|
|
67
|
+
if (listeners.includes('inbox')) {
|
|
68
|
+
inboxListener = Courier.shared.addInboxListener({
|
|
69
|
+
onInitialLoad: () => {
|
|
70
|
+
inbox_setIsLoading(true);
|
|
71
|
+
inbox_setError(undefined);
|
|
72
|
+
},
|
|
73
|
+
onError: error => {
|
|
74
|
+
inbox_setIsLoading(false);
|
|
75
|
+
inbox_setError(error);
|
|
76
|
+
},
|
|
77
|
+
onMessagesChanged: (messages, unreadMessageCount, totalMessageCount, canPaginate) => {
|
|
78
|
+
inbox_setIsLoading(false);
|
|
79
|
+
inbox_setError(undefined);
|
|
80
|
+
inbox_setMessages(messages);
|
|
81
|
+
inbox_setUnreadMessageCount(unreadMessageCount);
|
|
82
|
+
inbox_setTotalMessageCount(totalMessageCount);
|
|
83
|
+
inbox_setCanPaginate(canPaginate);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return () => {
|
|
88
|
+
var _authListener2, _pushListener2, _inboxListener2;
|
|
89
|
+
(_authListener2 = authListener) === null || _authListener2 === void 0 ? void 0 : _authListener2.remove();
|
|
90
|
+
(_pushListener2 = pushListener) === null || _pushListener2 === void 0 ? void 0 : _pushListener2.remove();
|
|
91
|
+
(_inboxListener2 = inboxListener) === null || _inboxListener2 === void 0 ? void 0 : _inboxListener2.remove();
|
|
92
|
+
};
|
|
93
|
+
}, [listeners]);
|
|
94
|
+
const signIn = async props => {
|
|
95
|
+
auth_setIsLoading(true);
|
|
96
|
+
auth_setError(undefined);
|
|
97
|
+
try {
|
|
98
|
+
await Courier.shared.signIn(props);
|
|
99
|
+
} catch (error) {
|
|
100
|
+
auth_setError(error);
|
|
101
|
+
}
|
|
102
|
+
auth_setIsLoading(false);
|
|
103
|
+
};
|
|
104
|
+
const signOut = async () => {
|
|
105
|
+
auth_setIsLoading(true);
|
|
106
|
+
auth_setError(undefined);
|
|
107
|
+
try {
|
|
108
|
+
await Courier.shared.signOut();
|
|
109
|
+
} catch (error) {
|
|
110
|
+
auth_setError(error);
|
|
111
|
+
}
|
|
112
|
+
auth_setIsLoading(false);
|
|
113
|
+
};
|
|
114
|
+
const syncNotificationPermissions = async () => {
|
|
115
|
+
const status = await Courier.shared.getNotificationPermissionStatus();
|
|
116
|
+
push_setNotificationPermission(status);
|
|
117
|
+
};
|
|
118
|
+
const syncTokens = () => {
|
|
119
|
+
// APNS
|
|
120
|
+
const apnsToken = Courier.shared.apnsToken;
|
|
121
|
+
push_setApnsToken(apnsToken);
|
|
122
|
+
const fcmToken = Courier.shared.fcmToken;
|
|
123
|
+
push_setFcmToken(fcmToken);
|
|
124
|
+
};
|
|
125
|
+
const requestNotificationPermission = async () => {
|
|
126
|
+
const status = await Courier.shared.requestNotificationPermission();
|
|
127
|
+
push_setNotificationPermission(status);
|
|
128
|
+
};
|
|
129
|
+
const setPaginationLimit = limit => {
|
|
130
|
+
Courier.shared.setInboxPaginationLimit({
|
|
131
|
+
limit
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
const fetchNextPageOfMessages = () => {
|
|
135
|
+
return Courier.shared.fetchNextPageOfMessages();
|
|
136
|
+
};
|
|
137
|
+
const refresh = async () => {
|
|
138
|
+
inbox_setIsRefreshing(true);
|
|
139
|
+
await Courier.shared.refreshInbox();
|
|
140
|
+
inbox_setIsRefreshing(false);
|
|
141
|
+
};
|
|
142
|
+
const readAllMessages = () => {
|
|
143
|
+
// Skip if no user is found
|
|
144
|
+
if (!Courier.shared.userId) {
|
|
145
|
+
return Promise.resolve();
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Read the messages
|
|
149
|
+
return Courier.shared.readAllInboxMessages();
|
|
150
|
+
};
|
|
151
|
+
const readMessage = messageId => {
|
|
152
|
+
return Courier.shared.readMessage({
|
|
153
|
+
messageId
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
const unreadMessage = messageId => {
|
|
157
|
+
return Courier.shared.unreadMessage({
|
|
158
|
+
messageId
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
return /*#__PURE__*/React.createElement(CourierContext.Provider, {
|
|
162
|
+
value: {
|
|
163
|
+
auth: {
|
|
164
|
+
isLoading: auth_isLoading,
|
|
165
|
+
error: auth_error,
|
|
166
|
+
userId: auth_userId,
|
|
167
|
+
signIn,
|
|
168
|
+
signOut
|
|
169
|
+
},
|
|
170
|
+
push: {
|
|
171
|
+
delivered: push_pushNotificationDelivered,
|
|
172
|
+
clicked: push_pushNotificationClicked,
|
|
173
|
+
tokens: {
|
|
174
|
+
fcm: push_fcmToken,
|
|
175
|
+
apns: push_apnsToken
|
|
176
|
+
},
|
|
177
|
+
notificationPermissionStatus: push_notificationPermission,
|
|
178
|
+
requestNotificationPermission
|
|
179
|
+
},
|
|
180
|
+
inbox: {
|
|
181
|
+
isLoading: inbox_isLoading,
|
|
182
|
+
error: inbox_error,
|
|
183
|
+
messages: inbox_messages,
|
|
184
|
+
unreadMessageCount: inbox_unreadMessageCount,
|
|
185
|
+
totalMessageCount: inbox_totalMessageCount,
|
|
186
|
+
canPaginate: inbox_canPaginate,
|
|
187
|
+
setPaginationLimit,
|
|
188
|
+
fetchNextPageOfMessages,
|
|
189
|
+
refresh,
|
|
190
|
+
isRefreshing: inbox_isRefreshing,
|
|
191
|
+
readAllMessages,
|
|
192
|
+
readMessage,
|
|
193
|
+
unreadMessage
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}, children);
|
|
197
|
+
};
|
|
198
|
+
export const useCourier = function () {
|
|
199
|
+
var _props$inbox;
|
|
200
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
201
|
+
const context = useContext(CourierContext);
|
|
202
|
+
if (!context) {
|
|
203
|
+
throw new Error('useCourier must be used within an CourierProvider');
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Set the initial pagination limit if needed
|
|
207
|
+
if ((_props$inbox = props.inbox) !== null && _props$inbox !== void 0 && _props$inbox.paginationLimit) {
|
|
208
|
+
var _context$inbox, _props$inbox2;
|
|
209
|
+
(_context$inbox = context.inbox) === null || _context$inbox === void 0 ? void 0 : _context$inbox.setPaginationLimit((_props$inbox2 = props.inbox) === null || _props$inbox2 === void 0 ? void 0 : _props$inbox2.paginationLimit);
|
|
210
|
+
}
|
|
211
|
+
return context;
|
|
212
|
+
};
|
|
213
|
+
//# sourceMappingURL=useCourier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useEffect","useState","Courier","authListener","undefined","pushListener","inboxListener","CourierContext","CourierProvider","_ref","listeners","children","auth_userId","auth_setUserId","auth_isLoading","auth_setIsLoading","auth_error","auth_setError","push_pushNotificationDelivered","inbox_setPushNotificationDelivered","push_pushNotificationClicked","inbox_setPushNotificationClicked","push_apnsToken","push_setApnsToken","push_fcmToken","push_setFcmToken","push_notificationPermission","push_setNotificationPermission","inbox_isLoading","inbox_setIsLoading","inbox_isRefreshing","inbox_setIsRefreshing","inbox_error","inbox_setError","inbox_messages","inbox_setMessages","inbox_unreadMessageCount","inbox_setUnreadMessageCount","inbox_totalMessageCount","inbox_setTotalMessageCount","inbox_canPaginate","inbox_setCanPaginate","userId","shared","syncNotificationPermissions","syncTokens","_authListener","_pushListener","_inboxListener","remove","includes","addAuthenticationListener","onUserChanged","addPushNotificationListener","onPushNotificationDelivered","push","onPushNotificationClicked","addInboxListener","onInitialLoad","onError","error","onMessagesChanged","messages","unreadMessageCount","totalMessageCount","canPaginate","_authListener2","_pushListener2","_inboxListener2","signIn","props","signOut","status","getNotificationPermissionStatus","apnsToken","fcmToken","requestNotificationPermission","setPaginationLimit","limit","setInboxPaginationLimit","fetchNextPageOfMessages","refresh","refreshInbox","readAllMessages","Promise","resolve","readAllInboxMessages","readMessage","messageId","unreadMessage","createElement","Provider","value","auth","isLoading","delivered","clicked","tokens","fcm","apns","notificationPermissionStatus","inbox","isRefreshing","useCourier","_props$inbox","arguments","length","context","Error","paginationLimit","_context$inbox","_props$inbox2"],"sourceRoot":"../../../src","sources":["hooks/useCourier.tsx"],"mappings":"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"}
|