327 lines
12 KiB
TypeScript
327 lines
12 KiB
TypeScript
// 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
|
|
});
|
|
}
|