130 lines
6.1 KiB
TypeScript
130 lines
6.1 KiB
TypeScript
// Metro module 4005 (f4006).
|
|
import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore";
|
|
import SelectedGuildStore from "../../stores/SelectedGuildStore";
|
|
import Durations from "../../utils/Durations";
|
|
import { disableNewUserDismissibleContent } from "./NewUserDismissibleContentRegistry";
|
|
import { isVersionedDismissibleContent, isSnowflakeBoundDismissibleContent, isTimeRecurringDismissibleContent, isSingleUseGuildDismissibleContent, isTimeRecurringGuildDismissibleContent, isSnowflakeBoundGuildDismissibleContent } from "./DismissibleContentTypes";
|
|
import { isVersionedDismissibleContentDismissed, isTimeRecurringDismissibleContentDismissed, UNSAFE_isSingleUseGuildDismissibleContentDismissed, UNSAFE_isTimeRecurringGuildDismissibleContentDismissed, UNSAFE_isSnowflakeBoundGuildDismissibleContentDismissed, markDismissibleContentAsDismissedPreProcessing, markDismissibleContentAsDismissedPostProcessing, UNSAFE_addGuildDismissedContent, getGuildNextNumTimesDismissed, UNSAFE_addTimeRecurringGuildDismissedContent, UNSAFE_addSnowflakeBoundGuildDismissedContent } from "./DismissibleContentUtils";
|
|
import SnowflakeUtils from "../../utils/SnowflakeUtils";
|
|
import { hasBit } from "../../utils/Uint8ArrayUtils";
|
|
import { useStateFromStores } from "../../_bundle/Module589";
|
|
import { addDismissedContent } from "../user_settings/UserSettingsProtoActionCreators";
|
|
const UNSAFE_isDismissibleContentDismissed = function UNSAFE_isDismissibleContentDismissed(id, r5 = {}) {
|
|
let r101;
|
|
const { bypassNewUserCheck = false, cooldownDurationMs = Durations.Millis.WEEK, guildId } = r5;
|
|
if (!bypassNewUserCheck && disableNewUserDismissibleContent(id)) {
|
|
return true;
|
|
}
|
|
if (isVersionedDismissibleContent(id)) {
|
|
return isVersionedDismissibleContentDismissed(id).isDismissed;
|
|
}
|
|
if (isSnowflakeBoundDismissibleContent(id)) {
|
|
const r82 = SnowflakeUtils.fromTimestamp(Date.now());
|
|
if (disableNewUserDismissibleContent(id)) {
|
|
r101 = {
|
|
isDismissed: true,
|
|
lastDismissedSnowflakeId: null
|
|
};
|
|
} else {
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const lastDismissedSnowflakeId = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[id]?.lastDismissedObjectId;
|
|
r101 = {
|
|
isDismissed: lastDismissedSnowflakeId != null && SnowflakeUtils.compare(r82, lastDismissedSnowflakeId) !== 1,
|
|
lastDismissedSnowflakeId
|
|
};
|
|
}
|
|
return r101.isDismissed;
|
|
}
|
|
if (isTimeRecurringDismissibleContent(id)) {
|
|
return isTimeRecurringDismissibleContentDismissed(id, {
|
|
cooldownDurationMs
|
|
}).isDismissed;
|
|
}
|
|
if (isSingleUseGuildDismissibleContent(id)) {
|
|
return UNSAFE_isSingleUseGuildDismissibleContentDismissed(id, guildId);
|
|
}
|
|
if (isTimeRecurringGuildDismissibleContent(id)) {
|
|
return UNSAFE_isTimeRecurringGuildDismissibleContentDismissed(id, guildId);
|
|
}
|
|
if (isSnowflakeBoundGuildDismissibleContent(id)) {
|
|
return UNSAFE_isSnowflakeBoundGuildDismissibleContentDismissed(id, guildId);
|
|
}
|
|
const dismissedContents = UserSettingsProtoStore.settings.userContent?.dismissedContents;
|
|
return dismissedContents != null && hasBit(dismissedContents, id);
|
|
};
|
|
export { UNSAFE_isDismissibleContentDismissed };
|
|
export function useIsDismissibleContentDismissed_UNSAFE(c13775_0, r7 = {}) {
|
|
let c13775_1 = r7;
|
|
return useStateFromStores([UserSettingsProtoStore, SelectedGuildStore], () => UNSAFE_isDismissibleContentDismissed(c13775_0, c13775_1));
|
|
}
|
|
export async function UNSAFE_markDismissibleContentAsDismissed(c24903_0, c24903_1) {
|
|
let c24903_3;
|
|
c24903_3 = void 0;
|
|
let c29250_0 = c24903_0;
|
|
let r30 = c24903_1;
|
|
if (r30 === void 0) {
|
|
r30 = {};
|
|
}
|
|
let c29250_1 = r30;
|
|
await void 0;
|
|
if (!(0, UNSAFE_isDismissibleContentDismissed)(c29250_0, {
|
|
bypassNewUserCheck: true
|
|
})) {
|
|
markDismissibleContentAsDismissedPreProcessing(c29250_0, c29250_1);
|
|
await addDismissedContent(c29250_0);
|
|
markDismissibleContentAsDismissedPostProcessing(c29250_0, c29250_1);
|
|
}
|
|
}
|
|
export function UNSAFE_isSnowflakeBoundDismissibleContentDismissed(a0, a1) {
|
|
if (disableNewUserDismissibleContent(a0)) {
|
|
return {
|
|
isDismissed: true,
|
|
lastDismissedSnowflakeId: null
|
|
};
|
|
}
|
|
const userContent = UserSettingsProtoStore.settings.userContent;
|
|
const lastDismissedSnowflakeId = userContent == null ? void 0 : userContent.recurringDismissibleContentStates[a0]?.lastDismissedObjectId;
|
|
return {
|
|
isDismissed: lastDismissedSnowflakeId != null && SnowflakeUtils.compare(a1, lastDismissedSnowflakeId) !== 1,
|
|
lastDismissedSnowflakeId
|
|
};
|
|
}
|
|
export async function UNSAFE_markSingleUseGuildDismissibleContentAsDismissed(c24904_0, c24904_1, c24904_2) {
|
|
let c24904_4;
|
|
c24904_4 = void 0;
|
|
let c29251_0 = c24904_0;
|
|
let c29251_1 = c24904_1;
|
|
let r32 = c24904_2;
|
|
if (r32 === void 0) {
|
|
r32 = {};
|
|
}
|
|
let c29251_2 = r32;
|
|
await void 0;
|
|
markDismissibleContentAsDismissedPreProcessing(c29251_0, c29251_2);
|
|
await UNSAFE_addGuildDismissedContent(c29251_0, c29251_1, 1);
|
|
markDismissibleContentAsDismissedPostProcessing(c29251_0, c29251_2);
|
|
}
|
|
export async function UNSAFE_markTimeRecurringGuildDismissibleContentAsDismissed(c24905_0, c24905_1, c24905_2) {
|
|
let c24905_4;
|
|
c24905_4 = void 0;
|
|
let c29252_0 = c24905_0;
|
|
let c29252_1 = c24905_2;
|
|
const guildNextNumTimesDismissed = getGuildNextNumTimesDismissed(c24905_0, c24905_1);
|
|
markDismissibleContentAsDismissedPreProcessing(c24905_0, c24905_2);
|
|
await UNSAFE_addTimeRecurringGuildDismissedContent(c24905_0, c24905_1, guildNextNumTimesDismissed);
|
|
markDismissibleContentAsDismissedPostProcessing(c29252_0, c29252_1);
|
|
}
|
|
export async function UNSAFE_markSnowflakeBoundGuildDismissibleContentAsDismissed(c24906_0, snowflakeId, c24906_2, c24906_3) {
|
|
let c24906_5;
|
|
c24906_5 = void 0;
|
|
let c29253_0 = c24906_0;
|
|
let c29253_1 = c24906_3;
|
|
const guildNextNumTimesDismissed = getGuildNextNumTimesDismissed(c24906_0, c24906_2);
|
|
markDismissibleContentAsDismissedPreProcessing(c24906_0, {
|
|
...c24906_3,
|
|
snowflakeId
|
|
});
|
|
await UNSAFE_addSnowflakeBoundGuildDismissedContent(c24906_0, snowflakeId, c24906_2, guildNextNumTimesDismissed);
|
|
markDismissibleContentAsDismissedPostProcessing(c29253_0, c29253_1);
|
|
}
|