// Metro module 8442 (f8443). import { useRef, useEffect, useCallback } from "react"; import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore"; import SelectedGuildStore from "../../stores/SelectedGuildStore"; import DismissibleContentFrameworkStore from "./DismissibleContentFrameworkStore"; import DismissibleContentShownStateStore from "./DismissibleContentShownStateStore"; import "../../Constants"; import { UserSettingsTypes } from "../user_settings/UserSettingsConstants"; import { useAnyOverlayRenderingLocked } from "../overlay/OverlayTrackingUtils.native"; import { useStateFromStores } from "../../_bundle/Module589"; import { markVersionedDismissibleContentAsDismissed, markTimeRecurringDismissibleContentAsDismissed, markSnowflakeBoundDismissibleContentAsDismissed, isTimeRecurringSnowflakeBoundDismissibleContentDismissed } from "./DismissibleContentUtils"; import { useNewUserDismissibleContent, disableNewUserDismissibleContent } from "./NewUserDismissibleContentRegistry"; import { hasBit } from "../../utils/Uint8ArrayUtils"; import { UNSAFE_markDismissibleContentAsDismissed, UNSAFE_markSnowflakeBoundGuildDismissibleContentAsDismissed, UNSAFE_markSingleUseGuildDismissibleContentAsDismissed, UNSAFE_markTimeRecurringGuildDismissibleContentAsDismissed } from "./DismissibleContentUnsafeUtils"; import SnowflakeUtils from "../../utils/SnowflakeUtils"; function $mk80638($env) { return (a0) => { const r4 = $env[0]; return r4 != null && a0.currentlyShown.has(r4); }; } function $mk80639() { return () => {}; } function $mk80640($env) { return () => { const r2 = $env; const r5 = r2[0]; return r5 != null && $env.$parent[6].hasUserHitDCCap(r5, r2[1]); }; } function $mk80641($env) { return () => { const r2 = $env; const r8 = r2[0]; if (r8 != null) { const r3 = $env.$parent; if (!r3[4].hasLoaded(r3[10].PRELOADED_USER_SETTINGS)) { let current = r2[7].current; let group_name = r2[2]; let latest_version = r2[3]; let snowflake_id = r2[4]; const r23 = r3[1]; const r13 = r3[2]; const r7 = r23(r13[7]); const DISMISSIBLE_CONTENT_SHOWN_BEFORE_CONNECTION_OPEN = r3[9].DISMISSIBLE_CONTENT_SHOWN_BEFORE_CONNECTION_OPEN; const r33 = { content_type: (0, r3[0])(r13[8]).DismissibleContent[r8], group_name: null, latest_version: null, guild_id: null, snowflake_id: null }; if (group_name == null) { group_name = null; } r33.group_name = group_name; if (latest_version == null) { latest_version = null; } r33.latest_version = latest_version; if (current == null) { current = null; } r33.guild_id = current; if (snowflake_id == null) { snowflake_id = null; } r33.snowflake_id = snowflake_id; r7.track(DISMISSIBLE_CONTENT_SHOWN_BEFORE_CONNECTION_OPEN, r33); } (0, r3[0])(r3[2][11]).requestMarkDismissibleContentAsShown(r8, { groupName: r2[2], guildId: r2[7].current, version: r2[3], snowflakeId: r2[4] }, r2[5], r2[6]); return $mk105884(r2); } }; } function $mk80642($env) { return () => { const r6 = $env[0]; let r7 = null; if (r6 !== null) { const userContent = $env.$parent[4].settings.userContent; const r2 = userContent == null; let r10 = void 0; if (!r2) { const recurringDismissibleContentStates = userContent.recurringDismissibleContentStates; r10 = recurringDismissibleContentStates == null ? void 0 : recurringDismissibleContentStates[r6]; } r7 = r10; } if (r7 == null) { r7 = $env.$parent[11]; } return r7; }; } function $mk105884($env) { return () => { const r4 = $env; const content = r4[0]; if (content != null) { const r2 = $env.$parent; (0, r2[8])({ content, groupName: r4[2] }, !r2[6].hasUserHitDCCap()); } }; } let c5407_11; let env5407 = {}; const canShowTimeRecurringContent = function canShowTimeRecurringContent(a0, a1, a2, a3) { const r9 = a1 != null ? Number.isNaN(Number(a1)) ? void 0 : Number(a1) : void 0; const r18 = r9 !== void 0 ? r9 + a3.cooldownDurationMs : 0; const r23 = Date.now(); let r25 = a3.showAfterTimestamp == null; if (!r25) { let r27 = r23 >= a3.showAfterTimestamp; if (r27) { let r28 = r9; if (r28 == null) { r28 = 0; } r27 = r28 <= a3.showAfterTimestamp; } r25 = r27; } const r31 = a3.numTimesToRecur == null || a3.numTimesToRecur === 0 || a2 == null || a2 < a3.numTimesToRecur; return (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS) || r9 != null && a2 != null) && a0 && r25 && (r9 == null || r23 >= r18) && r31; }; c5407_11 = {}; export function useGetDismissibleContent(a0, a1) { let r34; let stateFromStores2, c16577_3; const groupName = a1; const stateFromStores = useStateFromStores([UserSettingsProtoStore], () => UserSettingsProtoStore.settings.userContent?.dismissedContents); stateFromStores2 = useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()); const newUserDismissibleContent = useNewUserDismissibleContent(a0); c16577_3 = null; if (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS)) { const r40 = newUserDismissibleContent.find((item) => stateFromStores == null || !hasBit(stateFromStores, item)); c16577_3 = r40; r34 = r40; } else { const r2 = stateFromStores != null; r34 = null; if (r2) { const r37 = newUserDismissibleContent.find((item) => !hasBit(stateFromStores, item)); c16577_3 = r37; r34 = r37; } } let env16578; const r41 = env16578 = { $parent: env5407 }; env16578[0] = r34; env16578[1] = stateFromStores2; env16578[2] = a1; const r44 = DismissibleContentShownStateStore($mk80638(r41)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16578[5] = anyOverlayRenderingLocked; const stateFromStores9 = useStateFromStores([], $mk80639()); env16578[6] = stateFromStores9; const stateFromStores10 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r41)); const ref = useRef(stateFromStores2); env16578[7] = ref; ref.current = stateFromStores2; useEffect($mk80641(r41), [r34, a1, stateFromStores10, anyOverlayRenderingLocked, void 0, stateFromStores9, void 0]); return [r44 ? r34 ?? null : null, useCallback((a0, a1) => { if (c16577_3 != null) { UNSAFE_markDismissibleContentAsDismissed(c16577_3, { dismissAction: a0, groupName, guildId: stateFromStores2, forceTrack: a1 }); } }, [r34, a1, stateFromStores2])]; } export function useGetVersionedDismissibleContent(a0, a1, a2) { let r40; let c16579_3; let env16580; const version = a1; const groupName2 = a2; const r3 = env16580 = { $parent: env5407 }; env16580[0] = a0; const lastDismissedVersion = useStateFromStores([UserSettingsProtoStore], $mk80642(r3)).lastDismissedVersion; const stateFromStores3 = useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()); c16579_3 = null; const r2 = a0 != null; let r28 = null; if (r2) { const r32 = disableNewUserDismissibleContent(a0); if (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS)) { L11: { r40 = null; if (!r32) { if (lastDismissedVersion != null) { const r41 = lastDismissedVersion < a1; r40 = null; if (!r41) { break L11; } } r40 = a0; } } c16579_3 = r40; r28 = r40; } else { const r37 = lastDismissedVersion != null; r28 = null; if (r37) { const r38 = r32 ? null : lastDismissedVersion < a1 ? a0 : null; c16579_3 = r38; r28 = r38; } } } let env16581; const r42 = env16581 = { $parent: env5407 }; env16581[0] = r28; env16581[1] = stateFromStores3; env16581[2] = a2; env16581[3] = a1; const r45 = DismissibleContentShownStateStore($mk80638(r42)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16581[5] = anyOverlayRenderingLocked; const stateFromStores9 = useStateFromStores([], $mk80639()); env16581[6] = stateFromStores9; const stateFromStores10 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r42)); const ref = useRef(stateFromStores3); env16581[7] = ref; ref.current = stateFromStores3; useEffect($mk80641(r42), [r28, a2, stateFromStores10, anyOverlayRenderingLocked, a1, stateFromStores9, void 0]); return [r45 ? r28 ?? null : null, useCallback((a0, a1) => { if (c16579_3 != null) { markVersionedDismissibleContentAsDismissed(c16579_3, version, { dismissAction: a0, groupName: groupName2, guildId: stateFromStores3, forceTrack: a1, version }); } }, [r28, a2, stateFromStores3, a1])]; } export function useGetTimeRecurringDismissibleContent(a0, a1, a2) { let c16582_2; let env16583; const groupName3 = a2; const r4 = env16583 = { $parent: env5407 }; env16583[0] = a0; const stateFromStores9 = useStateFromStores([UserSettingsProtoStore], $mk80642(r4)); const { lastDismissedAtMs, numTimesDismissed } = stateFromStores9; const stateFromStores4 = useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()); c16582_2 = null; const r3 = a0 != null; let r34 = null; if (r3) { const r40 = canShowTimeRecurringContent(!disableNewUserDismissibleContent(a0), lastDismissedAtMs, numTimesDismissed, a1) ? a0 : null; c16582_2 = r40; r34 = r40; } let env16584; const r41 = env16584 = { $parent: env5407 }; env16584[0] = r34; env16584[1] = stateFromStores4; env16584[2] = a2; const r44 = DismissibleContentShownStateStore($mk80638(r41)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16584[5] = anyOverlayRenderingLocked; const stateFromStores10 = useStateFromStores([], $mk80639()); env16584[6] = stateFromStores10; const stateFromStores11 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r41)); const ref = useRef(stateFromStores4); env16584[7] = ref; ref.current = stateFromStores4; useEffect($mk80641(r41), [r34, a2, stateFromStores11, anyOverlayRenderingLocked, void 0, stateFromStores10, void 0]); return [r44 ? r34 ?? null : null, useCallback((a0, a1) => { if (c16582_2 != null) { markTimeRecurringDismissibleContentAsDismissed(c16582_2, { dismissAction: a0, groupName: groupName3, guildId: stateFromStores4, forceTrack: a1 }); } }, [r34, a2, stateFromStores4])]; } export function useGetSnowflakeBoundDismissibleContent(a0, a1, a2) { let r45; let c16585_3; let env16586; let c16585_0 = a1; const groupName4 = a2; const r4 = env16586 = { $parent: env5407 }; env16586[0] = a0; const lastDismissedObjectId = useStateFromStores([UserSettingsProtoStore], $mk80642(r4)).lastDismissedObjectId; const stateFromStores5 = useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()); c16585_3 = null; const r3 = a0 != null; let r29 = null; if (r3) { const r33 = disableNewUserDismissibleContent(a0); if (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS)) { L11: { r45 = null; if (!r33) { if (lastDismissedObjectId != null) { const r50 = SnowflakeUtils.compare(a1, lastDismissedObjectId); r45 = null; if (r50 !== 1) { break L11; } } r45 = a0; } } c16585_3 = r45; r29 = r45; } else { const r38 = lastDismissedObjectId != null; r29 = null; if (r38) { const r39 = r33 ? null : SnowflakeUtils.compare(a1, lastDismissedObjectId) === 1 ? a0 : null; c16585_3 = r39; r29 = r39; } } } let env16587; const r52 = env16587 = { $parent: env5407 }; env16587[0] = r29; env16587[1] = stateFromStores5; env16587[2] = a2; env16587[4] = a1; const r55 = DismissibleContentShownStateStore($mk80638(r52)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16587[5] = anyOverlayRenderingLocked; const stateFromStores9 = useStateFromStores([], $mk80639()); env16587[6] = stateFromStores9; const stateFromStores10 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r52)); const ref = useRef(stateFromStores5); env16587[7] = ref; ref.current = stateFromStores5; useEffect($mk80641(r52), [r29, a2, stateFromStores10, anyOverlayRenderingLocked, void 0, stateFromStores9, a1]); return [r55 ? r29 ?? null : null, useCallback((a0, a1) => { if (c16585_3 != null) { markSnowflakeBoundDismissibleContentAsDismissed(c16585_3, c16585_0, { dismissAction: a0, groupName: groupName4, guildId: stateFromStores5, forceTrack: a1 }); } }, [r29, a2, stateFromStores5, a1])]; } export function useGetSnowflakeBoundGuildDismissibleContent_UNSAFE(a0, a1, a2, a3) { let r45; let c16588_3; let c16588_0 = a1; const guildId = a2; const groupName5 = a3; const stateFromStores9 = useStateFromStores([UserSettingsProtoStore], () => UserSettingsProtoStore.getGuildDismissedContentState(guildId)); const lastDismissedObjectId = (a0 != null ? stateFromStores9 == null ? null : stateFromStores9 == null ? void 0 : stateFromStores9[a0] : null)?.lastDismissedObjectId; c16588_3 = null; const r27 = a0 != null; let r28 = null; if (r27) { const r32 = disableNewUserDismissibleContent(a0); if (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS)) { L19: { r45 = null; if (!r32) { if (lastDismissedObjectId != null) { const r50 = SnowflakeUtils.compare(a1, lastDismissedObjectId); r45 = null; if (r50 !== 1) { break L19; } } r45 = a0; } } c16588_3 = r45; r28 = r45; } else { const r38 = lastDismissedObjectId != null; r28 = null; if (r38) { const r39 = r32 ? null : SnowflakeUtils.compare(a1, lastDismissedObjectId) === 1 ? a0 : null; c16588_3 = r39; r28 = r39; } } } let env16589; const r52 = env16589 = { $parent: env5407 }; env16589[0] = r28; env16589[1] = a2; env16589[2] = a3; env16589[4] = a1; const r55 = DismissibleContentShownStateStore($mk80638(r52)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16589[5] = anyOverlayRenderingLocked; const stateFromStores10 = useStateFromStores([], $mk80639()); env16589[6] = stateFromStores10; const stateFromStores11 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r52)); const ref = useRef(a2); env16589[7] = ref; ref.current = a2; useEffect($mk80641(r52), [r28, a3, stateFromStores11, anyOverlayRenderingLocked, void 0, stateFromStores10, a1]); return [r55 ? r28 ?? null : null, useCallback((a0, a1) => { if (c16588_3 != null) { UNSAFE_markSnowflakeBoundGuildDismissibleContentAsDismissed(c16588_3, c16588_0, guildId, { dismissAction: a0, groupName: groupName5, guildId, forceTrack: a1 }); } }, [r28, a3, a2, a1])]; } export function useGetTimeRecurringSnowflakeBoundDismissibleContent(a0, a1, a2, a3) { let c16590_3; const groupName6 = a3; const stateFromStores6 = useStateFromStores([SelectedGuildStore], () => SelectedGuildStore.getGuildId()); c16590_3 = null; const r20 = a0 == null || isTimeRecurringSnowflakeBoundDismissibleContentDismissed(a0, a2, a1); let r24 = null; if (!r20) { c16590_3 = a0; r24 = a0; } let env16591; const r25 = env16591 = { $parent: env5407 }; env16591[0] = r24; env16591[1] = stateFromStores6; env16591[2] = a3; env16591[4] = a2; const r28 = DismissibleContentShownStateStore($mk80638(r25)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16591[5] = anyOverlayRenderingLocked; const stateFromStores9 = useStateFromStores([], $mk80639()); env16591[6] = stateFromStores9; const stateFromStores10 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r25)); const ref = useRef(stateFromStores6); env16591[7] = ref; ref.current = stateFromStores6; useEffect($mk80641(r25), [r24, a3, stateFromStores10, anyOverlayRenderingLocked, void 0, stateFromStores9, a2]); return [r28 ? r24 ?? null : null, useCallback((a0, a1) => { if (c16590_3 != null) { markSnowflakeBoundDismissibleContentAsDismissed(c16590_3, a2, { dismissAction: a0, groupName: groupName6, guildId: stateFromStores6, forceTrack: a1 }); } }, [r24, a3, stateFromStores6, a2])]; } export function useGetSingleUseGuildDismissibleContent_UNSAFE(a0, a1, a2) { let r28; let c16592_3; const guildId2 = a1; const groupName7 = a2; const stateFromStores7 = useStateFromStores([UserSettingsProtoStore], () => UserSettingsProtoStore.getGuildDismissedContentState(guildId2)); const newUserDismissibleContent = useNewUserDismissibleContent(a0); c16592_3 = null; if (UserSettingsProtoStore.hasLoaded(UserSettingsTypes.PRELOADED_USER_SETTINGS)) { const r34 = newUserDismissibleContent.find((item) => stateFromStores7 == null || stateFromStores7[item] == null || stateFromStores7[item].dismissed === false); c16592_3 = r34; r28 = r34; } else { const r2 = stateFromStores7 != null; r28 = null; if (r2) { const r31 = newUserDismissibleContent.find((item) => stateFromStores7[item] == null || stateFromStores7[item].dismissed === false); c16592_3 = r31; r28 = r31; } } let env16593; const r35 = env16593 = { $parent: env5407 }; env16593[0] = r28; env16593[1] = a1; env16593[2] = a2; const r38 = DismissibleContentShownStateStore($mk80638(r35)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16593[5] = anyOverlayRenderingLocked; const stateFromStores9 = useStateFromStores([], $mk80639()); env16593[6] = stateFromStores9; const stateFromStores10 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r35)); const ref = useRef(a1); env16593[7] = ref; ref.current = a1; useEffect($mk80641(r35), [r28, a2, stateFromStores10, anyOverlayRenderingLocked, void 0, stateFromStores9, void 0]); return [r38 ? r28 ?? null : null, useCallback((a0, a1) => { if (c16592_3 != null) { UNSAFE_markSingleUseGuildDismissibleContentAsDismissed(c16592_3, guildId2, { dismissAction: a0, groupName: groupName7, guildId: guildId2, forceTrack: a1 }); } }, [r28, a2, a1])]; } export function useGetTimeRecurringGuildDismissibleContent_UNSAFE(a0, a1, a2, a3) { let c16594_2; const guildId3 = a1; const groupName8 = a3; const stateFromStores9 = useStateFromStores([UserSettingsProtoStore], () => UserSettingsProtoStore.getGuildDismissedContentState(guildId3)); const r27 = a0 != null ? stateFromStores9 == null ? null : stateFromStores9 == null ? void 0 : stateFromStores9[a0] : null; const numTimesDismissed = r27?.numTimesDismissed; c16594_2 = null; const r33 = a0 != null; let r34 = null; if (r33) { const r43 = canShowTimeRecurringContent(!disableNewUserDismissibleContent(a0), r27?.lastDismissedAtMs, numTimesDismissed, a2) ? a0 : null; c16594_2 = r43; r34 = r43; } let env16595; const r44 = env16595 = { $parent: env5407 }; env16595[0] = r34; env16595[1] = a1; env16595[2] = a3; const r47 = DismissibleContentShownStateStore($mk80638(r44)); const anyOverlayRenderingLocked = useAnyOverlayRenderingLocked(); env16595[5] = anyOverlayRenderingLocked; const stateFromStores10 = useStateFromStores([], $mk80639()); env16595[6] = stateFromStores10; const stateFromStores11 = useStateFromStores([DismissibleContentFrameworkStore], $mk80640(r44)); const ref = useRef(a1); env16595[7] = ref; ref.current = a1; useEffect($mk80641(r44), [r34, a3, stateFromStores11, anyOverlayRenderingLocked, void 0, stateFromStores10, void 0]); return [r47 ? r34 ?? null : null, useCallback((a0, a1) => { if (c16594_2 != null) { UNSAFE_markTimeRecurringGuildDismissibleContentAsDismissed(c16594_2, guildId3, { dismissAction: a0, groupName: groupName8, guildId: guildId3, forceTrack: a1 }); } }, [r34, a3, a1])]; } export function useDangerouslyPeekDismissibleContents(a0) { const stateFromStores8 = useStateFromStores([UserSettingsProtoStore], () => UserSettingsProtoStore.settings.userContent?.dismissedContents); return a0.filter((item) => stateFromStores8 != null && !hasBit(stateFromStores8, item)); }