2026-10-01 06:55:13 +00:00
// Module ID: 6721
// Function ID: 6722
2026-09-10 05:38:07 +00:00
// Name: NotificationSettingsUtils
2026-10-01 06:55:13 +00:00
// Dependencies: [6722, 2044, 5065, 5026, 1074, 4511, 5027, 1084, 1385, 5025, 1241, 2]
2026-07-29 08:29:29 +00:00
// Exports: getCurrentChannelSettings, getCurrentGuildSettings, getManyCurrentChannelSettings, getManyCurrentGuildSettings, muteConfigToTimestamp, trackAccountNotificationSettingUpdated, trackChannelNotificationSettingsUpdate, trackGuildNotificationSettingsUpdate
2026-07-20 16:05:17 +00:00
2026-10-01 06:55:13 +00:00
// Module 6721 (NotificationSettingsUtils)
2026-09-15 14:23:42 +00:00
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1241 */ ;
import FlagUtils from "FlagUtils" /* 1385 */ ;
2026-10-01 06:55:13 +00:00
import AppAnalyticsUtilsDefault from "AppAnalyticsUtils" /* 5025 */ ;
import LastMentionTimestampStore from "LastMentionTimestampStore" /* 6722 */ ;
import ChannelStore from "ChannelStore" /* 2044 */ ;
import MessageStore from "MessageStore" /* 5065 */ ;
import UserGuildSettingsStore from "UserGuildSettingsStore" /* 5026 */ ;
2026-07-23 10:11:24 +00:00
2026-09-10 05:38:07 +00:00
require = fn ;
const Constants = fn ( 1074 ) ;
( { AnalyticEvents : closure_7 , UserNotificationSettings } = Constants ) ;
2026-10-01 06:55:13 +00:00
const constants2 = fn ( 4511 ) . NotificationSettingsUpdateType ;
const UnreadSetting = fn ( 5027 ) . UnreadSetting ;
2026-09-10 05:38:07 +00:00
const UserSettingsConstants = fn ( 1084 ) ;
( { ChannelNotificationSettingsFlags : closure_11 , GuildNotificationSettingsFlags : closure_12 } = UserSettingsConstants ) ;
2026-09-22 07:41:18 +00:00
const NotificationLabels = { ForumThreadsCreatedOn : "enabled forum thread created notifs" , ForumThreadsCreatedOff : "disabled forum thread created notifs" , SuppressEveryoneOn : "enabled suppress everyone" , SuppressEveryoneOff : "disabled suppress everyone" , SuppressRolesOn : "enabled suppress roles" , SuppressRolesOff : "disabled suppress roles" , HighlightsOn : "enabled highlights" , HighlightsOff : "disabled highlights" , MobilePushOn : "enabled mobile push notifications" , MobilePushOff : "disabled mobile push notifications" , UnreadsAll : "unreads set to all messages" , UnreadsMentions : "unreads set to mentions" , UnreadsDefault : "unreads set to the default" , NotificationsAll : "notifications set to all messages" , NotificationsMentions : "notifications set to mentions" , NotificationsNothing : "notifications set to nothing" , NotificationsDefault : "notifications set to the default" , PresetAll : "notification preset set to all messages" , PresetHybrid : "notification preset set to hybrid" , PresetMentions : "notification preset set to mentions" , PresetNothing : "notification preset set to nothing" , PresetDefault : "notification preset set to the default" , OptedIn : "opted in to entity" , OptedOut : "opted out from entity" , Favorited : "favorited" , UnFavorited : "unfavorited" , Muted : "muted" , Unmuted : "unmuted" , MutedScheduledEvents : "muted scheduled events" , UnmutedScheduledEvents : "unmuted scheduled events" , OverrideCreated : "channel override created" , OverrideDeleted : "channel override deleted" , AnnouncementAutoEnable : "announcement channels auto set to all messages" } ;
2026-09-10 05:38:07 +00:00
const frozen = Object . freeze ( { [ UserNotificationSettings . ALL_MESSAGES ] : "All" , [ UserNotificationSettings . ONLY_MENTIONS ] : "Mentions" , [ UserNotificationSettings . NO_MESSAGES ] : "Nothing" , [ UserNotificationSettings . NULL ] : null } ) ;
const size = fn ( 2 ) ;
const result = size . fileFinishedImporting ( "utils/NotificationSettingsUtils.tsx" ) ;
export { NotificationLabels } ;
export const NotificationLabel = {
2026-07-20 16:05:17 +00:00
forumThreadsCreated ( arg0 ) {
return arg0 ? obj.ForumThreadsCreatedOn : obj.ForumThreadsCreatedOff ;
} ,
suppressEveryone ( arg0 ) {
return arg0 ? obj.SuppressEveryoneOn : obj.SuppressEveryoneOff ;
} ,
suppressRoles ( arg0 ) {
return arg0 ? obj.SuppressRolesOn : obj.SuppressRolesOff ;
} ,
highlights ( arg0 ) {
return arg0 ? obj.HighlightsOn : obj.HighlightsOff ;
} ,
mobilePush ( arg0 ) {
return arg0 ? obj.MobilePushOn : obj.MobilePushOff ;
} ,
2026-09-10 05:38:07 +00:00
optedIn ( optInEnabled ) {
return optInEnabled ? obj.OptedIn : obj.OptedOut ;
2026-07-20 16:05:17 +00:00
} ,
favorited ( arg0 ) {
return arg0 ? obj.Favorited : obj.UnFavorited ;
} ,
muted ( muted ) {
return muted ? obj.Muted : obj.Unmuted ;
} ,
mutedEvents ( arg0 ) {
return arg0 ? obj.MutedScheduledEvents : obj.UnmutedScheduledEvents ;
} ,
2026-09-10 05:38:07 +00:00
unreads ( toggleExpandedHistory ) {
if ( toggleExpandedHistory === UnreadSetting . ALL_MESSAGES ) {
2026-07-20 16:05:17 +00:00
let UnreadsDefault = obj . UnreadsAll ;
2026-09-10 05:38:07 +00:00
} else if ( toggleExpandedHistory === tmp . ONLY_MENTIONS ) {
2026-07-20 16:05:17 +00:00
UnreadsDefault = obj . UnreadsMentions ;
} else {
UnreadsDefault = obj . UnreadsDefault ;
}
return UnreadsDefault ;
} ,
2026-09-10 05:38:07 +00:00
notifications ( message_notifications ) {
if ( message_notifications === UserNotificationSettings . ALL_MESSAGES ) {
2026-07-20 16:05:17 +00:00
let NotificationsDefault = obj . NotificationsAll ;
2026-09-10 05:38:07 +00:00
} else if ( message_notifications === tmp . ONLY_MENTIONS ) {
2026-07-20 16:05:17 +00:00
NotificationsDefault = obj . NotificationsMentions ;
2026-09-10 05:38:07 +00:00
} else if ( message_notifications === tmp . NO_MESSAGES ) {
2026-07-20 16:05:17 +00:00
NotificationsDefault = obj . NotificationsNothing ;
} else {
NotificationsDefault = obj . NotificationsDefault ;
}
return NotificationsDefault ;
}
} ;
export const MessageNotificationSettings = frozen ;
2026-07-29 08:29:29 +00:00
export const trackGuildNotificationSettingsUpdate = function trackGuildNotificationSettingsUpdate ( guild_id , muteSettings , currentGuildSettings , label , location ) {
function compute ( guild_message_notification_settings , muteSettings ) {
2026-09-10 05:38:07 +00:00
let obj = muteSettings ;
2026-07-20 16:05:17 +00:00
if ( muteSettings === undefined ) {
obj = { } ;
}
if ( null != obj . mute_config ) {
if ( null != obj . mute_config . end_time ) {
const _Date = Date ;
const date = new Date ( obj . mute_config . end_time ) ;
let guild_muted_until = date . getTime ( ) ;
}
if ( null != obj . message_notifications ) {
2026-09-10 05:38:07 +00:00
guild_message_notification_settings = frozen [ obj . message_notifications ] ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
guild_message_notification_settings = guild_message_notification_settings . guild_message_notification_settings ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
const obj2 = { guild_muted_until , guild_flags : null , guild_is_muted : null , guild_message_notification_settings : null , guild_suppress_roles : null , guild_receive_mobile_push : null , guild_notify_highlights : null , guild_suppress_everyone : null , guild_scheduled_events_muted : null } ;
2026-07-20 16:05:17 +00:00
let guild_flags = obj . flags ;
2026-07-29 08:29:29 +00:00
if ( guild_flags == null ) {
guild_flags = guild_message_notification_settings . guild_flags ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_flags = guild_flags ;
2026-07-20 16:05:17 +00:00
let guild_is_muted = obj . muted ;
2026-07-29 08:29:29 +00:00
if ( guild_is_muted == null ) {
guild_is_muted = guild_message_notification_settings . guild_is_muted ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_is_muted = guild_is_muted ;
obj2 . guild_message_notification_settings = guild_message_notification_settings ;
2026-07-20 16:05:17 +00:00
let guild_suppress_roles = obj . suppress_roles ;
2026-07-29 08:29:29 +00:00
if ( guild_suppress_roles == null ) {
guild_suppress_roles = guild_message_notification_settings . guild_suppress_roles ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_suppress_roles = guild_suppress_roles ;
2026-07-20 16:05:17 +00:00
let guild_receive_mobile_push = obj . mobile_push ;
2026-07-29 08:29:29 +00:00
if ( guild_receive_mobile_push == null ) {
guild_receive_mobile_push = guild_message_notification_settings . guild_receive_mobile_push ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_receive_mobile_push = guild_receive_mobile_push ;
2026-07-20 16:05:17 +00:00
let guild_notify_highlights = obj . notify_highlights ;
2026-07-29 08:29:29 +00:00
if ( guild_notify_highlights == null ) {
guild_notify_highlights = guild_message_notification_settings . guild_notify_highlights ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_notify_highlights = guild_notify_highlights ;
2026-07-20 16:05:17 +00:00
let guild_suppress_everyone = obj . suppress_everyone ;
2026-07-29 08:29:29 +00:00
if ( guild_suppress_everyone == null ) {
guild_suppress_everyone = guild_message_notification_settings . guild_suppress_everyone ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_suppress_everyone = guild_suppress_everyone ;
2026-07-20 16:05:17 +00:00
let guild_scheduled_events_muted = obj . mute_scheduled_events ;
2026-07-29 08:29:29 +00:00
if ( guild_scheduled_events_muted == null ) {
guild_scheduled_events_muted = guild_message_notification_settings . guild_scheduled_events_muted ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_scheduled_events_muted = guild_scheduled_events_muted ;
return obj2 ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
guild_muted_until = guild_message_notification_settings . guild_muted_until ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const computeResult = compute ( currentGuildSettings ) ;
2026-09-10 05:38:07 +00:00
const muteConfig = UserGuildSettingsStore . getMuteConfig ( guild_id ) ;
let obj2 = { guild_suppress_everyone : UserGuildSettingsStore.isSuppressEveryoneEnabled ( guild_id ) , guild_suppress_roles : UserGuildSettingsStore.isSuppressRolesEnabled ( guild_id ) , guild_scheduled_events_muted : UserGuildSettingsStore.isMuteScheduledEventsEnabled ( guild_id ) , guild_is_muted : UserGuildSettingsStore.isMuted ( guild_id ) , guild_muted_until : null , guild_receive_mobile_push : null , guild_message_notification_settings : null , guild_notify_highlights : null , guild_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != muteConfig ) {
time = null ;
if ( null != muteConfig . end_time ) {
let _Date = Date ;
let date = new Date ( muteConfig . end_time ) ;
time = date . getTime ( ) ;
}
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
obj2 . guild_muted_until = time ;
obj2 . guild_receive_mobile_push = UserGuildSettingsStore . isMobilePushEnabled ( guild_id ) ;
obj2 . guild_message_notification_settings = frozen [ UserGuildSettingsStore . getMessageNotifications ( UserGuildSettingsStore , guild_id ) ] ;
obj2 . guild_notify_highlights = UserGuildSettingsStore . getNotifyHighlights ( guild_id ) ;
obj2 . guild_flags = UserGuildSettingsStore . getGuildFlags ( guild_id ) ;
const computeResult1 = compute ( obj2 , muteSettings ) ;
2026-07-29 08:29:29 +00:00
let num ;
if ( computeResult . guild_flags !== computeResult1 . guild_flags ) {
num = computeResult . guild_flags ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if ( num == null ) {
num = 0 ;
}
let num2 = computeResult1 . guild_flags ;
if ( num2 == null ) {
num2 = 0 ;
}
2026-09-10 05:38:07 +00:00
const isMutedResult = UserGuildSettingsStore . isMuted ( guild_id ) ;
2026-07-29 08:29:29 +00:00
const tmp10 = num2 ^ num ;
2026-09-10 05:38:07 +00:00
const removeFlagsResult = FlagUtils . removeFlags ( tmp10 , constants4 . OPT_IN_CHANNELS_OFF , constants4 . OPT_IN_CHANNELS_ON ) ;
const obj3 = { } ;
2026-07-20 16:05:17 +00:00
const merged = Object . assign ( computeResult1 ) ;
2026-09-10 05:38:07 +00:00
const merged1 = Object . assign ( LastMentionTimestampStore . getStats ( guild_id ) ) ;
obj3 . location = location ;
obj3 . guild_id = guild_id ;
obj3 . update_type = constants2 . GUILD ;
obj3 . label = label ;
2026-07-29 08:29:29 +00:00
let guild_flags ;
if ( computeResult . guild_flags !== computeResult1 . guild_flags ) {
guild_flags = computeResult . guild_flags ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_flags_old = guild_flags ;
2026-07-29 08:29:29 +00:00
let guild_is_muted ;
if ( computeResult . guild_is_muted !== computeResult1 . guild_is_muted ) {
guild_is_muted = computeResult . guild_is_muted ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_is_muted_old = guild_is_muted ;
2026-07-29 08:29:29 +00:00
let guild_suppress_roles ;
if ( computeResult . guild_suppress_roles !== computeResult1 . guild_suppress_roles ) {
guild_suppress_roles = computeResult . guild_suppress_roles ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_suppress_roles_old = guild_suppress_roles ;
2026-07-29 08:29:29 +00:00
let prop ;
if ( computeResult . guild_notify_highlights !== computeResult1 . guild_notify_highlights ) {
prop = computeResult . guild_notify_highlights ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_notify_highlights_old = prop ;
2026-07-29 08:29:29 +00:00
let prop1 ;
if ( computeResult . guild_suppress_everyone !== computeResult1 . guild_suppress_everyone ) {
prop1 = computeResult . guild_suppress_everyone ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_suppress_everyone_old = prop1 ;
2026-07-29 08:29:29 +00:00
let prop2 ;
if ( computeResult . guild_receive_mobile_push !== computeResult1 . guild_receive_mobile_push ) {
prop2 = computeResult . guild_receive_mobile_push ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_receive_mobile_push_old = prop2 ;
2026-07-29 08:29:29 +00:00
let prop3 ;
if ( computeResult . guild_scheduled_events_muted !== computeResult1 . guild_scheduled_events_muted ) {
prop3 = computeResult . guild_scheduled_events_muted ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_scheduled_events_muted_old = prop3 ;
2026-07-29 08:29:29 +00:00
let prop4 ;
if ( computeResult . guild_message_notification_settings !== computeResult1 . guild_message_notification_settings ) {
prop4 = computeResult . guild_message_notification_settings ;
}
2026-09-10 05:38:07 +00:00
obj3 . guild_message_notification_settings_old = prop4 ;
obj3 . is_opt_in_only_change = 0 === removeFlagsResult ;
AppAnalyticsUtilsDefault . trackWithMetadata ( constants . NOTIFICATION_SETTINGS_UPDATED , obj3 ) ;
2026-07-29 08:29:29 +00:00
} ;
export const muteConfigToTimestamp = function muteConfigToTimestamp ( muteConfig ) {
let time = null ;
if ( null != muteConfig ) {
time = null ;
if ( null != muteConfig . end_time ) {
const _Date = Date ;
const date = new Date ( muteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
return time ;
2026-07-20 16:05:17 +00:00
} ;
export const trackChannelNotificationSettingsUpdate = function trackChannelNotificationSettingsUpdate ( updateType ) {
let CHANNEL = updateType . updateType ;
if ( CHANNEL === undefined ) {
CHANNEL = constants2 . CHANNEL ;
}
const guildId = updateType . guildId ;
const channelId = updateType . channelId ;
2026-07-29 08:29:29 +00:00
function compute ( previous , change ) {
2026-09-10 05:38:07 +00:00
let obj = change ;
2026-07-20 16:05:17 +00:00
if ( change === undefined ) {
obj = { } ;
}
let muted = obj . muted ;
2026-07-29 08:29:29 +00:00
if ( muted == null ) {
2026-07-20 16:05:17 +00:00
let channel_is_muted ;
2026-07-29 08:29:29 +00:00
if ( previous != null ) {
channel_is_muted = previous . channel_is_muted ;
2026-07-20 16:05:17 +00:00
}
muted = channel_is_muted ;
}
if ( null != obj . message_notifications ) {
2026-09-10 05:38:07 +00:00
let channel_message_notification_settings = frozen [ obj . message_notifications ] ;
2026-07-29 08:29:29 +00:00
} else if ( previous != null ) {
channel_message_notification_settings = previous . channel_message_notification_settings ;
2026-07-20 16:05:17 +00:00
}
2026-09-10 05:38:07 +00:00
const obj2 = { channel_is_muted : muted , channel_is_overridden : null , channel_flags : null , channel_message_notification_settings : null , channel_muted_until : null } ;
2026-07-20 16:05:17 +00:00
let tmp3 = null ;
if ( null != guildId ) {
tmp3 = true === muted || null != channel_message_notification_settings ;
const tmp4 = true === muted || null != channel_message_notification_settings ;
}
2026-09-10 05:38:07 +00:00
obj2 . channel_is_overridden = tmp3 ;
2026-07-20 16:05:17 +00:00
let flags = obj . flags ;
2026-07-29 08:29:29 +00:00
if ( flags == null ) {
2026-07-20 16:05:17 +00:00
let channel_flags ;
2026-07-29 08:29:29 +00:00
if ( previous != null ) {
channel_flags = previous . channel_flags ;
2026-07-20 16:05:17 +00:00
}
flags = channel_flags ;
}
2026-09-10 05:38:07 +00:00
obj2 . channel_flags = flags ;
obj2 . channel_message_notification_settings = channel_message_notification_settings ;
2026-07-29 08:29:29 +00:00
const mute_config = obj . mute_config ;
let time = null ;
if ( null != mute_config ) {
time = null ;
if ( null != mute_config . end_time ) {
const _Date = Date ;
const date = new Date ( mute_config . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . channel_muted_until = time ;
return obj2 ;
2026-07-20 16:05:17 +00:00
}
( { applicationId , change , label , location : _location } = updateType ) ;
2026-07-29 08:29:29 +00:00
const computeResult = compute ( updateType . previous ) ;
2026-09-10 05:38:07 +00:00
const channelMuteConfig = UserGuildSettingsStore . getChannelMuteConfig ( guildId , channelId ) ;
let obj2 = { channel_is_muted : UserGuildSettingsStore.isChannelMuted ( guildId , channelId ) , channel_muted_until : null , channel_message_notification_settings : null , channel_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != channelMuteConfig ) {
time = null ;
if ( null != channelMuteConfig . end_time ) {
let _Date = Date ;
let date = new Date ( channelMuteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . channel_muted_until = time ;
obj2 . channel_message_notification_settings = frozen [ UserGuildSettingsStore . getChannelMessageNotifications ( UserGuildSettingsStore , guildId , channelId ) ] ;
obj2 . channel_flags = UserGuildSettingsStore . getChannelIdFlags ( guildId , channelId ) ;
const computeResult1 = compute ( obj2 , change ) ;
const channel = ChannelStore . getChannel ( channelId ) ;
2026-07-29 08:29:29 +00:00
let num ;
if ( computeResult . channel_flags !== computeResult1 . channel_flags ) {
num = computeResult . channel_flags ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if ( num == null ) {
num = 0 ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let num2 = computeResult1 . channel_flags ;
if ( num2 == null ) {
num2 = 0 ;
}
2026-09-10 05:38:07 +00:00
const isChannelMutedResult = UserGuildSettingsStore . isChannelMuted ( guildId , channelId ) ;
2026-07-29 08:29:29 +00:00
const tmp12 = num2 ^ num ;
2026-09-15 14:23:42 +00:00
const obj4 = guildId ( 1385 ) ;
2026-09-10 05:38:07 +00:00
const lastMessage = MessageStore . getLastMessage ( channelId ) ;
2026-07-20 16:05:17 +00:00
let type ;
2026-07-29 08:29:29 +00:00
if ( lastMessage != null ) {
2026-07-20 16:05:17 +00:00
type = lastMessage . type ;
}
2026-07-29 08:29:29 +00:00
if ( type == null ) {
type = null ;
2026-07-20 16:05:17 +00:00
}
2026-09-15 14:23:42 +00:00
const removeFlagsResult = guildId ( 1385 ) . removeFlags ( tmp12 , constants3 . FAVORITED , constants3 . OPT_IN_ENABLED ) ;
2026-09-10 05:38:07 +00:00
const obj3 = { } ;
2026-07-20 16:05:17 +00:00
const merged = Object . assign ( computeResult1 ) ;
2026-09-10 05:38:07 +00:00
const merged1 = Object . assign ( LastMentionTimestampStore . getStats ( guildId ) ) ;
obj3 . location = _location ;
obj3 . guild_id = guildId ;
obj3 . channel_id = channelId ;
obj3 . update_type = CHANNEL ;
obj3 . label = label ;
2026-07-20 16:05:17 +00:00
let parent_id = null ;
if ( null != channel ) {
parent_id = channel . parent_id ;
}
2026-09-10 05:38:07 +00:00
obj3 . parent_id = parent_id ;
2026-07-29 08:29:29 +00:00
let channel_flags ;
if ( computeResult . channel_flags !== computeResult1 . channel_flags ) {
channel_flags = computeResult . channel_flags ;
}
2026-09-10 05:38:07 +00:00
obj3 . channel_flags_old = channel_flags ;
2026-07-29 08:29:29 +00:00
let channel_is_muted ;
if ( computeResult . channel_is_muted !== computeResult1 . channel_is_muted ) {
channel_is_muted = computeResult . channel_is_muted ;
}
2026-09-10 05:38:07 +00:00
obj3 . channel_is_muted_old = channel_is_muted ;
2026-07-29 08:29:29 +00:00
let channel_muted_until ;
if ( computeResult . channel_muted_until !== computeResult1 . channel_muted_until ) {
channel_muted_until = computeResult . channel_muted_until ;
}
2026-09-10 05:38:07 +00:00
obj3 . channel_muted_until_old = channel_muted_until ;
2026-07-29 08:29:29 +00:00
let prop ;
if ( computeResult . channel_is_overridden !== computeResult1 . channel_is_overridden ) {
prop = computeResult . channel_is_overridden ;
}
2026-09-10 05:38:07 +00:00
obj3 . channel_is_overridden_old = prop ;
2026-07-29 08:29:29 +00:00
let prop1 ;
if ( computeResult . channel_message_notification_settings !== computeResult1 . channel_message_notification_settings ) {
prop1 = computeResult . channel_message_notification_settings ;
}
2026-09-10 05:38:07 +00:00
obj3 . channel_message_notification_settings_old = prop1 ;
obj3 . is_opt_in_only_change = 0 === removeFlagsResult ;
obj3 . last_message_type = type ;
obj3 . application_id = applicationId ;
AppAnalyticsUtilsDefault . trackWithMetadata ( constants . NOTIFICATION_SETTINGS_UPDATED , obj3 ) ;
2026-07-29 08:29:29 +00:00
} ;
export const getCurrentGuildSettings = function getCurrentGuildSettings ( guildId ) {
2026-09-10 05:38:07 +00:00
const muteConfig = UserGuildSettingsStore . getMuteConfig ( guildId ) ;
const obj2 = { guild_suppress_everyone : UserGuildSettingsStore.isSuppressEveryoneEnabled ( guildId ) , guild_suppress_roles : UserGuildSettingsStore.isSuppressRolesEnabled ( guildId ) , guild_scheduled_events_muted : UserGuildSettingsStore.isMuteScheduledEventsEnabled ( guildId ) , guild_is_muted : UserGuildSettingsStore.isMuted ( guildId ) , guild_muted_until : null , guild_receive_mobile_push : null , guild_message_notification_settings : null , guild_notify_highlights : null , guild_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != muteConfig ) {
time = null ;
if ( null != muteConfig . end_time ) {
const _Date = Date ;
const date = new Date ( muteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . guild_muted_until = time ;
obj2 . guild_receive_mobile_push = UserGuildSettingsStore . isMobilePushEnabled ( guildId ) ;
obj2 . guild_message_notification_settings = frozen [ UserGuildSettingsStore . getMessageNotifications ( UserGuildSettingsStore , guildId ) ] ;
obj2 . guild_notify_highlights = UserGuildSettingsStore . getNotifyHighlights ( guildId ) ;
obj2 . guild_flags = UserGuildSettingsStore . getGuildFlags ( guildId ) ;
return obj2 ;
2026-07-20 16:05:17 +00:00
} ;
export const getManyCurrentGuildSettings = function getManyCurrentGuildSettings ( arr ) {
const map = new Map ( ) ;
2026-09-10 05:38:07 +00:00
const item = arr . forEach ( ( item ) = > {
const muteConfig = UserGuildSettingsStore . getMuteConfig ( item ) ;
const obj2 = { guild_suppress_everyone : UserGuildSettingsStore.isSuppressEveryoneEnabled ( item ) , guild_suppress_roles : UserGuildSettingsStore.isSuppressRolesEnabled ( item ) , guild_scheduled_events_muted : UserGuildSettingsStore.isMuteScheduledEventsEnabled ( item ) , guild_is_muted : UserGuildSettingsStore.isMuted ( item ) , guild_muted_until : null , guild_receive_mobile_push : null , guild_message_notification_settings : null , guild_notify_highlights : null , guild_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != muteConfig ) {
time = null ;
if ( null != muteConfig . end_time ) {
const _Date = Date ;
const date = new Date ( muteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . guild_muted_until = time ;
obj2 . guild_receive_mobile_push = UserGuildSettingsStore . isMobilePushEnabled ( item ) ;
obj2 . guild_message_notification_settings = frozen [ UserGuildSettingsStore . getMessageNotifications ( UserGuildSettingsStore , item ) ] ;
obj2 . guild_notify_highlights = UserGuildSettingsStore . getNotifyHighlights ( item ) ;
obj2 . guild_flags = UserGuildSettingsStore . getGuildFlags ( item ) ;
return map . set ( item , obj2 ) ;
2026-07-29 08:29:29 +00:00
} ) ;
2026-07-20 16:05:17 +00:00
return map ;
} ;
2026-09-23 06:49:31 +00:00
export const getCurrentChannelSettings = function getCurrentChannelSettings ( guildId , channelId ) {
const channelMuteConfig = UserGuildSettingsStore . getChannelMuteConfig ( guildId , channelId ) ;
const obj2 = { channel_is_muted : UserGuildSettingsStore.isChannelMuted ( guildId , channelId ) , channel_muted_until : null , channel_message_notification_settings : null , channel_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != channelMuteConfig ) {
time = null ;
if ( null != channelMuteConfig . end_time ) {
const _Date = Date ;
const date = new Date ( channelMuteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . channel_muted_until = time ;
2026-09-23 06:49:31 +00:00
obj2 . channel_message_notification_settings = frozen [ UserGuildSettingsStore . getChannelMessageNotifications ( UserGuildSettingsStore , guildId , channelId ) ] ;
obj2 . channel_flags = UserGuildSettingsStore . getChannelIdFlags ( guildId , channelId ) ;
2026-09-10 05:38:07 +00:00
return obj2 ;
2026-07-29 08:29:29 +00:00
} ;
2026-07-20 16:05:17 +00:00
export const getManyCurrentChannelSettings = function getManyCurrentChannelSettings ( guildId , keys ) {
2026-08-24 06:08:38 +00:00
closure_0 = guildId ;
2026-07-20 16:05:17 +00:00
const map = new Map ( ) ;
2026-09-10 05:38:07 +00:00
const item = keys . forEach ( ( item ) = > {
const channelMuteConfig = UserGuildSettingsStore . getChannelMuteConfig ( closure_0 , item ) ;
const obj2 = { channel_is_muted : UserGuildSettingsStore.isChannelMuted ( closure_0 , item ) , channel_muted_until : null , channel_message_notification_settings : null , channel_flags : null } ;
2026-07-29 08:29:29 +00:00
let time = null ;
if ( null != channelMuteConfig ) {
time = null ;
if ( null != channelMuteConfig . end_time ) {
const _Date = Date ;
const date = new Date ( channelMuteConfig . end_time ) ;
time = date . getTime ( ) ;
}
}
2026-09-10 05:38:07 +00:00
obj2 . channel_muted_until = time ;
obj2 . channel_message_notification_settings = frozen [ UserGuildSettingsStore . getChannelMessageNotifications ( UserGuildSettingsStore , closure_0 , item ) ] ;
obj2 . channel_flags = UserGuildSettingsStore . getChannelIdFlags ( closure_0 , item ) ;
return map . set ( item , obj2 ) ;
2026-07-29 08:29:29 +00:00
} ) ;
2026-07-20 16:05:17 +00:00
return map ;
} ;
export const trackAccountNotificationSettingUpdated = function trackAccountNotificationSettingUpdated ( quietMode , quietMode2 ) {
2026-09-10 05:38:07 +00:00
AnalyticsUtilsDefault . track ( constants . NOTIFICATION_SETTINGS_UPDATED , { update_type : constants2.ACCOUNT , quiet_mode_enabled : quietMode.quietMode , quiet_mode_enabled_old : quietMode2.quietMode } ) ;
2026-07-20 16:05:17 +00:00
} ;