/* Metro module 11355; source: modules/guild_onboarding/useBatchUpdateSelectOption.tsx; dependencies: [31, 4864, 6603, 670, 694, 22, 1360, 11356, 566, 6606, 1391, 2] */ import Dispatcher from '../../Dispatcher.tsx'; /* Metro dependency 694 */ import UserGuildSettingsStore from '../../stores/UserGuildSettingsStore.tsx'; /* Metro dependency 4864 */ import GuildOnboardingPromptsStore from './GuildOnboardingPromptsStore.tsx'; /* Metro dependency 6603 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as UserSettingsConstantsModule from '../user_settings/UserSettingsConstants.tsx'; /* Metro dependency 670 */ import * as GlobalUtilsModule from '../../utils/GlobalUtils.tsx'; /* Metro dependency 1360 */ import * as FlagUtilsModule from '../../external/discord_common/js/shared/utils/FlagUtils.tsx'; /* Metro dependency 1391 */ import * as OptInOnboardingUtilsModule from '../opt_in_channels/OptInOnboardingUtils.tsx'; /* Metro dependency 11356 */ function _fun86965(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86965, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:6, offset: 0x01fa9e30, size: 192 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_7 = {}; (FileImportTrackerModule).fileFinishedImporting('modules/guild_onboarding/useBatchUpdateSelectOption.tsx'); exports.default = useBatchUpdateSelectOption; function resetStoreState_86966(a0) { // fn#86966, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:169, offset: 0x01fa9ef0, size: 54 bytes, params: 2, frame: 13 (Dispatcher).dispatch({type: 'CLEAR_PENDING_CHANNEL_AND_ROLE_UPDATES', guildId: a0}); } function useBatchUpdateSelectOption(a0) { // fn#86967, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:382, offset: 0x01fa9f26, size: 172 bytes, params: 2, frame: 18 const env0_0 = a0; const value2 = (FluxModule).useStateFromStores([GuildOnboardingPromptsStore], _fun86968, [a0]); ReactModule.useEffect(_fun86969, [a0]); ReactModule.useEffect(_fun86971, [a0, value2]); object = {}; object.handleSelectOption = ReactModule.useCallback(_fun86972, [a0]); return object; function _fun86968() { // fn#86968, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:459, offset: 0x01fa9fd2, size: 39 bytes, params: 1, frame: 12 return GuildOnboardingPromptsStore.getPendingResponseOptions(env0_0) ?? env1_7; } function _fun86969() { // fn#86969, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:549, offset: 0x01fa9ff9, size: 32 bytes, params: 1, frame: 11 resetStoreState_86966(env0_0); return _fun86970; function _fun86970() { // fn#86970, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:573, offset: 0x01faa019, size: 23 bytes, params: 1, frame: 11 resetStoreState_86966(env1_0); } } function _fun86971() { // fn#86971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:616, offset: 0x01faa030, size: 96 bytes, params: 1, frame: 13 var value4; if (env0_1 != null && global.Object.keys(env0_1).length !== 0) { value4 = environment.__proto__; (importDefault(6606) /* metro dependency 6606: GuildOnboardingActionCreators */).updateOnboardingResponses(env0_0); } } function _fun86972(a0, a1, a2) { // fn#86972, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:738, offset: 0x01faa090, size: 297 bytes, params: 4, frame: 26 var environment; let value = environment.__proto__; const guildOnboardingPromptsStoreBinding = GuildOnboardingPromptsStore; const getOnboardingResponses = guildOnboardingPromptsStoreBinding.getOnboardingResponses; const binding = env0_0; const value3 = Reflect.apply(getOnboardingResponses, guildOnboardingPromptsStoreBinding, [binding]); const {addedRoleIds, removedRoleIds} = getRoles(a0, a1, a2, value3); const {addedChannelIds, removedChannelIds} = getChannels({guildId: binding, prompt: a0, option: a1, selected: a2, responses: value3}); object = {}; copyDataProperties(object, addedChannelIds.reduce(_fun86985, {}), a2); copyDataProperties(object, removedChannelIds.reduce(_fun86986, {}), a2); value = importDefault(6606) /* metro dependency 6606: GuildOnboardingActionCreators */; value.selectOption(binding, a0.id, a1.id, a2); value = importDefault(694) /* metro dependency 694: Dispatcher */; value.dispatch({type: 'USER_GUILD_SETTINGS_CHANNEL_UPDATE_BULK', guildId: binding, overrides: object}); (importDefault(6606) /* metro dependency 6606: GuildOnboardingActionCreators */).updateRolesLocal(binding, addedRoleIds, removedRoleIds); function getRoles(a0, a1, a2, a3) { // fn#86973, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:784, offset: 0x01faa1b9, size: 449 bytes, params: 5, frame: 22 var environment; var r6; var roleIds; var r4; var r1; var r2; var filter; var value; var value2; var value3; const isNotNullish = (GlobalUtilsModule).isNotNullish; var difference; var value7; var value8; var defaultImport2; var value9; var defaultImport3; const env0_0 = a1; const env0_1 = a3; if (a0.singleSelect) { if (a2) { value = a0.options.find(function(a0) { return importAll.includes(a0.id); }); value7 = environment.__proto__.__proto__; value8 = undefined; defaultImport2 = importDefault(22) /* metro dependency 22 */; difference = defaultImport2.difference; roleIds = a1.roleIds; r6 = roleIds ?? []; roleIds = value == null ? value8 : value.roleIds; value9 = Reflect.apply(difference, defaultImport2, [r6, roleIds ?? []]); defaultImport3 = importDefault(22) /* metro dependency 22 */; difference = defaultImport3.difference; roleIds = value == null ? value8 : value.roleIds; r4 = roleIds ?? []; roleIds = a1.roleIds; value = Reflect.apply(difference, defaultImport3, [r4, roleIds ?? []]); r1 = value; r2 = value9; } else if (a2) { r6 = a1.roleIds ?? []; r1 = []; r2 = r6; } else { value = a0.options.filter(_fun86975); value2 = value.filter(_fun86976); value = value.map(_fun86977); value = value.flat(); filter = value.filter; value3 = environment.__proto__.__proto__; value = Reflect.apply(filter, value, [isNotNullish]); value = (importDefault(22) /* metro dependency 22 */).difference(value, value2.map(_fun86978).flat().filter(isNotNullish)); r1 = value; r2 = []; } } else if (a2) { r6 = a1.roleIds ?? []; r1 = []; r2 = r6; } else { value = a0.options.filter(_fun86975); value2 = value.filter(_fun86976); value = value.map(_fun86977); value = value.flat(); filter = value.filter; value3 = environment.__proto__.__proto__; value = Reflect.apply(filter, value, [isNotNullish]); value = (importDefault(22) /* metro dependency 22 */).difference(value, value2.map(_fun86978).flat().filter(isNotNullish)); r1 = value; r2 = []; } return {addedRoleIds: r2, removedRoleIds: r1}; function _fun86975({id}) { // fn#86975, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1151, offset: 0x0132790b, size: 27 bytes, params: 2, frame: 11 return importAll.includes(id); } function _fun86976({id}) { // fn#86976, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1185, offset: 0x01faa37a, size: 26 bytes, params: 2, frame: 2 const id = require.id; return id !== id; } } function getChannels({guildId, prompt, option, selected, responses}) { // fn#86979, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1441, offset: 0x01faa394, size: 554 bytes, params: 2, frame: 24 var r13; var environment; var r7; var channelIds; var r4; var r1; var r2; var filter; var value; var value2; var value3; const isNotNullish = (GlobalUtilsModule).isNotNullish; var items2; var difference; var value7; var value8; var defaultImport2; var value9; var value10; var defaultImport3; var push; if (prompt.singleSelect) { if (selected) { value = prompt.options.find(function(a0) { return responses.includes(a0.id); }); value7 = environment.__proto__.__proto__; value8 = undefined; defaultImport2 = importDefault(22) /* metro dependency 22 */; difference = defaultImport2.difference; channelIds = option.channelIds; r7 = channelIds ?? []; value9 = value == null; channelIds = value9 ? value8 : value.channelIds; value10 = Reflect.apply(difference, defaultImport2, [r7, channelIds ?? []]); defaultImport3 = importDefault(22) /* metro dependency 22 */; difference = defaultImport3.difference; channelIds = value == null ? value8 : value.channelIds; r4 = channelIds ?? []; channelIds = option.channelIds; value = Reflect.apply(difference, defaultImport3, [r4, channelIds ?? []]); r1 = value; r2 = value10; r13 = value9; } else if (selected) { r7 = option.channelIds ?? []; r1 = []; r2 = r7; } else { value = prompt.options.filter(_fun86981); value2 = value.filter(_fun86982); value = value.map(_fun86983); value = value.flat(); filter = value.filter; value3 = environment.__proto__.__proto__; value = Reflect.apply(filter, value, [isNotNullish]); value = (importDefault(22) /* metro dependency 22 */).difference(value, value2.map(_fun86984).flat().filter(isNotNullish)); r1 = value; r2 = []; } } else if (selected) { r7 = option.channelIds ?? []; r1 = []; r2 = r7; } else { value = prompt.options.filter(_fun86981); value2 = value.filter(_fun86982); value = value.map(_fun86983); value = value.flat(); filter = value.filter; value3 = environment.__proto__.__proto__; value = Reflect.apply(filter, value, [isNotNullish]); value = (importDefault(22) /* metro dependency 22 */).difference(value, value2.map(_fun86984).flat().filter(isNotNullish)); r1 = value; r2 = []; } value = environment.__proto__.__proto__; if (OptInOnboardingUtilsModule.hasNotSetUpChannelOptIn(guildId)) { push = r2.push; value = GuildOnboardingPromptsStore.getDefaultChannelIds(guildId); items2 = []; arraySpread(items2, value, 0, r13); apply(push, items2, r2, r13); } return {addedChannelIds: r2, removedChannelIds: r1}; function _fun86981({id}) { // fn#86981, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1871, offset: 0x0132790b, size: 27 bytes, params: 2, frame: 11 return responses.includes(id); } function _fun86982({id}) { // fn#86982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1905, offset: 0x01faa37a, size: 26 bytes, params: 2, frame: 2 const id = option.id; return id !== id; } } function _fun86985(a0, a1) { // fn#86985, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:2312, offset: 0x01faa5be, size: 91 bytes, params: 3, frame: 18 const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(env1_0, a1); const setFlag = FlagUtilsModule.setFlag; const OPT_IN_ENABLED = ChannelNotificationSettingsFlags.OPT_IN_ENABLED; a0[a1] = {flags: Reflect.apply(setFlag, FlagUtilsModule, [channelIdFlags, OPT_IN_ENABLED, true])}; return a0; } function _fun86986(a0, a1) { // fn#86986, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:2432, offset: 0x01faa619, size: 91 bytes, params: 3, frame: 18 const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(env1_0, a1); const setFlag = FlagUtilsModule.setFlag; const OPT_IN_ENABLED = ChannelNotificationSettingsFlags.OPT_IN_ENABLED; a0[a1] = {flags: Reflect.apply(setFlag, FlagUtilsModule, [channelIdFlags, OPT_IN_ENABLED, false])}; return a0; } } } } function _fun86977(a0) { // fn#86977, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1211, offset: 0x01174a8e, size: 11 bytes, params: 2, frame: 1 return a0.roleIds; } function _fun86978(a0) { // fn#86978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1271, offset: 0x01174a8e, size: 11 bytes, params: 2, frame: 1 return a0.roleIds; } function _fun86983(a0) { // fn#86983, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1931, offset: 0x01174afe, size: 11 bytes, params: 2, frame: 1 return a0.channelIds; } function _fun86984(a0) { // fn#86984, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11541:1994, offset: 0x01174afe, size: 11 bytes, params: 2, frame: 1 return a0.channelIds; } global.__d(_fun86965, 11355, [31, 4864, 6603, 670, 694, 22, 1360, 11356, 566, 6606, 1391, 2]) /* metro module 11355, dependencies: [31, 4864, 6603, 670, 694, 22, 1360, 11356, 566, 6606, 1391, 2] */;