// Metro module 5129 (f5130). import ImpersonateStore from "../impersonate/ImpersonateStore"; import ChannelStore from "../../stores/ChannelStore"; import UserGuildSettingsStore from "../../stores/UserGuildSettingsStore"; import { AnalyticEvents } from "../../Constants"; import { ChannelNotificationSettingsFlags, GuildNotificationSettingsFlags } from "../user_settings/UserSettingsConstants"; import { updateImpersonatedChannels, updateImpersonatedData } from "../impersonate/ImpersonateActionCreators"; import * as _Module1384 from "../../_bundle/Module1384"; import { addFlag, setFlag } from "../../_bundle/Module1384"; import { getCurrentChannelSettings, trackChannelNotificationSettingsUpdate, NotificationLabel, NotificationLabels } from "../../utils/NotificationSettingsUtils"; import UserGuildSettingsManager from "../user_settings/UserGuildSettingsManager"; import Dispatcher from "../../Dispatcher"; import AnalyticsUtils from "../../utils/AnalyticsUtils"; import { collectGuildAnalyticsMetadata, collectChannelAnalyticsMetadata } from "../app_analytics/AppAnalyticsUtils"; import { debounce } from "../../_bundle/Module12"; import NotificationSettingsModalActionCreators from "../../actions/NotificationSettingsModalActionCreators"; import { UserSettingsDelay, updateUserGuildSettings } from "../user_settings/UserSettingsProtoActionCreators"; import { GuildOnboardingProgress } from "../../_bundle/Module1306"; function $mk75517($env) { return (a0) => { const r2 = $env; const r5 = $env.$parent; const channelIdFlags = r5[6].getChannelIdFlags(r2[0], a0); r2[1][a0] = { flags: (0, r5[0])(r5[2][7]).setFlag(channelIdFlags, r5[8].OPT_IN_ENABLED, false) }; }; } let $mk75518 = function() { return (a0) => { const r15 = _Module1384.hasFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_CLEARED) && !_Module1384.hasFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_SHOWN); let r1 = !r15; if (!r15) { a0.guildOnboardingProgress = addFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_CLEARED); a0.guildOnboardingProgress = setFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_SHOWN, false); r1 = true; } return r1; }; }; let env3091 = {}; env3091[10] = function _persistOptInChannelUpdates2() { const r8 = async (c25357_0, channel_overrides) => { let c29465_0, c29465_1; L14: { c29465_0 = c25357_0; c29465_1 = channel_overrides; if (c25357_0 == null) { break L14; } if (ImpersonateStore.isFullServerPreview(c25357_0)) { break L14; } const r34 = {}; r34[c25357_0] = { channel_overrides }; await UserGuildSettingsManager.saveUserGuildSettingsBulk(r34); Dispatcher.dispatch({ type: "USER_GUILD_SETTINGS_REMOVE_PENDING_CHANNEL_UPDATES", guildId: c29465_0, updates: c29465_1 }); return void 0; } }; env3091[10] = r8; return r8.apply(this, arguments); }; const r33 = debounce((a0, a1) => (function _persistOptInChannelUpdates() { return env3091[10].apply(this, arguments); })(a0, a1), 1000); export function setOptInChannel(a0, a1, a2, a3) { if (a0 != null) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedChannels(a0, a2 ? [a1] : [], a2 ? [] : [a1]); } else { const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(a0, a1); const r8 = a2 ? channelIdFlags : setFlag(channelIdFlags, ChannelNotificationSettingsFlags.FAVORITED, false); const currentChannelSettings = getCurrentChannelSettings(a0, a1); const settings = { flags: setFlag(r8, ChannelNotificationSettingsFlags.OPT_IN_ENABLED, a2) }; const r45 = {}; const channel_overrides2 = {}; channel_overrides2[a1] = settings; r45[a0] = { channel_overrides: channel_overrides2 }; UserGuildSettingsManager.saveUserGuildSettingsBulk(r45); Dispatcher.dispatch({ type: "USER_GUILD_SETTINGS_CHANNEL_UPDATE", guildId: a0, channelId: a1, settings }); trackChannelNotificationSettingsUpdate({ guildId: a0, channelId: a1, change: settings, previous: currentChannelSettings, label: NotificationLabel.optedIn(a2), location: a3 }); const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; updateUserGuildSettings(a0, $mk75518(), INFREQUENT_USER_ACTION); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), ...collectChannelAnalyticsMetadata(ChannelStore.getChannel(a1)), action_type: a2 ? "add" : "remove", location: a3 }); } } } export function updateOptInChannelsImmediate(a0, a1, a2, a3) { if (a0 != null) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedChannels(a0, a2 ? [a1] : [], a2 ? [] : [a1]); updateImpersonatedData(a0, { optInEnabled: true }); return void 0; } const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(a0, a1); const r10 = a2 ? channelIdFlags : setFlag(channelIdFlags, ChannelNotificationSettingsFlags.FAVORITED, false); const currentChannelSettings = getCurrentChannelSettings(a0, a1); const settings = { flags: setFlag(r10, ChannelNotificationSettingsFlags.OPT_IN_ENABLED, a2) }; if (!UserGuildSettingsStore.isOptInEnabled(a0)) { const flags = setFlag(UserGuildSettingsStore.getGuildFlags(a0), GuildNotificationSettingsFlags.OPT_IN_CHANNELS_ON, true); const r54 = {}; const channel_overrides2 = {}; channel_overrides2[a1] = settings; r54[a0] = { channel_overrides: channel_overrides2, flags }; UserGuildSettingsManager.saveUserGuildSettingsBulk(r54); } Dispatcher.dispatch({ type: "USER_GUILD_SETTINGS_CHANNEL_UPDATE", guildId: a0, channelId: a1, settings }); trackChannelNotificationSettingsUpdate({ guildId: a0, channelId: a1, change: settings, previous: currentChannelSettings, label: NotificationLabel.optedIn(a2), location: a3 }); const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; updateUserGuildSettings(a0, $mk75518(), INFREQUENT_USER_ACTION); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), ...collectChannelAnalyticsMetadata(ChannelStore.getChannel(a1)), action_type: a2 ? "add" : "remove", location: a3 }); } } export { r33 as updateOptInChannelsBatched }; export function bulkOptInChannels(a0, a1) { let c14688_1; let r2 = arguments[2]; if (r2 === void 0) { r2 = false; } c14688_1 = void 0; if (a0 != null) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedChannels(a0, a1, []); if (r2) { updateImpersonatedData(a0, { optInEnabled: true }); } return void 0; } const location2 = arguments[3]; const channel_overrides2 = {}; c14688_1 = channel_overrides2; a1.forEach((item) => { c14688_1[item] = { flags: setFlag(UserGuildSettingsStore.getChannelIdFlags(a0, item), ChannelNotificationSettingsFlags.OPT_IN_ENABLED, true) }; }); if (r2) { NotificationSettingsModalActionCreators.updateGuildAndChannelNotificationSettings(a0, { flags: setFlag(UserGuildSettingsStore.getGuildFlags(a0), GuildNotificationSettingsFlags.OPT_IN_CHANNELS_ON, true), channel_overrides: channel_overrides2 }, NotificationLabels.OptedIn); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: "add_many_and_enable_guild", location: location2 }); } else { NotificationSettingsModalActionCreators.updateChannelOverrideSettingsBulk(a0, channel_overrides2, NotificationLabels.OptedIn); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: "add_many", location: location2 }); } } } export function bulkOptOutChannels(a0, a1, a2) { let env14687; const r2 = env14687 = { $parent: env3091 }; env14687[0] = a0; if (a0 != null) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedChannels(a0, [], a1); } else { const r11 = {}; env14687[1] = r11; a1.forEach($mk75517(r2)); NotificationSettingsModalActionCreators.updateChannelOverrideSettingsBulk(a0, r11, NotificationLabels.OptedOut); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: "remove_many", location: a2 }); } } } export function setGuildOptIn(a0, a1, a2) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedData(a0, { optInEnabled: a1 }); } else { NotificationSettingsModalActionCreators.updateGuildNotificationSettings(a0, { flags: setFlag(UserGuildSettingsStore.getGuildFlags(a0), GuildNotificationSettingsFlags.OPT_IN_CHANNELS_ON, a1) }, NotificationLabel.optedIn(a1)); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: a1 ? "guild_enabled" : "guild_disabled", location: a2 }); } } export function setIsFavorite(a0, a1, a2, a3) { if (a0 != null && !ImpersonateStore.isFullServerPreview(a0)) { const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(a0, a1); const hasFlag = _Module1384.hasFlag(channelIdFlags, ChannelNotificationSettingsFlags.OPT_IN_ENABLED); NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { flags: setFlag((hasFlag ? !hasFlag : a2) ? setFlag(channelIdFlags, ChannelNotificationSettingsFlags.OPT_IN_ENABLED, true) : channelIdFlags, ChannelNotificationSettingsFlags.FAVORITED, a2) }, NotificationLabel.favorited(a2)); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: a2 ? "favorited" : "unfavorited", location: a3 }); } } export function setMessagesFavorite(a0, a1) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(null, a0, { flags: setFlag(UserGuildSettingsStore.getChannelIdFlags(null, a0), ChannelNotificationSettingsFlags.FAVORITED, a1) }, NotificationLabel.favorited(a1)); } export function enableGuildNotice(a0) { updateUserGuildSettings(a0, (a0) => { const hasFlag = _Module1384.hasFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_SHOWN); let r0 = !hasFlag; if (!hasFlag) { a0.guildOnboardingProgress = addFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_SHOWN); r0 = true; } return r0; }, UserSettingsDelay.INFREQUENT_USER_ACTION); } export function dismissGuildNotice(a0) { const INFREQUENT_USER_ACTION = UserSettingsDelay.INFREQUENT_USER_ACTION; updateUserGuildSettings(a0, $mk75518(), INFREQUENT_USER_ACTION); } export function clearGuildNotice(a0) { let env14689; const r8 = [...UserGuildSettingsStore.getOptedInChannels(a0)]; const r16 = env14689 = { $parent: env3091 }; env14689[0] = a0; env14689[1] = void 0; if (a0 != null) { if (ImpersonateStore.isFullServerPreview(a0)) { updateImpersonatedChannels(a0, [], r8); } else { const r12 = {}; env14689[1] = r12; r8.forEach($mk75517(r16)); NotificationSettingsModalActionCreators.updateChannelOverrideSettingsBulk(a0, r12, NotificationLabels.OptedOut); AnalyticsUtils.track(AnalyticEvents.CHANNEL_LIST_UPDATED, { ...collectGuildAnalyticsMetadata(a0), action_type: "remove_many", location: void 0 }); } } updateUserGuildSettings(a0, (a0) => { a0.guildOnboardingProgress = setFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_SHOWN, false); a0.guildOnboardingProgress = setFlag(a0.guildOnboardingProgress, GuildOnboardingProgress.GUILD_NOTICE_CLEARED, false); return true; }, UserSettingsDelay.INFREQUENT_USER_ACTION); } export function dimissFavoriteSuggestion(a0, a1) { Dispatcher.dispatch({ type: "DISMISS_FAVORITE_SUGGESTION", guildId: a0, channelId: a1 }); } export function setRecentlyActiveCollapsed(a0, a1) { Dispatcher.dispatch({ type: "SET_RECENTLY_ACTIVE_COLLAPSED", guildId: a0, collapsed: a1 }); }