This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,80 @@
// Metro module 15394 (f15395).
import { useRef, useState, useEffect } from "react";
import GuildMemberStore from "../../../../../stores/GuildMemberStore";
import GuildStore from "../../../../../stores/GuildStore";
import SelectedGuildStore from "../../../../../stores/SelectedGuildStore";
import UserGuildSettingsStore from "../../../../../stores/UserGuildSettingsStore";
import PushNotificationPermissionStore, { PermissionPromptType } from "../../../../../stores/native/PushNotificationPermissionStore";
import { EventActionLocation, NotificationNudgeSurface } from "./NotificationPermissionConstants";
import { UserNotificationSettings, ZERO_STRING_GUILD_ID } from "../../../../../Constants";
import { useStateFromStores } from "../../../../../_bundle/Module589";
import NotificationNudgeBottomSheet from "./NotificationNudgeBottomSheet";
import { intl, t } from "../../../../../intl/index.native";
import ContextualOptInNudgeHoldoutExperiment from "../../ContextualOptInNudgeHoldoutExperiment";
import { useCanSeePushNotificationNudge } from "../../NotificationPermissionUtil";
import { isBlockedByOnboarding } from "../../../../guild_onboarding/GuildOnboardingUtils";
import { isPseudoGuildId } from "../../../../routing/RouteUtils";
import { useSelectedTimeRecurringGuildDismissibleContent } from "../../../../dismissible_content/hooks/useSelectedDismissibleContent";
import { DismissibleContent } from "../../../../../_bundle/Module1358";
import { setPushPermissionReactivationSeen } from "../../../../../actions/native/PushNotificationActionCreators";
import ActionSheetActionCreators from "../../../../action_sheet/native/ActionSheetActionCreators";
let c10946_16 = "guild-open-notification-nudge-key";
let c10946_17 = {
cooldownDurationMs: 5184000000
};
export default function GuildOpenNotificationNudge(props) {
const { guildId, markAsDismissed: markAsDismissed2, onHide } = props;
return <NotificationNudgeBottomSheet title={intl.formatToPlainString(t.tyWHMY, {
guildName: useStateFromStores([GuildStore], () => {
let r8 = GuildStore.getGuild(guildId)?.name;
if (r8 == null) {
r8 = "";
}
return r8;
})
})} body={intl.string(t["ehJH+P"])} actionLocation={EventActionLocation.GUILD_OPEN} surface={NotificationNudgeSurface.GUILD_OPEN_BOTTOM_SHEET} markAsDismissed={markAsDismissed2} onHide={onHide} />;
};
export const GUILD_OPEN_NOTIFICATION_NUDGE_KEY = "guild-open-notification-nudge-key";
export function useGuildOpenNudge() {
let stateFromStores2, ref, c21955_4;
const stateFromStores = useStateFromStores([SelectedGuildStore], () => {
let r4 = SelectedGuildStore.getGuildId();
if (r4 == null) {
r4 = null;
}
return r4;
});
const inHoldout = ContextualOptInNudgeHoldoutExperiment.useConfig({
location: "useGuildOpenNudge"
}).inHoldout;
const canSeePushNotificationNudge = useCanSeePushNotificationNudge();
const stateFromStores3 = useStateFromStores([UserGuildSettingsStore], () => stateFromStores == null || UserGuildSettingsStore.isMuted(stateFromStores));
const stateFromStores4 = useStateFromStores([UserGuildSettingsStore], () => stateFromStores != null ? UserGuildSettingsStore.getMessageNotifications(stateFromStores) : UserNotificationSettings.NO_MESSAGES);
stateFromStores2 = useStateFromStores([GuildStore, GuildMemberStore], () => stateFromStores != null && isBlockedByOnboarding(GuildStore.getGuild(stateFromStores), GuildMemberStore.getSelfMember(stateFromStores)));
ref = useRef(stateFromStores);
const [state, setState] = useState(stateFromStores2);
useEffect(() => {
const current = ref.current;
ref.current = stateFromStores;
if (current !== stateFromStores) {
setState(stateFromStores2);
} else if (stateFromStores2) {
setState(true);
}
}, [stateFromStores, stateFromStores2]);
const stateFromStores5 = useStateFromStores([PushNotificationPermissionStore], () => {
const r6 = PushNotificationPermissionStore.getState().promptLastSeen[PermissionPromptType.GUILD_OPEN_BOTTOM_SHEET];
return r6 == null || Date.now() - new Date(r6).getTime() >= 604800000;
});
let [r85, markAsDismissed] = useSelectedTimeRecurringGuildDismissibleContent(stateFromStores != null && !isPseudoGuildId(stateFromStores) && !inHoldout && canSeePushNotificationNudge && !state && !stateFromStores3 && stateFromStores4 !== UserNotificationSettings.NO_MESSAGES && stateFromStores5 ? DismissibleContent.NOTIFICATION_NUDGE_GUILD_OPEN_PER_GUILD : null, stateFromStores == null ? ZERO_STRING_GUILD_ID : stateFromStores, c10946_17);
c21955_4 = r85;
useEffect(() => {
if (stateFromStores != null && c21955_4 != null) {
setPushPermissionReactivationSeen(PermissionPromptType.GUILD_OPEN_BOTTOM_SHEET);
ActionSheetActionCreators.openLazy(import("./GuildOpenNotificationNudge"), c10946_16, {
guildId: stateFromStores,
markAsDismissed
});
}
}, [stateFromStores, markAsDismissed, r85]);
}