388 lines
16 KiB
TypeScript
388 lines
16 KiB
TypeScript
// Metro module 1360 (f1361).
|
|
import _slicedToArray from "../../_bundle/_slicedToArray";
|
|
import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore";
|
|
import { DCFEventTypes } from "./DCFEventStore";
|
|
import DismissibleContentFrameworkStore from "./DismissibleContentFrameworkStore";
|
|
import { addCandidateContent, getCurrentlyShownCounts, isContentShown, removeCandidateContent } from "./DismissibleContentShownStateStore";
|
|
import { ContentDismissActionType } from "./DismissibleContentConstants";
|
|
import { AnalyticEvents } from "../../Constants";
|
|
import { isVersionedDismissibleContent, isSnowflakeBoundDismissibleContent } from "./DismissibleContentTypes";
|
|
import { getVersionedDismissibleContentCurrentVersion } from "./VersionedDismissibleContentUtils";
|
|
import SnowflakeUtils from "../../utils/SnowflakeUtils";
|
|
import { updateRecurringDismissibleContentState, updateGuildDismissedContent } from "../user_settings/UserSettingsProtoActionCreators";
|
|
import { disableNewUserDismissibleContent } from "./NewUserDismissibleContentRegistry";
|
|
import { useStateFromStores } from "../../_bundle/Module589";
|
|
import { DismissibleContent } from "../../_bundle/Module1358";
|
|
import Dispatcher from "../../Dispatcher";
|
|
import { handleDCDismissed, handleDCShownToUser } from "./DismissibleContentFrameworkActionCreators";
|
|
import AnalyticsUtils from "../../utils/AnalyticsUtils";
|
|
import { CONTENT_TYPES_WITH_BYPASS_FATIGUE } from "./DismissibleContentFatigueConfig";
|
|
let c1130_14, addTimeRecurringDismissedContent, addSnowflakeBoundDismissedContent, c1130_18, markDismissibleContentAsDismissedPreProcessing, markDismissibleContentAsDismissedPostProcessing, getNextNumTimesDismissed, markVersionedDismissibleContentAsDismissed, trackDismissibleContentShown, trackDismissibleContentDismissed;
|
|
const addVersionedDismissedContent = function addVersionedDismissedContent(a0, versionedDismissibleContentCurrentVersion, a2) {
|
|
return updateRecurringDismissibleContentState(a0, {
|
|
lastDismissedVersion: versionedDismissibleContentCurrentVersion,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
};
|
|
addTimeRecurringDismissedContent = function addTimeRecurringDismissedContent(a0, nextNumTimesDismissed) {
|
|
return updateRecurringDismissibleContentState(a0, {
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: nextNumTimesDismissed
|
|
});
|
|
};
|
|
addSnowflakeBoundDismissedContent = function addSnowflakeBoundDismissedContent(a0, snowflakeId, nextNumTimesDismissed) {
|
|
return updateRecurringDismissibleContentState(a0, {
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: snowflakeId,
|
|
numTimesDismissed: nextNumTimesDismissed
|
|
});
|
|
};
|
|
markDismissibleContentAsDismissedPreProcessing = function markDismissibleContentAsDismissedPreProcessing(a0, a1) {
|
|
if (isContentShown(a0) || a1.forceTrack) {
|
|
trackDismissibleContentDismissed(a0, a1);
|
|
}
|
|
let guildId = a1.guildId;
|
|
if (guildId == null) {
|
|
guildId = void 0;
|
|
}
|
|
handleDCDismissed(a0, guildId);
|
|
};
|
|
markDismissibleContentAsDismissedPostProcessing = function markDismissibleContentAsDismissedPostProcessing(a0, a1) {
|
|
removeCandidateContent({
|
|
content: a0,
|
|
groupName: a1?.groupName
|
|
}, !DismissibleContentFrameworkStore.hasUserHitDCCap());
|
|
};
|
|
getNextNumTimesDismissed = function getNextNumTimesDismissed(a0, a1) {
|
|
if (a1.numTimesDismissed != null) {
|
|
return a1.numTimesDismissed;
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
let r13 = (userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0])?.numTimesDismissed;
|
|
if (r13 == null) {
|
|
r13 = 0;
|
|
}
|
|
return r13 + 1;
|
|
};
|
|
markVersionedDismissibleContentAsDismissed = async function markVersionedDismissibleContentAsDismissed(c24395_0, c24395_1, c24395_2) {
|
|
let c24395_4;
|
|
c24395_4 = void 0;
|
|
let c28879_0 = c24395_0;
|
|
let c28879_1 = c24395_2;
|
|
const nextNumTimesDismissed = getNextNumTimesDismissed(c24395_0, c24395_2);
|
|
markDismissibleContentAsDismissedPreProcessing(c24395_0, c24395_2);
|
|
await addVersionedDismissedContent(c24395_0, c24395_1, nextNumTimesDismissed);
|
|
(0, markDismissibleContentAsDismissedPostProcessing)(c28879_0, c28879_1);
|
|
};
|
|
trackDismissibleContentShown = function trackDismissibleContentShown(a0, a1) {
|
|
const r16 = _slicedToArray(getCurrentlyShownCounts(), 2);
|
|
AnalyticsUtils.track(AnalyticEvents.DISMISSIBLE_CONTENT_SHOWN, {
|
|
type: DismissibleContent[a0],
|
|
content_count: r16[0],
|
|
fatigable_content_count: r16[1],
|
|
group_name: a1?.groupName,
|
|
bypass_fatigue: CONTENT_TYPES_WITH_BYPASS_FATIGUE.has(a0),
|
|
guild_id: a1?.guildId,
|
|
version: a1?.version,
|
|
snowflake_id: a1?.snowflakeId
|
|
});
|
|
};
|
|
trackDismissibleContentDismissed = function trackDismissibleContentDismissed(a0, a1) {
|
|
let num_times_dismissed;
|
|
const [content_count] = getCurrentlyShownCounts();
|
|
const renderedAtTimestamp = DismissibleContentFrameworkStore.getRenderedAtTimestamp(a0);
|
|
const date = new Date();
|
|
const shown_duration = renderedAtTimestamp == null ? null : date.getTime() - renderedAtTimestamp;
|
|
if (a1?.guildId != null) {
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(a1.guildId);
|
|
let r52 = (guildDismissedContentState == null ? void 0 : guildDismissedContentState[a0])?.numTimesDismissed;
|
|
if (r52 == null) {
|
|
r52 = 0;
|
|
}
|
|
num_times_dismissed = r52 + 1;
|
|
} else {
|
|
const r35 = a1 == null ? {} : a1;
|
|
if (r35.numTimesDismissed != null) {
|
|
num_times_dismissed = r35.numTimesDismissed;
|
|
} else {
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
let r44 = (userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0])?.numTimesDismissed;
|
|
if (r44 == null) {
|
|
r44 = 0;
|
|
}
|
|
num_times_dismissed = r44 + 1;
|
|
}
|
|
}
|
|
const DISMISSIBLE_CONTENT_DISMISSED = AnalyticEvents.DISMISSIBLE_CONTENT_DISMISSED;
|
|
let action = a1?.dismissAction;
|
|
if (action == null) {
|
|
action = ContentDismissActionType.UNKNOWN;
|
|
}
|
|
AnalyticsUtils.track(DISMISSIBLE_CONTENT_DISMISSED, {
|
|
type: DismissibleContent[a0],
|
|
action,
|
|
content_count,
|
|
group_name: a1?.groupName,
|
|
bypass_fatigue: CONTENT_TYPES_WITH_BYPASS_FATIGUE.has(a0),
|
|
guild_id: a1?.guildId,
|
|
shown_duration,
|
|
version: a1?.version,
|
|
num_times_dismissed,
|
|
snowflake_id: a1?.snowflakeId
|
|
});
|
|
};
|
|
c1130_14 = 2592000000;
|
|
c1130_18 = new Set([DismissibleContent.ACCOUNT_LINK_INVITE_FRIENDS, DismissibleContent.ACCOUNT_LINK_PROMPT, DismissibleContent.AUTOCLIPPING_ACCOUNT_PANEL_COACHMARK]);
|
|
export const SNOWFLAKE_BOUND_DISMISSIBLE_CONTENT_DURATION_MS = 2592000000;
|
|
export function getDismissedRecurringDismissibleContentState(a0) {
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const r6 = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0];
|
|
const r24 = {
|
|
lastDismissedVersion: isVersionedDismissibleContent(a0) ? getVersionedDismissibleContentCurrentVersion(a0) : 0,
|
|
lastDismissedAtMs: new Date().getTime().toString(),
|
|
lastDismissedObjectId: isSnowflakeBoundDismissibleContent(a0) ? SnowflakeUtils.fromTimestamp(Date.now() + c1130_14) : "0",
|
|
numTimesDismissed: null
|
|
};
|
|
let numTimesDismissed = r6?.numTimesDismissed;
|
|
if (numTimesDismissed == null) {
|
|
numTimesDismissed = 0;
|
|
}
|
|
r24.numTimesDismissed = numTimesDismissed;
|
|
return r24;
|
|
}
|
|
export { addVersionedDismissedContent };
|
|
export { addTimeRecurringDismissedContent };
|
|
export { addSnowflakeBoundDismissedContent };
|
|
export function UNSAFE_addGuildDismissedContent(a0, a1, a2) {
|
|
return updateGuildDismissedContent(a0, a1, {
|
|
dismissed: true,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
}
|
|
export function UNSAFE_removeGuildDismissedContent(a0, a1, a2) {
|
|
return updateGuildDismissedContent(a0, a1, {
|
|
dismissed: false,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
}
|
|
export function UNSAFE_addTimeRecurringGuildDismissedContent(a0, a1, a2) {
|
|
return updateGuildDismissedContent(a0, a1, {
|
|
dismissed: false,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
}
|
|
export function UNSAFE_removeTimeRecurringGuildDismissedContent(a0, a1, a2) {
|
|
return updateGuildDismissedContent(a0, a1, {
|
|
dismissed: false,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: "0",
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
}
|
|
export function UNSAFE_addSnowflakeBoundGuildDismissedContent(a0, a1, a2, a3) {
|
|
return updateGuildDismissedContent(a0, a2, {
|
|
dismissed: false,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: Date.now().toString(),
|
|
lastDismissedObjectId: a1,
|
|
numTimesDismissed: a3
|
|
});
|
|
}
|
|
export function UNSAFE_removeSnowflakeBoundGuildDismissedContent(a0, a1, a2) {
|
|
return updateGuildDismissedContent(a0, a1, {
|
|
dismissed: false,
|
|
lastDismissedVersion: 0,
|
|
lastDismissedAtMs: "0",
|
|
lastDismissedObjectId: "0",
|
|
numTimesDismissed: a2
|
|
});
|
|
}
|
|
export function isVersionedDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return {
|
|
isDismissed: true,
|
|
lastDismissedVersion: null
|
|
};
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const lastDismissedVersion = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0]?.lastDismissedVersion;
|
|
const r18 = a1 == null ? getVersionedDismissibleContentCurrentVersion(a0) : a1;
|
|
return {
|
|
isDismissed: lastDismissedVersion != null && lastDismissedVersion >= r18,
|
|
lastDismissedVersion
|
|
};
|
|
}
|
|
export function isTimeRecurringDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return {
|
|
isDismissed: true,
|
|
lastDismissedAtMs: null
|
|
};
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const r17 = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0]?.lastDismissedAtMs;
|
|
const lastDismissedAtMs = r17 != null ? r17 !== "0" ? Number.isNaN(Number(r17)) ? void 0 : Number(r17) : void 0 : void 0;
|
|
if (lastDismissedAtMs === void 0) {
|
|
return {
|
|
isDismissed: false,
|
|
lastDismissedAtMs: void 0
|
|
};
|
|
}
|
|
const r31 = a1 != null;
|
|
let isDismissed = true;
|
|
if (r31) {
|
|
const r34 = lastDismissedAtMs + a1.cooldownDurationMs;
|
|
const r38 = Date.now();
|
|
const r40 = a1.showAfterTimestamp == null || r38 >= a1.showAfterTimestamp && lastDismissedAtMs <= a1.showAfterTimestamp;
|
|
isDismissed = r38 < r34 || !r40;
|
|
}
|
|
return {
|
|
isDismissed,
|
|
lastDismissedAtMs
|
|
};
|
|
}
|
|
export function isTimeRecurringSnowflakeBoundDismissibleContentDismissed(a0, a1, a2) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return true;
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const r21 = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0]?.lastDismissedObjectId;
|
|
const userContent2 = UserSettingsProtoStore.settings.userContent;
|
|
const r28 = userContent2 == null ? void 0 : userContent2.recurringDismissibleContentStates[a0]?.lastDismissedAtMs;
|
|
const r13 = r28 != null ? r28 !== "0" ? Number.isNaN(Number(r28)) ? void 0 : Number(r28) : void 0 : void 0;
|
|
const r3 = a2 != null;
|
|
let r41 = false;
|
|
if (r3) {
|
|
const r42 = r13 != null;
|
|
r41 = false;
|
|
if (r42) {
|
|
const r44 = r13 + a2.cooldownDurationMs;
|
|
const r48 = Date.now();
|
|
const r4 = a2.showAfterTimestamp == null || r48 >= a2.showAfterTimestamp && r13 <= a2.showAfterTimestamp;
|
|
r41 = r48 < r44 || !r4;
|
|
}
|
|
}
|
|
const r54 = r21 != null && SnowflakeUtils.compare(a1, r21) !== 1;
|
|
if (r41) {
|
|
r41 = r54;
|
|
}
|
|
return r41;
|
|
}
|
|
export function UNSAFE_isSingleUseGuildDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return true;
|
|
}
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(a1);
|
|
return guildDismissedContentState != null && guildDismissedContentState[a0] != null && guildDismissedContentState[a0].dismissed === true;
|
|
}
|
|
export function useIsSingleUseGuildDismissibleContentDismissed(c12980_0, c12980_1) {
|
|
return useStateFromStores([UserSettingsProtoStore], () => {
|
|
let r1 = c12980_0 != null;
|
|
if (r1) {
|
|
const r14 = disableNewUserDismissibleContent(c12980_0);
|
|
let r15 = true;
|
|
if (!r14) {
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(c12980_1);
|
|
r15 = guildDismissedContentState != null && guildDismissedContentState[c12980_0] != null && guildDismissedContentState[c12980_0].dismissed === true;
|
|
}
|
|
r1 = r15;
|
|
}
|
|
return r1;
|
|
});
|
|
}
|
|
export function UNSAFE_isTimeRecurringGuildDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return true;
|
|
}
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(a1);
|
|
return guildDismissedContentState != null && guildDismissedContentState[a0] != null && guildDismissedContentState[a0].lastDismissedAtMs != null && guildDismissedContentState[a0].lastDismissedAtMs !== "0";
|
|
}
|
|
export function UNSAFE_isSnowflakeBoundGuildDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return true;
|
|
}
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(a1);
|
|
return guildDismissedContentState != null && guildDismissedContentState[a0] != null && guildDismissedContentState[a0].lastDismissedObjectId != null && guildDismissedContentState[a0].lastDismissedObjectId !== "0";
|
|
}
|
|
export function requestMarkDismissibleContentAsShown(a0, a1, a2, a3) {
|
|
if (!isContentShown(a0) && !DismissibleContentFrameworkStore.hasUserHitDCCap(a0, a1?.guildId)) {
|
|
const r15 = a3 == null && c1130_18.has(a0);
|
|
if (!(a2 ? !r15 : a2)) {
|
|
Dispatcher.dispatch({
|
|
type: "DCF_EVENT_LOGGED",
|
|
eventType: DCFEventTypes.DC_SHOW_REQUEST,
|
|
dismissibleContent: a0
|
|
});
|
|
addCandidateContent({
|
|
content: a0,
|
|
groupName: a1?.groupName,
|
|
onAdded: () => {
|
|
handleDCShownToUser(a0, a1?.guildId);
|
|
trackDismissibleContentShown(a0, a1);
|
|
if (a1 != null) {
|
|
const onShown = a1.onShown;
|
|
if (onShown != null) {
|
|
onShown.call(a1);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
export { markDismissibleContentAsDismissedPreProcessing };
|
|
export { markDismissibleContentAsDismissedPostProcessing };
|
|
export async function markLatestVersionDismissibleContentAsDismissed(c24394_0, c24394_1) {
|
|
await markVersionedDismissibleContentAsDismissed(c24394_0, getVersionedDismissibleContentCurrentVersion(c24394_0), c24394_1);
|
|
}
|
|
export function getGuildNextNumTimesDismissed(a0, a1) {
|
|
const guildDismissedContentState = UserSettingsProtoStore.getGuildDismissedContentState(a1);
|
|
let r11 = (guildDismissedContentState == null ? void 0 : guildDismissedContentState[a0])?.numTimesDismissed;
|
|
if (r11 == null) {
|
|
r11 = 0;
|
|
}
|
|
return r11 + 1;
|
|
}
|
|
export { getNextNumTimesDismissed };
|
|
export { markVersionedDismissibleContentAsDismissed };
|
|
export async function markSnowflakeBoundDismissibleContentAsDismissed(c24396_0, snowflakeId, c24396_2) {
|
|
let c24396_4;
|
|
c24396_4 = void 0;
|
|
let c28880_0 = c24396_0;
|
|
let c28880_1 = c24396_2;
|
|
const nextNumTimesDismissed = getNextNumTimesDismissed(c24396_0, c24396_2);
|
|
markDismissibleContentAsDismissedPreProcessing(c24396_0, {
|
|
...c24396_2,
|
|
snowflakeId
|
|
});
|
|
await addSnowflakeBoundDismissedContent(c24396_0, snowflakeId, nextNumTimesDismissed);
|
|
(0, markDismissibleContentAsDismissedPostProcessing)(c28880_0, c28880_1);
|
|
}
|
|
export async function markTimeRecurringDismissibleContentAsDismissed(c24397_0, c24397_1) {
|
|
let c24397_3;
|
|
c24397_3 = void 0;
|
|
let c28881_0 = c24397_0;
|
|
let c28881_1 = c24397_1;
|
|
const nextNumTimesDismissed = getNextNumTimesDismissed(c24397_0, c24397_1);
|
|
markDismissibleContentAsDismissedPreProcessing(c24397_0, c24397_1);
|
|
await addTimeRecurringDismissedContent(c24397_0, nextNumTimesDismissed);
|
|
(0, markDismissibleContentAsDismissedPostProcessing)(c28881_0, c28881_1);
|
|
}
|
|
export { trackDismissibleContentShown };
|
|
export { trackDismissibleContentDismissed };
|