348 lines
14 KiB
TypeScript
348 lines
14 KiB
TypeScript
// Metro module 4403 (f4404).
|
|
import { isGuildNSFW } from "../../records/GuildRecord";
|
|
import ChannelStore from "../../stores/ChannelStore";
|
|
import GuildNSFWAgreeStore from "../../stores/GuildNSFWAgreeStore";
|
|
import GuildStore from "../../stores/GuildStore";
|
|
import UserStore from "../../stores/UserStore";
|
|
import { AgeGateSource } from "./AgeGateConstants";
|
|
import { HelpdeskArticles, GuildNSFWContentLevel } from "../../Constants";
|
|
import { intl, t } from "../../intl/index.native";
|
|
import SnowflakeUtils from "../../utils/SnowflakeUtils";
|
|
import * as _AgeVerificationUtils from "../age_assurance/AgeVerificationUtils";
|
|
import { useShouldShowTiggerPawtect, useIsAgeVerified } from "../age_assurance/AgeVerificationUtils";
|
|
import * as _RegionalFeatureConfigUtils from "../regional_feature_config/RegionalFeatureConfigUtils";
|
|
import { useIsFeatureAgeGated } from "../regional_feature_config/RegionalFeatureConfigUtils";
|
|
import { AgeGatedFeature } from "../../_bundle/Module5013";
|
|
import { useStateFromStores } from "../../_bundle/Module589";
|
|
import { NsfwSpaceWarningModalType } from "../age_assurance/AgeVerificationAnalyticsUtils";
|
|
import HelpdeskUtils from "../../utils/HelpdeskUtils";
|
|
import { openAgeGateModal } from "./AgeGateModalActionCreators";
|
|
import { useIsChannelSpoilerGated } from "../spoiler_channels/SpoilerChannelUtils";
|
|
let c2633_10, c2633_11, c2633_12, isChannelContentGated, useIsChannelContentGated;
|
|
const shouldShowAgeGateForVoiceChannel = function shouldShowAgeGateForVoiceChannel(channelId) {
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
let r19 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
if (r19) {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const r0 = currentUser == null;
|
|
let r23 = false;
|
|
if (!r0) {
|
|
const shouldShowTiggerPawtect2 = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r33 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect2;
|
|
r23 = currentUser.nsfwAllowed !== true || r33;
|
|
}
|
|
const r38 = r23 ? channelId == null : !r23;
|
|
r19 = r38 ? !r38 : isChannelContentGated(ChannelStore.getChannel(channelId));
|
|
}
|
|
return r19;
|
|
};
|
|
isChannelContentGated = function isChannelContentGated(a0) {
|
|
if (a0 == null) {
|
|
return false;
|
|
}
|
|
let r8 = GuildNSFWAgreeStore.didAgree(a0.guild_id);
|
|
const nsfwAllowed = UserStore.getCurrentUser()?.nsfwAllowed;
|
|
const isFeatureAgeGated = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES);
|
|
let r26 = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
if (r8) {
|
|
r8 = !(nsfwAllowed === false);
|
|
}
|
|
let r29 = !r8;
|
|
if (r8) {
|
|
if (r26) {
|
|
r26 = isFeatureAgeGated;
|
|
}
|
|
r29 = r26;
|
|
}
|
|
if (a0.isNSFW() && r29) {
|
|
return true;
|
|
}
|
|
const guild = GuildStore.getGuild(a0.guild_id);
|
|
return guild != null && (isGuildNSFW(guild) && r29);
|
|
};
|
|
useIsChannelContentGated = function useIsChannelContentGated(a0) {
|
|
const shouldShowTiggerPawtect = useShouldShowTiggerPawtect();
|
|
let r21 = useStateFromStores([GuildNSFWAgreeStore], () => GuildNSFWAgreeStore.didAgree(a0?.guild_id));
|
|
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser()?.nsfwAllowed === false);
|
|
let r35 = useIsFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES);
|
|
const stateFromStores2 = useStateFromStores([GuildStore], () => GuildStore.getGuild(a0?.guild_id));
|
|
if (r21) {
|
|
r21 = !stateFromStores;
|
|
}
|
|
let r43 = !r21;
|
|
if (r21) {
|
|
if (r35) {
|
|
r35 = shouldShowTiggerPawtect;
|
|
}
|
|
r43 = r35;
|
|
}
|
|
let r3 = a0 != null;
|
|
if (r3) {
|
|
const isNSFW = a0.isNSFW();
|
|
const r2 = isNSFW ? !r43 : !isNSFW;
|
|
let r4 = !r2;
|
|
if (r2) {
|
|
let r46 = stateFromStores2 != null;
|
|
if (r46) {
|
|
const isGuildNSFW2 = isGuildNSFW(stateFromStores2);
|
|
r46 = !(isGuildNSFW2 ? !r43 : !isGuildNSFW2);
|
|
}
|
|
r4 = r46;
|
|
}
|
|
r3 = r4;
|
|
}
|
|
return r3;
|
|
};
|
|
c2633_10 = new Date("06/16/2020");
|
|
c2633_11 = [GuildNSFWContentLevel.AGE_RESTRICTED, GuildNSFWContentLevel.EXPLICIT];
|
|
c2633_12 = new Set([AgeGateSource.NSFW_SERVER, AgeGateSource.NSFW_SERVER_INVITE, AgeGateSource.NSFW_SERVER_INVITE_EMBED]);
|
|
export { c2633_12 as SERVER_AGE_GATE_SOURCES };
|
|
export function userNeedsAgeGate() {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
return currentUser != null && SnowflakeUtils.extractTimestamp(currentUser.id) > c2633_10.getTime() && currentUser.nsfwAllowed == null;
|
|
}
|
|
export function guildNeedsAgeGate(a0) {
|
|
return c2633_11.includes(a0.nsfwLevel);
|
|
}
|
|
export function shouldAgeVerifyForAgeGate() {
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
return _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
}
|
|
export function useShouldAgeVerifyForAgeGate() {
|
|
let r11 = useIsFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES);
|
|
const shouldShowTiggerPawtect = useShouldShowTiggerPawtect();
|
|
if (r11) {
|
|
r11 = shouldShowTiggerPawtect;
|
|
}
|
|
return r11;
|
|
}
|
|
export function useAgeGateVerifyContentForGuild(a0) {
|
|
let r66, r117;
|
|
const isAgeVerified = useIsAgeVerified();
|
|
const isGuildNSFW2 = isGuildNSFW(a0);
|
|
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser()?.nsfwAllowed === false);
|
|
const isFeatureAgeGated = useIsFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES);
|
|
const shouldShowTiggerPawtect = useShouldShowTiggerPawtect();
|
|
const r35 = isFeatureAgeGated && shouldShowTiggerPawtect;
|
|
const title = intl.string(isGuildNSFW2 ? t.xi46lg : t.ZmwvDc);
|
|
const r43 = {
|
|
title: null,
|
|
description: null,
|
|
agreement: null,
|
|
modalType: null
|
|
};
|
|
if (r35) {
|
|
r43.title = title;
|
|
if (isAgeVerified) {
|
|
r43.description = isGuildNSFW2 ? intl.format(t["8tk6bB"], {}) : intl.format(t.XQZvwn, {});
|
|
r43.agreement = intl.string(t.Zt4Mf4);
|
|
r43.modalType = NsfwSpaceWarningModalType.NSFW_CHANNEL_AGE_VERIFY;
|
|
r117 = r43;
|
|
} else {
|
|
r43.description = isGuildNSFW2 ? intl.string(t.V6Gmu9) : intl.string(t["5rygLk"]);
|
|
r43.agreement = intl.string(t.FDSSia);
|
|
r43.modalType = NsfwSpaceWarningModalType.NSFW_CHANNEL_AGE_VERIFY;
|
|
r117 = r43;
|
|
}
|
|
r66 = r117;
|
|
} else if (stateFromStores) {
|
|
r43.title = intl.string(isGuildNSFW2 ? t["H0SG/g"] : t.NEabBa);
|
|
r43.description = intl.format(isGuildNSFW2 ? t["6++3cX"] : t["2kHZes"], {
|
|
helpURL: HelpdeskUtils.getArticleURL(HelpdeskArticles.NSFW_AGE_GATING)
|
|
});
|
|
r43.modalType = NsfwSpaceWarningModalType.NSFW_CHANNEL_UNDERAGE;
|
|
r66 = r43;
|
|
} else {
|
|
r43.title = title;
|
|
r43.description = intl.string(isGuildNSFW2 ? t.ZtuRts : t.E4Cd5I);
|
|
r43.agreement = intl.string(t.wVq7uo);
|
|
r43.modalType = NsfwSpaceWarningModalType.NSFW_CHANNEL_VERIFIED;
|
|
r66 = r43;
|
|
}
|
|
return r66;
|
|
}
|
|
export function useAgeGateVerifyContent(a0) {
|
|
let r49;
|
|
const isAgeVerified = useIsAgeVerified();
|
|
const isFeatureAgeGated = useIsFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES);
|
|
const shouldShowTiggerPawtect = useShouldShowTiggerPawtect();
|
|
const r28 = isFeatureAgeGated && shouldShowTiggerPawtect;
|
|
const r1 = a0 === AgeGateSource.NSFW_SERVER || a0 === AgeGateSource.NSFW_SERVER_INVITE || a0 === AgeGateSource.NSFW_SERVER_INVITE_EMBED;
|
|
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser()?.nsfwAllowed === false);
|
|
if (a0 !== AgeGateSource.JOIN_LARGE_GUILD_UNDERAGE && a0 !== AgeGateSource.ACCESS_LARGE_GUILD_UNDERAGE) {
|
|
L31: {
|
|
if (isAgeVerified) {
|
|
r49 = {
|
|
verifyAgreementButtonText: intl.string(t.Zt4Mf4),
|
|
verifyGateDescription: r1 ? intl.format(t["8tk6bB"], {}) : intl.format(t.XQZvwn, {}),
|
|
verifyTitle: r1 ? intl.string(t.xi46lg) : intl.string(t.ZmwvDc)
|
|
};
|
|
} else if (a0 === AgeGateSource.LARGE_GUILD) {
|
|
r49 = {
|
|
verifyTitle: intl.string(t["7ymzsL"]),
|
|
verifyGateDescription: intl.string(t.SxY4IW),
|
|
verifyAgreementButtonText: intl.string(t.FDSSia)
|
|
};
|
|
} else {
|
|
if (stateFromStores && r1 && !r28) {
|
|
r49 = {
|
|
verifyTitle: intl.string(t["H0SG/g"]),
|
|
verifyGateDescription: intl.format(t["6++3cX"], {
|
|
helpURL: HelpdeskUtils.getArticleURL(HelpdeskArticles.AGE_GATE)
|
|
}),
|
|
verifyAgreementButtonText: null
|
|
};
|
|
break L31;
|
|
}
|
|
r49 = {
|
|
verifyAgreementButtonText: intl.string(t.FDSSia),
|
|
verifyGateDescription: r1 ? intl.string(t.V6Gmu9) : intl.string(t["5rygLk"]),
|
|
verifyTitle: r1 ? intl.string(t.xi46lg) : intl.string(t.ZmwvDc)
|
|
};
|
|
}
|
|
}
|
|
return r49;
|
|
}
|
|
const r159 = a0 === AgeGateSource.JOIN_LARGE_GUILD_UNDERAGE ? t["u/xsK9"] : t.MjQbfi;
|
|
const verifyGateDescription = isAgeVerified ? intl.string(t.SAoMVJ) : intl.string(t.SxY4IW);
|
|
const verifyAgreementButtonText = isAgeVerified ? intl.string(t.Zt4Mf4) : intl.string(t.FDSSia);
|
|
return {
|
|
verifyTitle: intl.string(r159),
|
|
verifyGateDescription,
|
|
verifyAgreementButtonText
|
|
};
|
|
}
|
|
export function shouldShowAgeGateForCurrentUser() {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
if (currentUser == null) {
|
|
return false;
|
|
}
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r19 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
return currentUser.nsfwAllowed !== true || r19;
|
|
}
|
|
export function shouldShowAgeGateForGuildContentLevel(a0) {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const r0 = currentUser == null;
|
|
let r12 = false;
|
|
if (!r0) {
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r22 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
r12 = currentUser.nsfwAllowed !== true || r22;
|
|
}
|
|
if (r12 && a0 != null) {
|
|
const guild = GuildStore.getGuild(a0);
|
|
return guild != null && isGuildNSFW(guild);
|
|
}
|
|
return false;
|
|
}
|
|
export function shouldShowAgeGateForChannelId(a0) {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const r0 = currentUser == null;
|
|
let r11 = false;
|
|
if (!r0) {
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r21 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
r11 = currentUser.nsfwAllowed !== true || r21;
|
|
}
|
|
const r26 = r11 ? a0 == null : !r11;
|
|
return r26 ? !r26 : isChannelContentGated(ChannelStore.getChannel(a0));
|
|
}
|
|
export { shouldShowAgeGateForVoiceChannel };
|
|
export function maybeOpenAgeGateForVoiceChannel(a0) {
|
|
let r6 = !!shouldShowAgeGateForVoiceChannel(a0);
|
|
if (r6) {
|
|
openAgeGateModal(AgeGateSource.NSFW_VOICE_CHANNEL);
|
|
r6 = true;
|
|
}
|
|
return r6;
|
|
}
|
|
export function maybeShowAgeGate(a0, a1, a2) {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const r0 = currentUser == null;
|
|
let r5 = false;
|
|
if (!r0) {
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r23 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect;
|
|
r5 = currentUser.nsfwAllowed !== true || r23;
|
|
}
|
|
let r27 = false;
|
|
if (r5) {
|
|
const r29 = a0 == null;
|
|
r27 = false;
|
|
if (!r29) {
|
|
const guild = GuildStore.getGuild(a0);
|
|
r27 = guild != null && isGuildNSFW(guild);
|
|
}
|
|
}
|
|
let r36 = a2;
|
|
if (r27) {
|
|
if (!(a2 != null && c2633_12.has(a2))) {
|
|
r36 = AgeGateSource.NSFW_SERVER;
|
|
}
|
|
openAgeGateModal(r36);
|
|
} else {
|
|
const currentUser2 = UserStore.getCurrentUser();
|
|
let r39 = currentUser2 != null && currentUser2.nsfwAllowed == null;
|
|
if (r39) {
|
|
const currentUser3 = UserStore.getCurrentUser();
|
|
const r43 = currentUser3 == null;
|
|
let r6 = false;
|
|
if (!r43) {
|
|
const shouldShowTiggerPawtect2 = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
const r58 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AGE_GATED_SPACES) && shouldShowTiggerPawtect2;
|
|
r6 = currentUser3.nsfwAllowed !== true || r58;
|
|
}
|
|
const r63 = r6 ? a1 == null : !r6;
|
|
r39 = r63 ? !r63 : isChannelContentGated(ChannelStore.getChannel(a1));
|
|
}
|
|
if (r39) {
|
|
openAgeGateModal(a2 == null ? AgeGateSource.NSFW_CHANNEL : a2);
|
|
}
|
|
}
|
|
}
|
|
export function isChannelOrGuildNSFW(a0) {
|
|
return a0 != null && (a0.isNSFW() || isGuildNSFW(GuildStore.getGuild(a0.guild_id)));
|
|
}
|
|
export function isChannelAgeVerificationGated(a0) {
|
|
if (a0 == null) {
|
|
return false;
|
|
}
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
return a0 != null && (a0.isNSFW() || isGuildNSFW(GuildStore.getGuild(a0.guild_id))) && shouldShowTiggerPawtect;
|
|
}
|
|
export function userCannotSeeNSFWContent(a0) {
|
|
if (a0 == null) {
|
|
return false;
|
|
}
|
|
const nsfwAllowed = UserStore.getCurrentUser()?.nsfwAllowed;
|
|
return a0 != null && (a0.isNSFW() || isGuildNSFW(GuildStore.getGuild(a0.guild_id))) && !(nsfwAllowed === true);
|
|
}
|
|
export { isChannelContentGated };
|
|
export { useIsChannelContentGated };
|
|
export function useShouldHideChannelContent(a0) {
|
|
const isChannelContentGated2 = useIsChannelContentGated(a0);
|
|
const isChannelSpoilerGated = useIsChannelSpoilerGated(a0);
|
|
return isChannelContentGated2 || isChannelSpoilerGated;
|
|
}
|
|
export function isCurrentUserMissingDateOfBirth() {
|
|
const currentUser = UserStore.getCurrentUser();
|
|
return currentUser != null && currentUser.nsfwAllowed == null;
|
|
}
|
|
export function shouldAgeVerifyForSettingsToggles() {
|
|
let r11 = _RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.COMMANDS_TOGGLE);
|
|
const shouldShowTiggerPawtect = _AgeVerificationUtils.shouldShowTiggerPawtect();
|
|
if (r11) {
|
|
r11 = shouldShowTiggerPawtect;
|
|
}
|
|
return r11;
|
|
}
|
|
export function useShouldAgeVerifyForSettingsToggles() {
|
|
let r11 = useIsFeatureAgeGated(AgeGatedFeature.COMMANDS_TOGGLE);
|
|
const shouldShowTiggerPawtect = useShouldShowTiggerPawtect();
|
|
if (r11) {
|
|
r11 = shouldShowTiggerPawtect;
|
|
}
|
|
return r11;
|
|
}
|