Files
discord-decomp/modules/main_tabs_v2/useMessagePreviews.tsx
T
2026-11-01 12:12:55 +02:00

66 lines
2.1 KiB
TypeScript

// Metro module 14334 (f14335).
import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore";
import ReadStateStore from "../../stores/ReadStateStore";
import { useStateFromStores } from "../../_bundle/Module589";
import useIsNsfwGated from "../age_gate/useIsNsfwGated";
import { MessagePreviewTypes } from "./ChannelListLayoutTypes";
import useLatestChannelMessage from "../message_previews/useLatestChannelMessage";
function $mk93586($env) {
return () => {
const r3 = $env.$parent;
const guilds = r3[3].settings.guilds;
const r7 = $env[0];
const r2 = r7 != null;
let r10 = null;
if (r2) {
const r11 = guilds == null;
let r5 = void 0;
if (!r11) {
const r13 = guilds.guilds[r7];
r5 = r13 == null ? void 0 : r13.mobileRedesignChannelListSettings?.messagePreviews;
}
r10 = r5;
}
return r10 != null && (0, r3[0])(r3[2][2]).ValidMessagePreviewTypes.has(r10.value) ? r10.value : (0, r3[0])(r3[2][2]).MessagePreviewSetting.getSetting();
};
}
let env10077 = {};
export default function useMessagePreview(a0, a1) {
let env21153;
let unread = a1.unread;
let disabled = a1.disabled;
const guild_id = a0.guild_id;
const r9 = env21153 = {
$parent: env10077
};
env21153[0] = guild_id;
const stateFromStores = useStateFromStores([UserSettingsProtoStore], $mk93586(r9));
const stateFromStores2 = useStateFromStores([ReadStateStore], () => a0 != null && ReadStateStore.hasUnread(a0.id));
const isNsfwGated = useIsNsfwGated(a0);
if (!disabled) {
disabled = isNsfwGated;
}
if (!disabled) {
disabled = stateFromStores === MessagePreviewTypes.NONE;
}
if (!disabled) {
let r1 = stateFromStores === MessagePreviewTypes.UNREADS;
if (r1) {
if (unread == null) {
unread = stateFromStores2;
}
r1 = !unread;
}
disabled = r1;
}
return useLatestChannelMessage(a0, disabled);
};
export function useMessagePreviewSetting(a0) {
let env21151;
const r1 = env21151 = {
$parent: env10077
};
env21151[0] = a0;
return useStateFromStores([UserSettingsProtoStore], $mk93586(r1));
}