// Metro module 4635 (f4636). import _slicedToArray from "../../_bundle/_slicedToArray"; import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore"; import UserStore from "../../stores/UserStore"; import { DEFAULT_SOUND_GUILD_ID } from "./SoundboardConstants"; import { AnalyticEvents } from "../../Constants"; import { UserSettingsTypes } from "../user_settings/UserSettingsConstants"; import Frecency from "../../lib/Frecency"; import Module3771 from "../../_bundle/Module3771"; import Module12 from "../../_bundle/Module12"; import AnalyticsUtils from "../../utils/AnalyticsUtils"; import { amplitudeToPerceptual } from "../../utils/PerceptualVolumeUtils"; import { SoundboardSettings } from "../user_settings/UserSettings"; import SnowflakeUtils from "../../utils/SnowflakeUtils"; import Module589 from "../../_bundle/Module589"; import Dispatcher from "../../Dispatcher"; let c2830_9, c2830_10, c2830_11, c2830_12, NOT_FETCHED, NOT_FETCHED2, c2830_15, c2830_16, c2830_17, c2830_18, c2830_19, c2830_20, c2830_21, c2830_22, syncLocalSoundboardMutesFromUserSettings; const handleSoundCreateOrUpdate = function handleSoundCreateOrUpdate({ sound }) { const r16 = c2830_10.get(sound.guildId); const r17 = r16 == null ? void 0 : r16.findIndex((item) => item.soundId === sound.soundId); if (r16 != null && (r17 != null && r17 !== -1)) { r16[r17] = sound; c2830_10.set(sound.guildId, [...r16]); } else if (r16 != null) { if (r16 != null) { r16.push(sound); } c2830_10.set(sound.guildId, [...r16]); } }; syncLocalSoundboardMutesFromUserSettings = function syncLocalSoundboardMutesFromUserSettings(a0) { let r3 = a0 == null ? void 0 : a0.audioContextSettings?.user; if (r3 == null) { r3 = {}; } for (const item of Object.entries(r3)) { const r36 = _slicedToArray(item, 2); const r37 = r36[0]; const soundboardMuted = r36[1].soundboardMuted; if (soundboardMuted) { c2830_12.add(r37); } else { c2830_12.delete(r37); } } for (const item2 of c2830_12.keys()) { if (r3[item2] == null) { c2830_12.delete(item2); } } }; c2830_9 = { NOT_FETCHED: 0, 0: "NOT_FETCHED", FETCHING: 1, 1: "FETCHING", FETCHED: 2, 2: "FETCHED" }; c2830_10 = new Map(); c2830_11 = new Map(); c2830_12 = new Set(); NOT_FETCHED = c2830_9.NOT_FETCHED; NOT_FETCHED2 = c2830_9.NOT_FETCHED; c2830_15 = new Set(); c2830_16 = new Map(); c2830_17 = Date.UTC(2026, 5, 29); c2830_18 = new Frecency({ computeBonus: () => 100, computeWeight: (a0) => { if (a0 > Module3771().diff(c2830_17, "days")) { return 0; } return a0 <= 3 ? 100 : a0 <= 15 ? 70 : a0 <= 30 ? 50 : a0 <= 45 ? 30 : a0 <= 80 ? 10 : 1; }, lookupKey: (a0) => a0, afterCompute: () => {} }); c2830_19 = []; c2830_20 = false; c2830_21 = false; c2830_22 = Module12.debounce((a0, a1) => { AnalyticsUtils.track(AnalyticEvents.UPDATE_SOUNDBOARD_SETTINGS, { volume: Math.round(amplitudeToPerceptual(a0)), location_stack: a1 }); SoundboardSettings.updateSetting({ volume: a0 }); }, 1000); class SoundboardStore extends Module589.Store { static displayName = "SoundboardStore"; initialize() { this.waitFor(UserSettingsProtoStore, UserStore); syncLocalSoundboardMutesFromUserSettings(UserSettingsProtoStore.settings); c2830_21 = SoundboardSettings.getSetting()?.volume === 0; } getOverlaySerializedState() { return { soundboardSounds: Object.fromEntries(c2830_10), favoritedSoundIds: Array.from(c2830_15), localSoundboardMutes: Array.from(c2830_12) }; } getSounds() { return c2830_10; } getSoundsForGuild(a0) { return c2830_10.get(a0); } getSound(a0, c14373_0) { let r7 = c2830_10.get(a0); if (r7 == null) { r7 = []; } return r7.find((item) => item.soundId === c14373_0); } getSoundById(c14374_0) { return Array.from(c2830_10.values()).flat().find((item) => item.soundId === c14374_0); } isFetchingSounds() { return NOT_FETCHED2 === c2830_9.FETCHING; } isFetchingDefaultSounds() { return NOT_FETCHED === c2830_9.FETCHING; } isFetching() { return this.isFetchingSounds() || this.isFetchingDefaultSounds(); } shouldFetchDefaultSounds() { return NOT_FETCHED === c2830_9.NOT_FETCHED; } hasFetchedDefaultSounds() { return NOT_FETCHED === c2830_9.FETCHED; } isUserPlayingSounds(a0) { const r7 = c2830_16.get(a0); return r7 != null && r7 > 0; } isPlayingSound(a0) { return c2830_11.get(a0) != null; } isFavoriteSound(a0) { return c2830_15.has(a0); } getFavorites() { return c2830_15; } getFrequentlyUsedSoundIds() { return c2830_18.frequently; } hasPendingUsage() { return c2830_19.length > 0; } get playedSoundFrecencyWithoutFetchingLatest() { return c2830_18; } isLocalSoundboardMuted(a0) { return c2830_12.has(a0); } isSoundboardVolumeMuted() { return c2830_21; } hasHadOtherUserPlaySoundInSession() { return c2830_20; } hasFetchedAllSounds() { return NOT_FETCHED2 === c2830_9.FETCHED && NOT_FETCHED === c2830_9.FETCHED; } isFetchingAnySounds() { return NOT_FETCHED2 === c2830_9.FETCHING || NOT_FETCHED === c2830_9.FETCHING; } } const soundboardStore = new SoundboardStore(Dispatcher, { LOGOUT: function handleReset() { c2830_10.clear(); c2830_11.clear(); c2830_16.clear(); c2830_20 = false; NOT_FETCHED2 = c2830_9.NOT_FETCHED; NOT_FETCHED = c2830_9.NOT_FETCHED; c2830_21 = false; c2830_19 = []; c2830_18.overwriteHistory({}); }, GUILD_SOUNDBOARD_FETCH: function handleSoundboardFetch() { NOT_FETCHED2 = c2830_9.FETCHING; }, GUILD_SOUNDBOARD_SOUND_CREATE: handleSoundCreateOrUpdate, GUILD_SOUNDBOARD_SOUND_UPDATE: handleSoundCreateOrUpdate, GUILD_SOUNDBOARD_SOUND_DELETE: function handleSoundDelete({ soundId, guildId }) { const r15 = c2830_10.get(guildId); const r16 = r15 == null ? void 0 : r15.findIndex((item) => item.soundId === soundId); if (!(r15 == null || r16 == null || r16 < 0)) { r15.splice(r16, 1); c2830_10.set(guildId, [...r15]); } }, GUILD_SOUNDBOARD_SOUND_PLAY_START: function handleSoundPlayStart({ soundId: soundId2, userId }) { let r13 = c2830_11.get(soundId2); if (r13 == null) { r13 = 0; } const r9 = r13 + 1; let r15 = c2830_16.get(userId); if (r15 == null) { r15 = 0; } const r7 = r15 + 1; c2830_11.set(soundId2, r9); c2830_16.set(userId, r7); if (userId !== UserStore.getCurrentUser()?.id) { c2830_20 = true; } }, GUILD_SOUNDBOARD_SOUND_PLAY_END: function handleSoundPlayEnd({ soundId: soundId2, userId }) { let r10 = c2830_11.get(soundId2); if (r10 == null) { r10 = 0; } const r1 = r10 - 1; let r13 = c2830_16.get(userId); if (r13 == null) { r13 = 0; } const r14 = r13 - 1; if (r1 <= 0) { c2830_11.delete(soundId2); } else { c2830_11.set(soundId2, r1); } if (r14 <= 0) { c2830_16.delete(userId); } else { c2830_16.set(userId, r14); } }, GUILD_SOUNDBOARD_SOUNDS_UPDATE: function handleSoundsUpdate(a0) { c2830_10.set(a0.guildId, a0.soundboardSounds); }, USER_SOUNDBOARD_SET_VOLUME: function handleSetLocalVolume({ volume, location: location2 }) { const r2 = c2830_21; c2830_21 = volume === 0; c2830_22(volume, location2); if (r2 !== c2830_21) { c2830_22.flush(); } }, SOUNDBOARD_TRACK_USAGE: function handleTrackUsage({ soundId: soundId2 }) { c2830_18.track(soundId2); c2830_19.push({ key: soundId2, timestamp: Date.now() }); c2830_18.compute(); }, VOICE_CHANNEL_SELECT: function handleVoiceChannelSelect() { c2830_11.clear(); c2830_16.clear(); }, USER_SETTINGS_PROTO_UPDATE: function handleUserSettingsProtoUpdate({ settings, wasSaved }) { const { type, proto } = settings; if (UserSettingsTypes.FRECENCY_AND_FAVORITES_SETTINGS === type) { const r30 = Set; let r33 = proto == null ? void 0 : proto.favoriteSoundboardSounds?.soundIds; if (r33 == null) { r33 = []; } c2830_15 = new r30(r33); if (wasSaved) { c2830_19 = []; } if (proto?.playedSoundFrecency != null) { let playedSounds = proto.playedSoundFrecency.playedSounds; if (playedSounds == null) { playedSounds = {}; } c2830_18.overwriteHistory(Module12.mapValues(playedSounds, (a0) => ({ ...a0, recentUses: a0.recentUses.map(Number).filter((item) => item > 0) })), c2830_19); } } else if (UserSettingsTypes.PRELOADED_USER_SETTINGS === type) { syncLocalSoundboardMutesFromUserSettings(proto); c2830_21 = SoundboardSettings.getSetting()?.volume === 0; } }, SOUNDBOARD_FETCH_DEFAULT_SOUNDS: function handleFetchDefaultSounds() { NOT_FETCHED = c2830_9.FETCHING; }, SOUNDBOARD_FETCH_DEFAULT_SOUNDS_SUCCESS: function handleFetchDefaultSoundsSuccess(a0) { c2830_10.set(DEFAULT_SOUND_GUILD_ID, a0.soundboardSounds); NOT_FETCHED = c2830_9.FETCHED; }, SOUNDBOARD_SOUNDS_RECEIVED: function handleSoundboardSoundsReceived(a0) { a0.updates.forEach((update) => { c2830_10.set(update.guildId, update.sounds); }); NOT_FETCHED2 = c2830_9.FETCHED; }, GUILD_DELETE: function handleGuildDelete(a0) { c2830_10.delete(a0.guild.id); }, AUDIO_TOGGLE_LOCAL_SOUNDBOARD_MUTE: function handleToggleLocalSoundboardMute({ userId }) { const r6 = c2830_12.has(userId); if (r6) { c2830_12.delete(userId); } else { c2830_12.add(userId); } }, OVERLAY_INITIALIZE: function handleOverlayInitialize({ soundboardStoreState }) { c2830_10 = new Map(SnowflakeUtils.entries(soundboardStoreState.soundboardSounds)); c2830_15 = new Set(soundboardStoreState.favoritedSoundIds); c2830_12 = new Set(soundboardStoreState.localSoundboardMutes); } }); export default soundboardStore; export { c2830_9 as FetchState };