decord/source/modules/nuf/native/NotificationPermissionUtil.tsx

92 lines
3.7 KiB
TypeScript
Raw Normal View History

2026-07-27 11:26:19 +00:00
// Module ID: 11444
// Function ID: 88984
2026-07-20 16:05:17 +00:00
// Name: _requestPushNotificationPermission
2026-07-27 11:26:19 +00:00
// Dependencies: [57, 5, 31, 27, 11442, 11443, 653, 4345, 10634, 675, 11445, 11451, 11452, 566, 2]
2026-07-20 16:05:17 +00:00
// Exports: enableProvisionalPushNotification, requestPushNotificationPermission, useShouldShowPushNotificationNudgeByPromptType, useShowReactivationPrompt
2026-07-27 11:26:19 +00:00
// Module 11444 (_requestPushNotificationPermission)
2026-07-23 10:11:24 +00:00
import _slicedToArray from "_slicedToArray";
import EventActionType from "EventActionType";
import result from "result";
import { NativeModules } from "get ActivityIndicator";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import { EventActionType } from "EventActionType";
import { AnalyticEvents } from "ME";
import { NotificationAuthorizationStatus as closure_10 } from "NativePermissionStatus";
const require = arg1;
2026-07-20 16:05:17 +00:00
function _requestPushNotificationPermission() {
// CreateGeneratorClosureLongIndex (0x67)
2026-07-23 10:11:24 +00:00
const obj = callback2(tmp);
2026-07-20 16:05:17 +00:00
return obj(...arguments);
}
function _enableProvisionalPushNotification() {
// CreateGeneratorClosureLongIndex (0x67)
2026-07-23 10:11:24 +00:00
const obj = callback2(tmp);
2026-07-20 16:05:17 +00:00
return obj(...arguments);
}
function useCanSeePushNotificationNudge() {
2026-07-27 11:26:19 +00:00
const isTeenInStrictCountry = _require(11452).useIsTeenInStrictCountry();
let obj = _require(11452);
2026-07-23 10:11:24 +00:00
const items = [_isNativeReflectConstruct];
const stateFromStores = _require(566).useStateFromStores(items, () => outer1_7.authorizationStatus);
const tmp3 = callback(React.useState(false), 2);
2026-07-20 16:05:17 +00:00
let first = tmp3[0];
2026-07-23 10:11:24 +00:00
_require = tmp3[1];
2026-07-20 16:05:17 +00:00
const effect = React.useEffect(() => {
2026-07-23 10:11:24 +00:00
const NativePermissionManager = outer1_6.NativePermissionManager;
2026-07-20 16:05:17 +00:00
const notificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus();
notificationAuthorizationStatus.then((authorizationStatus) => {
if (null != authorizationStatus) {
2026-07-23 10:11:24 +00:00
const result = callback(outer2_2[10]).updateNotificationAuthorizationStatus(authorizationStatus);
const obj = callback(outer2_2[10]);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
outer1_0(true);
2026-07-20 16:05:17 +00:00
});
}, []);
if (first) {
first = !isTeenInStrictCountry;
}
if (first) {
first = null != stateFromStores;
}
if (first) {
const items1 = [constants.DENIED, constants.PROVISIONAL, constants.UNDETERMINED];
first = items1.includes(stateFromStores);
}
return first;
}
2026-07-23 10:11:24 +00:00
let result = require("result").fileFinishedImporting("modules/nuf/native/NotificationPermissionUtil.tsx");
2026-07-20 16:05:17 +00:00
export const requestPushNotificationPermission = function requestPushNotificationPermission(ALLOW_TO_REQUEST, ALERT, callback) {
return _requestPushNotificationPermission(...arguments);
};
export const useShowReactivationPrompt = function useShowReactivationPrompt() {
2026-07-23 10:11:24 +00:00
const tmp = callback(React.useState(false), 2);
2026-07-20 16:05:17 +00:00
let closure_0 = tmp[1];
const effect = React.useEffect(() => {
function _shouldShowReactivationPrompts() {
// CreateGeneratorClosureLongIndex (0x67)
2026-07-23 10:11:24 +00:00
const obj = outer2_4(tmp);
2026-07-20 16:05:17 +00:00
return obj(...arguments);
}
2026-07-23 10:11:24 +00:00
!(function shouldShowReactivationPrompts() {
2026-07-20 16:05:17 +00:00
return _shouldShowReactivationPrompts(...arguments);
2026-07-23 10:11:24 +00:00
})();
2026-07-20 16:05:17 +00:00
}, []);
return tmp[0];
};
export const enableProvisionalPushNotification = function enableProvisionalPushNotification() {
return _enableProvisionalPushNotification(...arguments);
};
export { useCanSeePushNotificationNudge };
export const useShouldShowPushNotificationNudgeByPromptType = function useShouldShowPushNotificationNudgeByPromptType(CHANNEL_BANNER) {
let hasItem = useCanSeePushNotificationNudge();
2026-07-23 10:11:24 +00:00
const items = [_isNativeReflectConstruct];
const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_7.getState().eligiblePromptTypes);
2026-07-20 16:05:17 +00:00
if (hasItem) {
hasItem = stateFromStores.has(CHANNEL_BANNER);
}
return hasItem;
};