@selfcommunity/react-core 0.4.0-alpha.77 → 0.4.0-alpha.79
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/lib/cjs/components/provider/SCNotificationProvider/index.d.ts.map +1 -1
- package/lib/cjs/components/provider/SCNotificationProvider/index.js +3 -1
- package/lib/cjs/components/provider/SCNotificationProvider/index.js.map +1 -1
- package/lib/cjs/constants/Device.d.ts +22 -0
- package/lib/cjs/constants/Device.d.ts.map +1 -1
- package/lib/cjs/constants/Device.js +27 -1
- package/lib/cjs/constants/Device.js.map +1 -1
- package/lib/cjs/constants/Notifications.d.ts +2 -0
- package/lib/cjs/constants/Notifications.d.ts.map +1 -1
- package/lib/cjs/constants/Notifications.js +6 -1
- package/lib/cjs/constants/Notifications.js.map +1 -1
- package/lib/cjs/hooks/useSCMobileNativePushMessaging.d.ts +20 -0
- package/lib/cjs/hooks/useSCMobileNativePushMessaging.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCMobileNativePushMessaging.js +156 -0
- package/lib/cjs/hooks/useSCMobileNativePushMessaging.js.map +1 -0
- package/lib/cjs/hooks/useSCWebPushMessaging.d.ts +10 -1
- package/lib/cjs/hooks/useSCWebPushMessaging.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCWebPushMessaging.js +57 -15
- package/lib/cjs/hooks/useSCWebPushMessaging.js.map +1 -1
- package/lib/cjs/hooks/useSCWebSocket.d.ts +1 -1
- package/lib/cjs/hooks/useSCWebSocket.js +1 -1
- package/lib/cjs/types/context.d.ts +17 -0
- package/lib/cjs/types/context.d.ts.map +1 -1
- package/lib/cjs/utils/errors.d.ts +2 -0
- package/lib/cjs/utils/errors.d.ts.map +1 -1
- package/lib/cjs/utils/errors.js +4 -0
- package/lib/cjs/utils/errors.js.map +1 -1
- package/lib/cjs/utils/notification.d.ts +9 -0
- package/lib/cjs/utils/notification.d.ts.map +1 -0
- package/lib/cjs/utils/notification.js +21 -0
- package/lib/cjs/utils/notification.js.map +1 -0
- package/lib/cjs/utils/validator.d.ts +29 -2
- package/lib/cjs/utils/validator.d.ts.map +1 -1
- package/lib/cjs/utils/validator.js +64 -4
- package/lib/cjs/utils/validator.js.map +1 -1
- package/lib/esm/components/provider/SCNotificationProvider/index.d.ts.map +1 -1
- package/lib/esm/components/provider/SCNotificationProvider/index.js +3 -1
- package/lib/esm/components/provider/SCNotificationProvider/index.js.map +1 -1
- package/lib/esm/constants/Device.d.ts +22 -0
- package/lib/esm/constants/Device.d.ts.map +1 -1
- package/lib/esm/constants/Device.js +26 -0
- package/lib/esm/constants/Device.js.map +1 -1
- package/lib/esm/constants/Notifications.d.ts +2 -0
- package/lib/esm/constants/Notifications.d.ts.map +1 -1
- package/lib/esm/constants/Notifications.js +5 -0
- package/lib/esm/constants/Notifications.js.map +1 -1
- package/lib/esm/hooks/useSCMobileNativePushMessaging.d.ts +20 -0
- package/lib/esm/hooks/useSCMobileNativePushMessaging.d.ts.map +1 -0
- package/lib/esm/hooks/useSCMobileNativePushMessaging.js +153 -0
- package/lib/esm/hooks/useSCMobileNativePushMessaging.js.map +1 -0
- package/lib/esm/hooks/useSCWebPushMessaging.d.ts +10 -1
- package/lib/esm/hooks/useSCWebPushMessaging.d.ts.map +1 -1
- package/lib/esm/hooks/useSCWebPushMessaging.js +56 -15
- package/lib/esm/hooks/useSCWebPushMessaging.js.map +1 -1
- package/lib/esm/hooks/useSCWebSocket.d.ts +1 -1
- package/lib/esm/hooks/useSCWebSocket.js +1 -1
- package/lib/esm/types/context.d.ts +17 -0
- package/lib/esm/types/context.d.ts.map +1 -1
- package/lib/esm/utils/errors.d.ts +2 -0
- package/lib/esm/utils/errors.d.ts.map +1 -1
- package/lib/esm/utils/errors.js +4 -0
- package/lib/esm/utils/errors.js.map +1 -1
- package/lib/esm/utils/notification.d.ts +9 -0
- package/lib/esm/utils/notification.d.ts.map +1 -0
- package/lib/esm/utils/notification.js +16 -0
- package/lib/esm/utils/notification.js.map +1 -0
- package/lib/esm/utils/validator.d.ts +29 -2
- package/lib/esm/utils/validator.d.ts.map +1 -1
- package/lib/esm/utils/validator.js +61 -3
- package/lib/esm/utils/validator.js.map +1 -1
- package/lib/umd/react-core.js +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/provider/SCNotificationProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/provider/SCNotificationProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AAKzD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,0CAA4E,CAAC;AAE/G;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAC,QAAe,EAAC,EAAE;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,GAAG,GAAG,CAAC,OAAO,CAM1G;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,yBAAyB,CAE7D"}
|
|
@@ -30,6 +30,7 @@ exports.useSCNotification = exports.SCNotificationContext = void 0;
|
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
31
|
const useSCWebSocket_1 = __importDefault(require("../../../hooks/useSCWebSocket"));
|
|
32
32
|
const useSCWebPushMessaging_1 = __importDefault(require("../../../hooks/useSCWebPushMessaging"));
|
|
33
|
+
const useSCMobileNativePushMessaging_1 = __importDefault(require("../../../hooks/useSCMobileNativePushMessaging"));
|
|
33
34
|
/**
|
|
34
35
|
* Creates Global Context
|
|
35
36
|
*
|
|
@@ -59,7 +60,8 @@ exports.SCNotificationContext = (0, react_1.createContext)({});
|
|
|
59
60
|
function SCNotificationProvider({ children = null }) {
|
|
60
61
|
const { wsInstance } = (0, useSCWebSocket_1.default)();
|
|
61
62
|
const { wpSubscription } = (0, useSCWebPushMessaging_1.default)();
|
|
62
|
-
|
|
63
|
+
const { mnpmInstance } = (0, useSCMobileNativePushMessaging_1.default)();
|
|
64
|
+
return react_1.default.createElement(exports.SCNotificationContext.Provider, { value: { wsInstance, wpSubscription, mnpmInstance } }, children);
|
|
63
65
|
}
|
|
64
66
|
exports.default = SCNotificationProvider;
|
|
65
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/provider/SCNotificationProvider/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuD;AAEvD,mFAA2D;AAC3D,iGAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/provider/SCNotificationProvider/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuD;AAEvD,mFAA2D;AAC3D,iGAAyE;AACzE,mHAA2F;AAE3F;;;;;;;;;;;;;;;GAeG;AACU,QAAA,qBAAqB,GAAG,IAAA,qBAAa,EAA4B,EAA+B,CAAC,CAAC;AAE/G;;;;;;;;GAQG;AACH,SAAwB,sBAAsB,CAAC,EAAC,QAAQ,GAAG,IAAI,EAA8B;IAC3F,MAAM,EAAC,UAAU,EAAC,GAAG,IAAA,wBAAc,GAAE,CAAC;IACtC,MAAM,EAAC,cAAc,EAAC,GAAG,IAAA,+BAAqB,GAAE,CAAC;IACjD,MAAM,EAAC,YAAY,EAAC,GAAG,IAAA,wCAA8B,GAAE,CAAC;IAExD,OAAO,8BAAC,6BAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAC,IAAG,QAAQ,CAAkC,CAAC;AACxI,CAAC;AAND,yCAMC;AAED;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,kBAAU,EAAC,6BAAqB,CAAC,CAAC;AAC3C,CAAC;AAFD,8CAEC"}
|
|
@@ -3,4 +3,26 @@
|
|
|
3
3
|
* Used in Endpoint (Device)
|
|
4
4
|
*/
|
|
5
5
|
export declare const WEB_PUSH_NOTIFICATION_DEVICE_TYPE = "wp";
|
|
6
|
+
export declare const ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE = "gcm";
|
|
7
|
+
export declare const ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE = "fcm";
|
|
8
|
+
export declare const IOS_PUSH_NOTIFICATION_IOS_DEVICE_TYPE = "apns";
|
|
9
|
+
/**
|
|
10
|
+
* Platform
|
|
11
|
+
*/
|
|
12
|
+
export declare const PLATFORM: {
|
|
13
|
+
ANDROID: string;
|
|
14
|
+
IOS: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const PLATFORMS: any[];
|
|
17
|
+
/**
|
|
18
|
+
* Notifications service
|
|
19
|
+
*/
|
|
20
|
+
export declare const NOTIFICATIONS_SERVICES: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Const to enable native push notification
|
|
23
|
+
*/
|
|
24
|
+
export declare const PLATFORM_KEY = "app-platform";
|
|
25
|
+
export declare const REGISTRATION_ID_KEY = "app-registrationId";
|
|
26
|
+
export declare const NOTIFICATION_SERVICE_KEY = "app-notificationService";
|
|
27
|
+
export declare const DEVICE_ID_KEY = "app-deviceId";
|
|
6
28
|
//# sourceMappingURL=Device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../src/constants/Device.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../src/constants/Device.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AACtD,eAAO,MAAM,yCAAyC,QAAQ,CAAC;AAC/D,eAAO,MAAM,yCAAyC,QAAQ,CAAC;AAC/D,eAAO,MAAM,qCAAqC,SAAS,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AACF,eAAO,MAAM,SAAS,OAAwD,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAIlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAClE,eAAO,MAAM,aAAa,iBAAiB,CAAC"}
|
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WEB_PUSH_NOTIFICATION_DEVICE_TYPE = void 0;
|
|
3
|
+
exports.DEVICE_ID_KEY = exports.NOTIFICATION_SERVICE_KEY = exports.REGISTRATION_ID_KEY = exports.PLATFORM_KEY = exports.NOTIFICATIONS_SERVICES = exports.PLATFORMS = exports.PLATFORM = exports.IOS_PUSH_NOTIFICATION_IOS_DEVICE_TYPE = exports.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE = exports.ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE = exports.WEB_PUSH_NOTIFICATION_DEVICE_TYPE = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Web push notification device type
|
|
6
6
|
* Used in Endpoint (Device)
|
|
7
7
|
*/
|
|
8
8
|
exports.WEB_PUSH_NOTIFICATION_DEVICE_TYPE = 'wp';
|
|
9
|
+
exports.ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE = 'gcm';
|
|
10
|
+
exports.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE = 'fcm';
|
|
11
|
+
exports.IOS_PUSH_NOTIFICATION_IOS_DEVICE_TYPE = 'apns';
|
|
12
|
+
/**
|
|
13
|
+
* Platform
|
|
14
|
+
*/
|
|
15
|
+
exports.PLATFORM = {
|
|
16
|
+
ANDROID: 'Android',
|
|
17
|
+
IOS: 'iOS',
|
|
18
|
+
};
|
|
19
|
+
exports.PLATFORMS = Object.keys(exports.PLATFORM).map((k) => exports.PLATFORM[k]);
|
|
20
|
+
/**
|
|
21
|
+
* Notifications service
|
|
22
|
+
*/
|
|
23
|
+
exports.NOTIFICATIONS_SERVICES = [
|
|
24
|
+
exports.ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE,
|
|
25
|
+
exports.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE,
|
|
26
|
+
exports.IOS_PUSH_NOTIFICATION_IOS_DEVICE_TYPE,
|
|
27
|
+
];
|
|
28
|
+
/**
|
|
29
|
+
* Const to enable native push notification
|
|
30
|
+
*/
|
|
31
|
+
exports.PLATFORM_KEY = 'app-platform';
|
|
32
|
+
exports.REGISTRATION_ID_KEY = 'app-registrationId';
|
|
33
|
+
exports.NOTIFICATION_SERVICE_KEY = 'app-notificationService';
|
|
34
|
+
exports.DEVICE_ID_KEY = 'app-deviceId';
|
|
9
35
|
//# sourceMappingURL=Device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.js","sourceRoot":"","sources":["../../../src/constants/Device.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iCAAiC,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"Device.js","sourceRoot":"","sources":["../../../src/constants/Device.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,iCAAiC,GAAG,IAAI,CAAC;AACzC,QAAA,yCAAyC,GAAG,KAAK,CAAC;AAClD,QAAA,yCAAyC,GAAG,KAAK,CAAC;AAClD,QAAA,qCAAqC,GAAG,MAAM,CAAC;AAE5D;;GAEG;AACU,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;CACX,CAAC;AACW,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,iDAAyC;IACzC,iDAAyC;IACzC,6CAAqC;CACtC,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,mBAAmB,GAAG,oBAAoB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,yBAAyB,CAAC;AACrD,QAAA,aAAa,GAAG,cAAc,CAAC"}
|
|
@@ -5,8 +5,10 @@ import { SCNotificationsType } from '../types/context';
|
|
|
5
5
|
export declare const NOTIFICATIONS_OPTION = "notifications";
|
|
6
6
|
export declare const NOTIFICATIONS_WEB_SOCKET_OPTION = "webSocket";
|
|
7
7
|
export declare const NOTIFICATIONS_WEB_PUSH_MESSAGING_OPTION = "webPushMessaging";
|
|
8
|
+
export declare const NOTIFICATIONS_MOBILE_NATIVE_PUSH_MESSAGING_OPTION = "mobileNativePushMessaging";
|
|
8
9
|
export declare const NOTIFICATIONS_WEB_PUSH_MESSAGING_DIALOG_COOKIE = "wpnDialogDisabled";
|
|
9
10
|
export declare const NOTIFICATIONS_DISABLE_TOAST_MESSAGE_OPTION = "disableToastMessage";
|
|
11
|
+
export declare const NOTIFICATIONS_MOBILE_NATIVE_DISABLE_OPTION = "disable";
|
|
10
12
|
export declare const NOTIFICATIONS_SECURE_OPTION = "secure";
|
|
11
13
|
export declare const NOTIFICATIONS_APPLICATION_SERVER_KEY_OPTION = "applicationServerKey";
|
|
12
14
|
export declare const DEFAULT_NOTIFICATIONS: SCNotificationsType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notifications.d.ts","sourceRoot":"","sources":["../../../src/constants/Notifications.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,+BAA+B,cAAc,CAAC;AAC3D,eAAO,MAAM,uCAAuC,qBAAqB,CAAC;AAC1E,eAAO,MAAM,8CAA8C,sBAAsB,CAAC;AAClF,eAAO,MAAM,0CAA0C,wBAAwB,CAAC;AAChF,eAAO,MAAM,2BAA2B,WAAW,CAAC;AACpD,eAAO,MAAM,2CAA2C,yBAAyB,CAAC;AAClF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"Notifications.d.ts","sourceRoot":"","sources":["../../../src/constants/Notifications.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,+BAA+B,cAAc,CAAC;AAC3D,eAAO,MAAM,uCAAuC,qBAAqB,CAAC;AAC1E,eAAO,MAAM,iDAAiD,8BAA8B,CAAC;AAC7F,eAAO,MAAM,8CAA8C,sBAAsB,CAAC;AAClF,eAAO,MAAM,0CAA0C,wBAAwB,CAAC;AAChF,eAAO,MAAM,0CAA0C,YAAY,CAAC;AACpE,eAAO,MAAM,2BAA2B,WAAW,CAAC;AACpD,eAAO,MAAM,2CAA2C,yBAAyB,CAAC;AAClF,eAAO,MAAM,qBAAqB,EAAE,mBAWnC,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_NOTIFICATIONS = exports.NOTIFICATIONS_APPLICATION_SERVER_KEY_OPTION = exports.NOTIFICATIONS_SECURE_OPTION = exports.NOTIFICATIONS_DISABLE_TOAST_MESSAGE_OPTION = exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_DIALOG_COOKIE = exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_OPTION = exports.NOTIFICATIONS_WEB_SOCKET_OPTION = exports.NOTIFICATIONS_OPTION = void 0;
|
|
3
|
+
exports.DEFAULT_NOTIFICATIONS = exports.NOTIFICATIONS_APPLICATION_SERVER_KEY_OPTION = exports.NOTIFICATIONS_SECURE_OPTION = exports.NOTIFICATIONS_MOBILE_NATIVE_DISABLE_OPTION = exports.NOTIFICATIONS_DISABLE_TOAST_MESSAGE_OPTION = exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_DIALOG_COOKIE = exports.NOTIFICATIONS_MOBILE_NATIVE_PUSH_MESSAGING_OPTION = exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_OPTION = exports.NOTIFICATIONS_WEB_SOCKET_OPTION = exports.NOTIFICATIONS_OPTION = void 0;
|
|
4
4
|
exports.NOTIFICATIONS_OPTION = 'notifications';
|
|
5
5
|
exports.NOTIFICATIONS_WEB_SOCKET_OPTION = 'webSocket';
|
|
6
6
|
exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_OPTION = 'webPushMessaging';
|
|
7
|
+
exports.NOTIFICATIONS_MOBILE_NATIVE_PUSH_MESSAGING_OPTION = 'mobileNativePushMessaging';
|
|
7
8
|
exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_DIALOG_COOKIE = 'wpnDialogDisabled';
|
|
8
9
|
exports.NOTIFICATIONS_DISABLE_TOAST_MESSAGE_OPTION = 'disableToastMessage';
|
|
10
|
+
exports.NOTIFICATIONS_MOBILE_NATIVE_DISABLE_OPTION = 'disable';
|
|
9
11
|
exports.NOTIFICATIONS_SECURE_OPTION = 'secure';
|
|
10
12
|
exports.NOTIFICATIONS_APPLICATION_SERVER_KEY_OPTION = 'applicationServerKey';
|
|
11
13
|
exports.DEFAULT_NOTIFICATIONS = {
|
|
@@ -16,5 +18,8 @@ exports.DEFAULT_NOTIFICATIONS = {
|
|
|
16
18
|
[exports.NOTIFICATIONS_WEB_PUSH_MESSAGING_OPTION]: {
|
|
17
19
|
[exports.NOTIFICATIONS_DISABLE_TOAST_MESSAGE_OPTION]: true,
|
|
18
20
|
},
|
|
21
|
+
[exports.NOTIFICATIONS_MOBILE_NATIVE_PUSH_MESSAGING_OPTION]: {
|
|
22
|
+
[exports.NOTIFICATIONS_MOBILE_NATIVE_DISABLE_OPTION]: false,
|
|
23
|
+
},
|
|
19
24
|
};
|
|
20
25
|
//# sourceMappingURL=Notifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../src/constants/Notifications.ts"],"names":[],"mappings":";;;AAKa,QAAA,oBAAoB,GAAG,eAAe,CAAC;AACvC,QAAA,+BAA+B,GAAG,WAAW,CAAC;AAC9C,QAAA,uCAAuC,GAAG,kBAAkB,CAAC;AAC7D,QAAA,8CAA8C,GAAG,mBAAmB,CAAC;AACrE,QAAA,0CAA0C,GAAG,qBAAqB,CAAC;AACnE,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,2CAA2C,GAAG,sBAAsB,CAAC;AACrE,QAAA,qBAAqB,GAAwB;IACxD,CAAC,uCAA+B,CAAC,EAAE;QACjC,CAAC,kDAA0C,CAAC,EAAE,KAAK;QACnD,CAAC,mCAA2B,CAAC,EAAE,IAAI;KACpC;IACD,CAAC,+CAAuC,CAAC,EAAE;QACzC,CAAC,kDAA0C,CAAC,EAAE,IAAI;KACnD;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../src/constants/Notifications.ts"],"names":[],"mappings":";;;AAKa,QAAA,oBAAoB,GAAG,eAAe,CAAC;AACvC,QAAA,+BAA+B,GAAG,WAAW,CAAC;AAC9C,QAAA,uCAAuC,GAAG,kBAAkB,CAAC;AAC7D,QAAA,iDAAiD,GAAG,2BAA2B,CAAC;AAChF,QAAA,8CAA8C,GAAG,mBAAmB,CAAC;AACrE,QAAA,0CAA0C,GAAG,qBAAqB,CAAC;AACnE,QAAA,0CAA0C,GAAG,SAAS,CAAC;AACvD,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,2CAA2C,GAAG,sBAAsB,CAAC;AACrE,QAAA,qBAAqB,GAAwB;IACxD,CAAC,uCAA+B,CAAC,EAAE;QACjC,CAAC,kDAA0C,CAAC,EAAE,KAAK;QACnD,CAAC,mCAA2B,CAAC,EAAE,IAAI;KACpC;IACD,CAAC,+CAAuC,CAAC,EAAE;QACzC,CAAC,kDAA0C,CAAC,EAAE,IAAI;KACnD;IACD,CAAC,yDAAiD,CAAC,EAAE;QACnD,CAAC,kDAA0C,CAAC,EAAE,KAAK;KACpD;CACF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SCDeviceType } from '@selfcommunity/types';
|
|
3
|
+
/**
|
|
4
|
+
:::info
|
|
5
|
+
This custom hook is used to manage native push notification:
|
|
6
|
+
- register device (Android/iOS)
|
|
7
|
+
- unregister device (Android/iOS)
|
|
8
|
+
!important: the device is registered only if exist in the global window
|
|
9
|
+
object (or as keys in the localstorage) the follow:
|
|
10
|
+
- _platform: <android|iOS>
|
|
11
|
+
- _notification_service: <gcm:fcm:apns>
|
|
12
|
+
- _registration_id: <registration_id>
|
|
13
|
+
- _device_id: <device_id>
|
|
14
|
+
:::
|
|
15
|
+
*/
|
|
16
|
+
export default function useSCMobileNativePushMessaging(): {
|
|
17
|
+
mnpmInstance: SCDeviceType;
|
|
18
|
+
setMnpmInstance: import("react").Dispatch<import("react").SetStateAction<SCDeviceType>>;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useSCMobileNativePushMessaging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSCMobileNativePushMessaging.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCMobileNativePushMessaging.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,YAAY,EAAY,MAAM,sBAAsB,CAAC;AAoB7D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B;;;EA6JrD"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
const SCContextProvider_1 = require("../components/provider/SCContextProvider");
|
|
5
|
+
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
6
|
+
const utils_1 = require("@selfcommunity/utils");
|
|
7
|
+
const Errors_1 = require("../constants/Errors");
|
|
8
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
9
|
+
const Device_1 = require("../constants/Device");
|
|
10
|
+
const notification_1 = require("../utils/notification");
|
|
11
|
+
/**
|
|
12
|
+
:::info
|
|
13
|
+
This custom hook is used to manage native push notification:
|
|
14
|
+
- register device (Android/iOS)
|
|
15
|
+
- unregister device (Android/iOS)
|
|
16
|
+
!important: the device is registered only if exist in the global window
|
|
17
|
+
object (or as keys in the localstorage) the follow:
|
|
18
|
+
- _platform: <android|iOS>
|
|
19
|
+
- _notification_service: <gcm:fcm:apns>
|
|
20
|
+
- _registration_id: <registration_id>
|
|
21
|
+
- _device_id: <device_id>
|
|
22
|
+
:::
|
|
23
|
+
*/
|
|
24
|
+
function useSCMobileNativePushMessaging() {
|
|
25
|
+
const scContext = (0, SCContextProvider_1.useSCContext)();
|
|
26
|
+
const scUserContext = (0, SCUserProvider_1.useSCUser)();
|
|
27
|
+
const [mnpmInstance, setMnpmInstance] = (0, react_1.useState)(null);
|
|
28
|
+
const [isLoading, setLoading] = (0, react_1.useState)(false);
|
|
29
|
+
/**
|
|
30
|
+
* Validate notification service
|
|
31
|
+
* @param data
|
|
32
|
+
*/
|
|
33
|
+
const isValid = (data) => {
|
|
34
|
+
return (data &&
|
|
35
|
+
data.registration_id &&
|
|
36
|
+
((data.platform === Device_1.PLATFORM.ANDROID &&
|
|
37
|
+
(data.notification_service === Device_1.ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE ||
|
|
38
|
+
data.notification_service === Device_1.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE)) ||
|
|
39
|
+
(data.platform === Device_1.PLATFORM.IOS &&
|
|
40
|
+
(data.notification_service === Device_1.IOS_PUSH_NOTIFICATION_IOS_DEVICE_TYPE ||
|
|
41
|
+
data.notification_service === Device_1.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE))));
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Get url type based on the notification_service
|
|
45
|
+
* If notification_service is fcm -> fallback to ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE
|
|
46
|
+
* Backend support gcm or apns as url type (use cloud_message_type=fcm in the body request to select fcm service)
|
|
47
|
+
* @param data
|
|
48
|
+
*/
|
|
49
|
+
const getUrlType = (data) => {
|
|
50
|
+
if (data.notification_service === Device_1.ANDROID_PUSH_NOTIFICATION_FCM_DEVICE_TYPE) {
|
|
51
|
+
return Device_1.ANDROID_PUSH_NOTIFICATION_GCM_DEVICE_TYPE;
|
|
52
|
+
}
|
|
53
|
+
return data.notification_service;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Perform device registration
|
|
57
|
+
* @param data
|
|
58
|
+
* @param remove
|
|
59
|
+
*/
|
|
60
|
+
const performUpdateDevice = (data, remove = false) => {
|
|
61
|
+
const url = remove
|
|
62
|
+
? api_services_1.Endpoints.DeleteDevice.url({ type: getUrlType(data), id: data.registration_id })
|
|
63
|
+
: api_services_1.Endpoints.NewDevice.url({ type: getUrlType(data) });
|
|
64
|
+
const method = remove ? api_services_1.Endpoints.DeleteDevice.method : api_services_1.Endpoints.NewDevice.method;
|
|
65
|
+
setLoading(true);
|
|
66
|
+
return api_services_1.http
|
|
67
|
+
.request(Object.assign({ url,
|
|
68
|
+
method }, (remove
|
|
69
|
+
? {}
|
|
70
|
+
: {
|
|
71
|
+
data: Object.assign({ registration_id: data.registration_id, cloud_message_type: data.notification_service.toUpperCase(), name: `${data.platform} device` }, (data.device_id ? { device_id: data.device_id } : {})),
|
|
72
|
+
})))
|
|
73
|
+
.then((res) => {
|
|
74
|
+
if (res.status >= 300) {
|
|
75
|
+
return Promise.reject(res);
|
|
76
|
+
}
|
|
77
|
+
setLoading(false);
|
|
78
|
+
return Promise.resolve(res.data);
|
|
79
|
+
})
|
|
80
|
+
.catch((e) => {
|
|
81
|
+
setLoading(false);
|
|
82
|
+
return Promise.reject(e);
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Collect data
|
|
87
|
+
*/
|
|
88
|
+
const getDataInstance = () => {
|
|
89
|
+
if (window &&
|
|
90
|
+
window[Device_1.PLATFORM_KEY] &&
|
|
91
|
+
Device_1.PLATFORMS.includes(window[Device_1.PLATFORM_KEY]) &&
|
|
92
|
+
window[Device_1.REGISTRATION_ID_KEY] &&
|
|
93
|
+
window[Device_1.NOTIFICATION_SERVICE_KEY] &&
|
|
94
|
+
Device_1.NOTIFICATIONS_SERVICES.includes(window[Device_1.NOTIFICATION_SERVICE_KEY])) {
|
|
95
|
+
return Object.assign({ platform: window[Device_1.PLATFORM_KEY], registration_id: window[Device_1.REGISTRATION_ID_KEY], notification_service: window[Device_1.NOTIFICATION_SERVICE_KEY] }, (window[Device_1.DEVICE_ID_KEY] ? { device_id: window[Device_1.DEVICE_ID_KEY] } : {}));
|
|
96
|
+
}
|
|
97
|
+
else if (utils_1.LocalStorageDB.checkifSupport() &&
|
|
98
|
+
utils_1.LocalStorageDB.get(Device_1.PLATFORM_KEY) &&
|
|
99
|
+
Device_1.PLATFORMS.includes(utils_1.LocalStorageDB.get(Device_1.PLATFORM_KEY)) &&
|
|
100
|
+
utils_1.LocalStorageDB.get(Device_1.REGISTRATION_ID_KEY) &&
|
|
101
|
+
utils_1.LocalStorageDB.get(Device_1.NOTIFICATION_SERVICE_KEY) &&
|
|
102
|
+
Device_1.NOTIFICATIONS_SERVICES.includes(utils_1.LocalStorageDB.get(Device_1.NOTIFICATION_SERVICE_KEY))) {
|
|
103
|
+
return Object.assign({ platform: utils_1.LocalStorageDB.get(Device_1.PLATFORM_KEY), registration_id: utils_1.LocalStorageDB.get(Device_1.REGISTRATION_ID_KEY), notification_service: utils_1.LocalStorageDB.get(Device_1.NOTIFICATION_SERVICE_KEY) }, (window[Device_1.DEVICE_ID_KEY] ? { device_id: window[Device_1.DEVICE_ID_KEY] } : {}));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Unsubscribe device
|
|
111
|
+
*/
|
|
112
|
+
const unsubscribeDevice = () => {
|
|
113
|
+
if (mnpmInstance && !isLoading) {
|
|
114
|
+
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Mobile native notification is disabled. Unregister the device.');
|
|
115
|
+
performUpdateDevice(mnpmInstance, true)
|
|
116
|
+
.then((res) => {
|
|
117
|
+
setMnpmInstance(null);
|
|
118
|
+
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Device unregistration successful. Your device will not be able to receive mobile push notifications.');
|
|
119
|
+
})
|
|
120
|
+
.catch(() => {
|
|
121
|
+
setMnpmInstance(null);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Check if there is a currently active session and a
|
|
127
|
+
* instance when the provider is mounted for the first time.
|
|
128
|
+
*/
|
|
129
|
+
(0, react_1.useEffect)(() => {
|
|
130
|
+
if (scUserContext.user && (0, notification_1.isMobileNativeNotificationEnabled)() && !scContext.settings.notifications.mobileNativePushMessaging.disable) {
|
|
131
|
+
const _data = getDataInstance();
|
|
132
|
+
if (isValid(_data)) {
|
|
133
|
+
if ((!mnpmInstance || (mnpmInstance && mnpmInstance.registration_id !== _data.registration_id)) && !isLoading) {
|
|
134
|
+
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Mobile native notification is enabled. Checking and validate data...');
|
|
135
|
+
// Register the device only if app-platform and app-registrationId and app-notificationService
|
|
136
|
+
// exists in window/localStorage
|
|
137
|
+
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Data is valid to register the device for receive mobile push notification.');
|
|
138
|
+
performUpdateDevice(_data).then((res) => {
|
|
139
|
+
setMnpmInstance(Object.assign(Object.assign({}, _data), { id: res.id }));
|
|
140
|
+
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Device registration successful. Your device will now be able to receive mobile push notifications.');
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, 'Invalid data. Unable to register the device for native push notification.');
|
|
146
|
+
unsubscribeDevice();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
unsubscribeDevice();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
return { mnpmInstance, setMnpmInstance };
|
|
154
|
+
}
|
|
155
|
+
exports.default = useSCMobileNativePushMessaging;
|
|
156
|
+
//# sourceMappingURL=useSCMobileNativePushMessaging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSCMobileNativePushMessaging.js","sourceRoot":"","sources":["../../../src/hooks/useSCMobileNativePushMessaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { SnackbarKey } from 'notistack';
|
|
2
|
+
/**
|
|
3
|
+
* Browser supported on backend
|
|
4
|
+
*/
|
|
5
|
+
export declare const CHROME_BROWSER_TYPE = "chrome";
|
|
6
|
+
export declare const FIREFOX_BROWSER_TYPE = "firefox";
|
|
7
|
+
export declare const OPERA_BROWSER_TYPE = "opera";
|
|
8
|
+
export declare const EDGE_BROWSER_TYPE = "edge";
|
|
9
|
+
export declare const DEFAULT_BROWSER_TYPE = "chrome";
|
|
10
|
+
export declare const SUPPORTED_BROWSER_TYPES: string[];
|
|
2
11
|
/**
|
|
3
12
|
:::info
|
|
4
|
-
This custom hook is used to
|
|
13
|
+
This custom hook is used to init web push messaging.
|
|
5
14
|
:::
|
|
6
15
|
*/
|
|
7
16
|
export default function useSCWebPushMessaging(): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCWebPushMessaging.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCWebPushMessaging.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAC,WAAW,EAAc,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useSCWebPushMessaging.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCWebPushMessaging.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAC,WAAW,EAAc,MAAM,WAAW,CAAC;AAOnD;;GAEG;AACH,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,oBAAoB,WAAsB,CAAC;AACxD,eAAO,MAAM,uBAAuB,UAAqF,CAAC;AAE1H;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB;;gDAkPQ,WAAW,GAAG,IAAI;EAuGtE"}
|
|
@@ -26,6 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.SUPPORTED_BROWSER_TYPES = exports.DEFAULT_BROWSER_TYPE = exports.EDGE_BROWSER_TYPE = exports.OPERA_BROWSER_TYPE = exports.FIREFOX_BROWSER_TYPE = exports.CHROME_BROWSER_TYPE = void 0;
|
|
29
30
|
const react_1 = __importStar(require("react"));
|
|
30
31
|
const SCContextProvider_1 = require("../components/provider/SCContextProvider");
|
|
31
32
|
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
@@ -41,9 +42,19 @@ const SCPreferences = __importStar(require("../constants/Preferences"));
|
|
|
41
42
|
const Notifications_1 = require("../constants/Notifications");
|
|
42
43
|
const js_cookie_1 = __importDefault(require("js-cookie"));
|
|
43
44
|
const react_intl_1 = require("react-intl");
|
|
45
|
+
const notification_1 = require("../utils/notification");
|
|
46
|
+
/**
|
|
47
|
+
* Browser supported on backend
|
|
48
|
+
*/
|
|
49
|
+
exports.CHROME_BROWSER_TYPE = 'chrome';
|
|
50
|
+
exports.FIREFOX_BROWSER_TYPE = 'firefox';
|
|
51
|
+
exports.OPERA_BROWSER_TYPE = 'opera';
|
|
52
|
+
exports.EDGE_BROWSER_TYPE = 'edge';
|
|
53
|
+
exports.DEFAULT_BROWSER_TYPE = exports.CHROME_BROWSER_TYPE;
|
|
54
|
+
exports.SUPPORTED_BROWSER_TYPES = [exports.CHROME_BROWSER_TYPE, exports.FIREFOX_BROWSER_TYPE, exports.OPERA_BROWSER_TYPE, exports.EDGE_BROWSER_TYPE];
|
|
44
55
|
/**
|
|
45
56
|
:::info
|
|
46
|
-
This custom hook is used to
|
|
57
|
+
This custom hook is used to init web push messaging.
|
|
47
58
|
:::
|
|
48
59
|
*/
|
|
49
60
|
function useSCWebPushMessaging() {
|
|
@@ -63,7 +74,7 @@ function useSCWebPushMessaging() {
|
|
|
63
74
|
: SCPreferences.PROVIDERS_WEB_PUSH_PUBLIC_KEY in scPreferencesContext.preferences
|
|
64
75
|
? scPreferencesContext.preferences[SCPreferences.PROVIDERS_WEB_PUSH_PUBLIC_KEY].value
|
|
65
76
|
: null;
|
|
66
|
-
const
|
|
77
|
+
const webPushPreferenceEnabled = SCPreferences.PROVIDERS_WEB_PUSH_ENABLED in scPreferencesContext.preferences &&
|
|
67
78
|
scPreferencesContext.preferences[SCPreferences.PROVIDERS_WEB_PUSH_ENABLED].value
|
|
68
79
|
? scPreferencesContext.preferences[SCPreferences.PROVIDERS_WEB_PUSH_ENABLED].value
|
|
69
80
|
: false;
|
|
@@ -89,12 +100,15 @@ function useSCWebPushMessaging() {
|
|
|
89
100
|
/**
|
|
90
101
|
* Close the SnackBar dialog if the request notification permission
|
|
91
102
|
* came from the custom dialog
|
|
92
|
-
* @param
|
|
103
|
+
* @param snackbarId
|
|
93
104
|
*/
|
|
94
105
|
const closeRequestNotificationSnackbar = (snackbarId) => {
|
|
95
106
|
if (snackbarId) {
|
|
96
107
|
closeSnackbar(snackbarId);
|
|
97
|
-
|
|
108
|
+
// To set expiration in minutes:
|
|
109
|
+
// let inFifteenMinutes = new Date(new Date().getTime() + 15 * 60 * 1000);
|
|
110
|
+
// {expires: inFifteenMinutes}
|
|
111
|
+
js_cookie_1.default.set(Notifications_1.NOTIFICATIONS_WEB_PUSH_MESSAGING_DIALOG_COOKIE, '1', { expires: 1 });
|
|
98
112
|
}
|
|
99
113
|
};
|
|
100
114
|
/**
|
|
@@ -117,20 +131,45 @@ function useSCWebPushMessaging() {
|
|
|
117
131
|
return Promise.resolve(res.data);
|
|
118
132
|
});
|
|
119
133
|
};
|
|
134
|
+
/**
|
|
135
|
+
* Return browser type
|
|
136
|
+
* Fallback to DEFAULT_BROWSER_TYPE if the browser detected not in SUPPORTED_BROWSER_TYPES
|
|
137
|
+
*/
|
|
138
|
+
const getBrowserType = (browser) => {
|
|
139
|
+
if (exports.SUPPORTED_BROWSER_TYPES.indexOf(browser.name) < 0) {
|
|
140
|
+
return exports.DEFAULT_BROWSER_TYPE;
|
|
141
|
+
}
|
|
142
|
+
return browser.name;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Return registrationId based on browser type and subscription
|
|
146
|
+
* Fallback to subscription.endpoint if the browser detected not in SUPPORTED_BROWSER_TYPES
|
|
147
|
+
*/
|
|
148
|
+
const getRegistrationId = (browser, sub) => {
|
|
149
|
+
if (exports.SUPPORTED_BROWSER_TYPES.indexOf(browser.name) < 0) {
|
|
150
|
+
return sub.endpoint;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const endpointParts = sub.endpoint.split('/');
|
|
154
|
+
return endpointParts[endpointParts.length - 1];
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
return sub.endpoint;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
120
160
|
/**
|
|
121
161
|
* updateSubscriptionOnServer to sync current subscription
|
|
122
162
|
* @param sub
|
|
163
|
+
* @param remove
|
|
123
164
|
*/
|
|
124
165
|
const updateSubscriptionOnServer = (sub, remove) => {
|
|
125
166
|
const browser = (0, utils_2.loadVersionBrowser)();
|
|
126
|
-
const endpointParts = sub.endpoint.split('/');
|
|
127
|
-
const registration_id = endpointParts[endpointParts.length - 1];
|
|
128
167
|
const data = {
|
|
129
|
-
browser: browser.
|
|
168
|
+
browser: getBrowserType(browser).toUpperCase(),
|
|
130
169
|
p256dh: btoa(String.fromCharCode.apply(null, new Uint8Array(sub.getKey('p256dh')))),
|
|
131
170
|
auth: btoa(String.fromCharCode.apply(null, new Uint8Array(sub.getKey('auth')))),
|
|
132
171
|
user: scUserContext.user ? scUserContext.user.username : '',
|
|
133
|
-
registration_id:
|
|
172
|
+
registration_id: getRegistrationId(browser, sub),
|
|
134
173
|
};
|
|
135
174
|
return performUpdateSubscription(data, remove)
|
|
136
175
|
.then((res) => {
|
|
@@ -205,7 +244,7 @@ function useSCWebPushMessaging() {
|
|
|
205
244
|
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'We aren’t subscribed to push.');
|
|
206
245
|
}
|
|
207
246
|
else {
|
|
208
|
-
updateSubscriptionOnServer(subscription, false);
|
|
247
|
+
void updateSubscriptionOnServer(subscription, false);
|
|
209
248
|
}
|
|
210
249
|
})
|
|
211
250
|
.catch(function (e) {
|
|
@@ -256,7 +295,7 @@ function useSCWebPushMessaging() {
|
|
|
256
295
|
return;
|
|
257
296
|
}
|
|
258
297
|
// Keep your server in sync with the latest subscription
|
|
259
|
-
updateSubscriptionOnServer(subscription, false);
|
|
298
|
+
void updateSubscriptionOnServer(subscription, false);
|
|
260
299
|
})
|
|
261
300
|
.catch((err) => {
|
|
262
301
|
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'Error during getSubscription()');
|
|
@@ -297,7 +336,7 @@ function useSCWebPushMessaging() {
|
|
|
297
336
|
}
|
|
298
337
|
/**
|
|
299
338
|
* Check the current Notification permission.
|
|
300
|
-
* If
|
|
339
|
+
* If it's denied, it's a permanent block until the user changes the permission
|
|
301
340
|
*/
|
|
302
341
|
if (Notification.permission === 'denied') {
|
|
303
342
|
utils_1.Logger.info(Errors_1.SCOPE_SC_CORE, 'The user has blocked Web Push Notifications.');
|
|
@@ -323,9 +362,12 @@ function useSCWebPushMessaging() {
|
|
|
323
362
|
* If web push enabled, applicationServerKey and user is logged, check subscription
|
|
324
363
|
*/
|
|
325
364
|
(0, react_1.useEffect)(() => {
|
|
326
|
-
if (!wpSubscription &&
|
|
327
|
-
if (!
|
|
328
|
-
utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, '
|
|
365
|
+
if (!wpSubscription && scUserContext.user) {
|
|
366
|
+
if (!(0, notification_1.isWebPushMessagingEnabled)()) {
|
|
367
|
+
utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, 'Mobile native notifications replace web push messages with this settings.');
|
|
368
|
+
}
|
|
369
|
+
else if (!webPushPreferenceEnabled || scContext.settings.notifications.webPushMessaging.disableToastMessage) {
|
|
370
|
+
utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, 'This instance is not configured to support web push notifications or they have been disabled.');
|
|
329
371
|
}
|
|
330
372
|
else if (!applicationServerKey) {
|
|
331
373
|
utils_1.Logger.warn(Errors_1.SCOPE_SC_CORE, 'Invalid or missing applicationServerKey. Check the configuration that is passed to the SCContextProvider.');
|
|
@@ -335,7 +377,7 @@ function useSCWebPushMessaging() {
|
|
|
335
377
|
initialiseState();
|
|
336
378
|
}
|
|
337
379
|
}
|
|
338
|
-
if (!scUserContext.user && wpSubscription) {
|
|
380
|
+
if ((!scUserContext.user || !(0, notification_1.isWebPushMessagingEnabled)()) && wpSubscription) {
|
|
339
381
|
// Unsubscribe if user not in session
|
|
340
382
|
unsubscribe();
|
|
341
383
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCWebPushMessaging.js","sourceRoot":"","sources":["../../../src/hooks/useSCWebPushMessaging.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSCWebPushMessaging.js","sourceRoot":"","sources":["../../../src/hooks/useSCWebPushMessaging.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ const WebSocket_1 = require("../constants/WebSocket");
|
|
|
13
13
|
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
14
14
|
/**
|
|
15
15
|
:::info
|
|
16
|
-
This custom hook is used to
|
|
16
|
+
This custom hook is used to init web socket.
|
|
17
17
|
:::
|
|
18
18
|
*/
|
|
19
19
|
function useSCWebSocket() {
|