Files
discord-decomp/sources/modules/nuf/native/NotificationPermissionUtil.tsx
T
2026-07-27 16:20:00 +03:00

197 lines
11 KiB
TypeScript

/* Metro module 11874; source: modules/nuf/native/NotificationPermissionUtil.tsx; dependencies: [57, 5, 31, 27, 11872, 11873, 661, 4661, 10744, 683, 11875, 11881, 11882, 566, 2] */
function _fun91054(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:6, offset: 0x02051cd0, size: 335 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = useCanSeePushNotificationNudge;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importDefault(5) /* metro dependency 5 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).NativeModules;
const pushNotificationPermissionStore = importDefault(11872) /* metro dependency 11872: PushNotificationPermissionStore */;
const env0_8 = (require(11873) /* metro dependency 11873: NotificationPermissionConstants */).EventActionType;
const env0_9 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_10 = (require(4661) /* metro dependency 4661: NativePermissionConstants */).NotificationAuthorizationStatus;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/nuf/native/NotificationPermissionUtil.tsx');
exports.requestPushNotificationPermission = function() {
return _requestPushNotificationPermission.apply(this, arguments);
};
exports.useShowReactivationPrompt = useShowReactivationPrompt;
exports.enableProvisionalPushNotification = function() {
return _enableProvisionalPushNotification.apply(this, arguments);
};
exports.useCanSeePushNotificationNudge = closure;
exports.useShouldShowPushNotificationNudgeByPromptType = useShouldShowPushNotificationNudgeByPromptType;
}
function _requestPushNotificationPermission() { // fn#91055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:253, offset: 0x02051e1f, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun91057).apply(this, arguments);
}
function _enableProvisionalPushNotification() { // fn#91059, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:818, offset: 0x02051fc8, size: 50 bytes, params: 1, frame: 14
return env0_4(_fun91061).apply(this, arguments);
}
function useCanSeePushNotificationNudge() { // fn#91064, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1343, offset: 0x02052110, size: 227 bytes, params: 1, frame: 17
const value2 = (require(11882) /* metro dependency 11882: RegionalTeenUtils */).useIsTeenInStrictCountry();
const authorizationStatus = (require(566) /* metro dependency 566: flux */).useStateFromStores([PushNotificationPermissionStore],
function() {
return PushNotificationPermissionStore.authorizationStatus;
});
const [property, env0_0] = env0_3(env0_5.useState(false), 2);
env0_5.useEffect(_fun91066, []);
return property && !value2 && authorizationStatus != null && [NotificationAuthorizationStatus.DENIED,
NotificationAuthorizationStatus.PROVISIONAL,
NotificationAuthorizationStatus.UNDETERMINED].includes(authorizationStatus);
}
function useShowReactivationPrompt() { // fn#91069, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2028, offset: 0x0205226f, size: 81 bytes, params: 1, frame: 15
let [property, env0_0] = env0_3(env0_5.useState(false), 2);
env0_5.useEffect(function() {
var env0_0 = _fun91071;
_fun91074();
}, []);
return property;
}
function useShouldShowPushNotificationNudgeByPromptType(a0) { // fn#91076, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2721, offset: 0x02052370, size: 83 bytes, params: 2, frame: 15
const value2 = useCanSeePushNotificationNudge();
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
return value2 && Reflect.apply(useStateFromStores, fluxModule, [[PushNotificationPermissionStore], function() {
return PushNotificationPermissionStore.getState().eligiblePromptTypes;
}]).has(a0);
}
function* _fun91057(a0, a1, a2) { // fn#91057, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:344, offset: 0x02051e5c, size: 277 bytes, params: 4, frame: 19
var environment;
var binding;
var binding2;
var value5;
if (true) {
var env0_0 = a0;
var env0_1 = a1;
var env0_2 = a2;
value = environment.__proto__.__proto__;
var NativePermissionManager = env2_6.NativePermissionManager;
var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus;
yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []);
var value3 = undefined;
if (false) {
return value3;
}
var DENIED = env2_10.DENIED;
if (value3 === DENIED) {
binding = env2_1;
binding2 = env2_2;
binding(binding2[8])();
value5 = binding(binding2[9]);
value5.track(env2_9.NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {action_type: env2_8.TO_SETTINGS,
action_location: a1});
a2();
} else if (value3 === env2_10.AUTHORIZED) {
env2_0(env2_2[10]).updateNotificationAuthorizationStatus(value3);
a2();
} else {
env2_1(env2_2[11]).requestPermission(_fun91058);
}
}
}
function* _fun91061() { // fn#91061, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:909, offset: 0x02052005, size: 99 bytes, params: 1, frame: 13
var environment;
if (true) {
value = environment.__proto__.__proto__;
var NativePermissionManager = env2_6.NativePermissionManager;
var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus;
yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []);
var value3 = undefined;
if (false) {
return value3;
}
var UNDETERMINED = env2_10.UNDETERMINED;
if (value3 === UNDETERMINED) {
env2_6.DCDProvisionalNotificationUtils.registerProvisionalNotification(_fun91062);
}
}
}
function _fun91066() { // fn#91066, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1550, offset: 0x02052202, size: 46 bytes, params: 1, frame: 11
var environment;
const value = environment.__proto__;
const NativePermissionManager = NativeModules.NativePermissionManager;
NativePermissionManager.getNotificationAuthorizationStatus().then(_fun91067);
}
function _fun91070() { // fn#91070, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2129, offset: 0x020522c0, size: 31 bytes, params: 1, frame: 9
(function() {
return _shouldShowReactivationPrompts.apply(this, arguments);
})();
}
function _fun91058(a0) { // fn#91058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:669, offset: 0x02051f71, size: 87 bytes, params: 2, frame: 16
const value2 = env3_1(env3_2[9]);
const track = value2.track;
const NOTIFICATION_PERMISSION_PREPROMPT_ACKED = env3_9.NOTIFICATION_PERMISSION_PREPROMPT_ACKED;
Reflect.apply(track, value2, [NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {action_type: env0_0,
action_location: require, permission_granted: a0}]);
importDefault();
}
function _fun91062(a0) { // fn#91062, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1077, offset: 0x02052068, size: 119 bytes, params: 2, frame: 17
var environment;
const value = environment.__proto__.__proto__.__proto__;
const value2 = env3_1(env3_2[9]);
const track = value2.track;
const PERMISSIONS_ACKED = env3_9.PERMISSIONS_ACKED;
Reflect.apply(track, value2, [PERMISSIONS_ACKED, {type: 'provisional_notification',
action: a0 ? 'accepted' : 'denied'}]);
const NativePermissionManager = env3_6.NativePermissionManager;
NativePermissionManager.getNotificationAuthorizationStatus().then(_fun91063);
}
function _fun91067(a0) { // fn#91067, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1624, offset: 0x02052230, size: 63 bytes, params: 2, frame: 12
var value;
if (a0 != null) {
value = environment.__proto__.__proto__;
value = require(11875) /* metro dependency 11875: PushNotificationActionCreators */;
value.updateNotificationAuthorizationStatus(a0);
}
value = environment.__proto__;
env1_0(true);
}
function _shouldShowReactivationPrompts() { // fn#91071, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2134, offset: 0x020522df, size: 53 bytes, params: 1, frame: 13
var environment;
const value = environment.__proto__.__proto__;
return env2_4(_fun91073).apply(this, arguments);
}
function _fun91063(a0) { // fn#91063, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1248, offset: 0x020520df, size: 49 bytes, params: 2, frame: 12
var value;
if (a0 != null) {
value = environment.__proto__.__proto__.__proto__.__proto__;
value = env4_0(env4_2[10]);
value.updateNotificationAuthorizationStatus(a0);
}
}
function* _fun91073() { // fn#91073, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2217, offset: 0x0205231f, size: 81 bytes, params: 1, frame: 13
if (true) {
value = environment.__proto__.__proto__.__proto__.__proto__;
var NativePermissionManager = env4_6.NativePermissionManager;
var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus;
yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []);
var value3 = undefined;
if (false) {
return value3;
}
var AUTHORIZED = env4_10.AUTHORIZED;
if (value3 !== AUTHORIZED) {
value = environment.__proto__.__proto__.__proto__;
require(true);
}
}
}