decord/source/modules/messages/isMessagePinnable.tsx

45 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 11212
// Function ID: 11213
2026-07-20 16:05:17 +00:00
// Name: isMessagePinnable
2026-08-25 06:04:03 +00:00
// Dependencies: [4025, 676, 5997, 5996, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-08-25 06:04:03 +00:00
// Module 11212 (isMessagePinnable)
import useCanUnarchiveThread from "useCanUnarchiveThread" /* 5996 */;
import isSystemMessageDefault from "isSystemMessage" /* 5997 */;
import closure_3 from "getUncachedChannelPermissions" /* 4025 */;
2026-08-24 06:08:38 +00:00
import ME from "ME" /* 676 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-29 08:29:29 +00:00
({ ChannelTypes: c4, Permissions: c5 } = ME);
2026-08-24 06:08:38 +00:00
const result = require("set").fileFinishedImporting("modules/messages/isMessagePinnable.tsx");
2026-07-20 16:05:17 +00:00
export default function isMessagePinnable(arg0, isSystemDM) {
2026-07-29 08:29:29 +00:00
const isSystemDMResult = isSystemDM.isSystemDM();
let isActiveChannelOrUnarchivableThread = !isSystemDMResult;
if (!isSystemDMResult) {
2026-08-24 06:08:38 +00:00
isActiveChannelOrUnarchivableThread = !isSystemMessageDefault(arg0);
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
let isPrivateResult = closure_3.can(constants2.PIN_MESSAGES, isSystemDM) && closure_3.can(constants2.READ_MESSAGE_HISTORY, isSystemDM);
2026-07-20 16:05:17 +00:00
if (isActiveChannelOrUnarchivableThread) {
2026-07-29 08:29:29 +00:00
if (!isPrivateResult) {
isPrivateResult = isSystemDM.isPrivate();
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
isActiveChannelOrUnarchivableThread = isPrivateResult;
2026-07-20 16:05:17 +00:00
}
if (isActiveChannelOrUnarchivableThread) {
2026-08-24 06:08:38 +00:00
isActiveChannelOrUnarchivableThread = useCanUnarchiveThread.getIsActiveChannelOrUnarchivableThread(isSystemDM);
const obj2 = useCanUnarchiveThread;
2026-07-20 16:05:17 +00:00
}
if (isActiveChannelOrUnarchivableThread) {
isActiveChannelOrUnarchivableThread = isSystemDM.type !== constants.GUILD_VOICE;
}
if (isActiveChannelOrUnarchivableThread) {
isActiveChannelOrUnarchivableThread = isSystemDM.type !== constants.GUILD_STAGE_VOICE;
}
if (isActiveChannelOrUnarchivableThread) {
isActiveChannelOrUnarchivableThread = isSystemDM.type !== constants.MEDIA_THREAD;
}
return isActiveChannelOrUnarchivableThread;
};