// Metro module 10312 (f10313). import ChannelStore from "../../../../stores/ChannelStore"; import UserGuildSettingsStore from "../../../../stores/UserGuildSettingsStore"; import { UserNotificationSettings } from "../../../../Constants"; import { UnreadSetting } from "../../../read_states/ReadStateConstants"; import { ChannelNotificationSettingsFlags } from "../../../user_settings/UserSettingsConstants"; import { useStateFromStores, useStateFromStoresArray } from "../../../../_bundle/defaultAreStatesEqual"; import { presetFromSettings, presetName, Presets } from "./notificationSettingsPresetUtils"; import { filterOverrides } from "../../NotificationUtils"; import NotificationSettingsModalActionCreators from "../../../../actions/NotificationSettingsModalActionCreators"; import { withChannelUnreadFlags, resetChannelUnreadFlags } from "./notificationSettingsFlagUtils"; import { NotificationLabels, NotificationLabel } from "../../../../utils/NotificationSettingsUtils"; export function useChannelPresetSettings(c17861_0) { const stateFromStores = useStateFromStores([UserGuildSettingsStore], () => UserGuildSettingsStore.resolveUnreadSetting(c17861_0)); const stateFromStores2 = useStateFromStores([UserGuildSettingsStore], () => UserGuildSettingsStore.resolvedMessageNotifications(c17861_0)); return { unread: stateFromStores, notification: stateFromStores2, preset: presetFromSettings(stateFromStores, stateFromStores2) }; } export function useChannelPresetInheritance(a0) { const stateFromStoresArray = useStateFromStoresArray([UserGuildSettingsStore], () => filterOverrides(UserGuildSettingsStore.getChannelOverrides(a0.guild_id), { ignoreMute: true, ignoreUnreadSetting: false, ignoreNotificationSetting: false })); const [inheritedFrom, inheritedPreset] = useStateFromStoresArray([UserGuildSettingsStore, ChannelStore], () => { const channel = ChannelStore.getChannel(a0.parent_id); return channel != null && stateFromStoresArray.includes(channel.id) ? ["parent", presetName(presetFromSettings(UserGuildSettingsStore.resolveUnreadSetting(channel), UserGuildSettingsStore.resolvedMessageNotifications(channel)))] : ["guild", presetName(presetFromSettings(UserGuildSettingsStore.getGuildUnreadSetting(a0.guild_id), UserGuildSettingsStore.getMessageNotifications(a0.guild_id)))]; }, [a0.guild_id, a0.parent_id, stateFromStoresArray]); return { inherited: !stateFromStoresArray.includes(a0.id), inheritedFrom, inheritedPreset }; } export function updateChannelPreset(a0, a1, a2) { const channelIdFlags = UserGuildSettingsStore.getChannelIdFlags(a0, a1); if (a2 === Presets.ALL_MESSAGES) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { message_notifications: UserNotificationSettings.ALL_MESSAGES, flags: withChannelUnreadFlags(channelIdFlags, ChannelNotificationSettingsFlags.UNREADS_ALL_MESSAGES) }, NotificationLabels.PresetAll); } else if (a2 === Presets.MENTIONS) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { message_notifications: UserNotificationSettings.ONLY_MENTIONS, flags: withChannelUnreadFlags(channelIdFlags, ChannelNotificationSettingsFlags.UNREADS_ONLY_MENTIONS) }, NotificationLabels.PresetMentions); } else if (a2 === Presets.NOTHING) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { message_notifications: UserNotificationSettings.NO_MESSAGES, flags: withChannelUnreadFlags(channelIdFlags, ChannelNotificationSettingsFlags.UNREADS_ONLY_MENTIONS) }, NotificationLabels.PresetNothing); } } export function updateChannelToGuildDefault(a0, a1) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { message_notifications: UserNotificationSettings.NULL, flags: resetChannelUnreadFlags(UserGuildSettingsStore.getChannelIdFlags(a0, a1)) }, NotificationLabels.PresetDefault); } export function updateChannelUnreadSetting(a0, a1, a2) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { flags: withChannelUnreadFlags(UserGuildSettingsStore.getChannelIdFlags(a0, a1), a2 === UnreadSetting.ALL_MESSAGES ? ChannelNotificationSettingsFlags.UNREADS_ALL_MESSAGES : ChannelNotificationSettingsFlags.UNREADS_ONLY_MENTIONS) }, NotificationLabel.unreads(a2)); } export function updateChannelNotificationSetting(a0, a1, a2) { NotificationSettingsModalActionCreators.updateChannelOverrideSettings(a0, a1, { message_notifications: a2 }, NotificationLabel.notifications(a2)); }