133 lines
8.0 KiB
TypeScript
133 lines
8.0 KiB
TypeScript
/* Metro module 6858; source: modules/messages/GuildOfficialMessageUtils.tsx; dependencies: [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2] */
|
|
function _fun54093(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#54093, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:6, offset: 0x0135c805, size: 323 bytes, params: 8, frame: 23
|
|
const env0_0 = require;
|
|
const closure = isGuildOfficialMessagesEnabled;
|
|
const closure2 = useIsGuildOfficialMessagesEnabled;
|
|
const closure3 = canManageGuildOfficialMessages;
|
|
const closure4 = useCanManageGuildOfficialMessages;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
|
|
const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */;
|
|
const env0_5 = (require(4503) /* metro dependency 4503: MessageConstants */).GUILD_OFFICIAL_HIGHLIGHT_ALPHA;
|
|
const constantsModule = require(661) /* metro dependency 661: Constants */;
|
|
const env0_6 = constantsModule.ChannelTypes;
|
|
const env0_7 = constantsModule.GuildFeatures;
|
|
const env0_8 = constantsModule.MessageFlags;
|
|
const env0_9 = constantsModule.Permissions;
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/GuildOfficialMessageUtils.tsx');
|
|
exports.getAccessibleGuildOfficialTextColor = getAccessibleGuildOfficialTextColor;
|
|
exports.showGuildOfficialMessageGradient = function(a0) {
|
|
return a0 !== 'no_gradient' && a0 !== 'hidden';
|
|
};
|
|
exports.showGuildOfficialMessageTextColor = function(a0) {
|
|
return a0 !== 'no_text_color' && a0 !== 'hidden';
|
|
};
|
|
exports.isGuildOfficialMessagesEnabled = closure;
|
|
exports.useIsGuildOfficialMessagesEnabled = closure2;
|
|
exports.canManageGuildOfficialMessages = closure3;
|
|
exports.useCanManageGuildOfficialMessages = closure4;
|
|
exports.useCanToggleGuildOfficialMessages = useCanToggleGuildOfficialMessages;
|
|
exports.canSendGuildOfficialMessages = canSendGuildOfficialMessages;
|
|
}
|
|
|
|
function isGuildOfficialMessagesEnabled(a0, a1) { // fn#54094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:235, offset: 0x0135c948, size: 105 bytes, params: 3, frame: 13
|
|
let value = a0 != null;
|
|
let r0 = value && a0.features.has(GuildFeatures.VERIFIED);
|
|
if (r0) {
|
|
value = importDefault(6859) /* metro dependency 6859: GuildOfficialMessagesExperiment */;
|
|
r0 = value.getCurrentConfig({guildId: a0.id, location: a1}).enabled;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function useIsGuildOfficialMessagesEnabled(a0, a1) { // fn#54095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:384, offset: 0x0135c9b1, size: 169 bytes, params: 3, frame: 20
|
|
const value = a0;
|
|
const value3 = undefined;
|
|
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], _fun54096, [value]);
|
|
const defaultImport = importDefault(6859) /* metro dependency 6859: GuildOfficialMessagesExperiment */;
|
|
const useExperiment = defaultImport.useExperiment;
|
|
return value4 != null && value4.features.has(GuildFeatures.VERIFIED) && Reflect.apply(useExperiment, defaultImport,
|
|
[{guildId: value ?? value3, location: a1}]).enabled;
|
|
}
|
|
|
|
function canManageGuildOfficialMessages(a0, a1, a2) { // fn#54097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:624, offset: 0x0135ca82, size: 55 bytes, params: 4, frame: 14
|
|
return isGuildOfficialMessagesEnabled(a0, a2) && PermissionStore.can(Permissions.MANAGE_OFFICIAL_MESSAGES, a1);
|
|
}
|
|
|
|
function useCanManageGuildOfficialMessages(a0, a1, a2) { // fn#54098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:751, offset: 0x0135cab9, size: 95 bytes, params: 4, frame: 18
|
|
const env0_0 = a1;
|
|
const value2 = useIsGuildOfficialMessagesEnabled(a0, a2);
|
|
const fluxModule = require(566) /* metro dependency 566: flux */;
|
|
const useStateFromStores = fluxModule.useStateFromStores;
|
|
return value2 && Reflect.apply(useStateFromStores, fluxModule, [[PermissionStore], function() {
|
|
var MANAGE_OFFICIAL_MESSAGES = Permissions.MANAGE_OFFICIAL_MESSAGES;
|
|
return PermissionStore.can(MANAGE_OFFICIAL_MESSAGES, require);
|
|
}, [a1]]);
|
|
}
|
|
|
|
function isChannelOfficialMessageEligible(a0) { // fn#54100, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:938, offset: 0x0135cb3e, size: 116 bytes, params: 2, frame: 13
|
|
let value = a0 != null;
|
|
let r0 = value && !a0.isPrivate();
|
|
if (r0) {
|
|
value = require(6860) /* metro dependency 6860: ThreadHooks */;
|
|
value = value.getIsActiveChannelOrUnarchivableThread(a0);
|
|
r0 = value;
|
|
}
|
|
r0 = r0 && a0.type !== ChannelTypes.GUILD_VOICE && a0.type !== ChannelTypes.GUILD_STAGE_VOICE;
|
|
return r0;
|
|
}
|
|
|
|
function getAccessibleGuildOfficialTextColor(a0, a1) { // fn#54101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:1239, offset: 0x0135cbb2, size: 263 bytes, params: 3, frame: 24
|
|
let value = a2;
|
|
const value2 = a3;
|
|
const r3 = value !== undefined ? value : 1;
|
|
const r12 = value2 !== undefined ? value2 : GUILD_OFFICIAL_HIGHLIGHT_ALPHA;
|
|
const value3 = (require(673) /* metro dependency 673: ColorUtils */).int2hex(a0);
|
|
const value4 = (importDefault(674) /* metro dependency 674 */)(a1);
|
|
const value5 = (importDefault(674) /* metro dependency 674 */)(value3);
|
|
const value6 = (importDefault(674) /* metro dependency 674 */).mix(value4, value3, r12, 'rgb');
|
|
const defaultImport3 = importDefault(674) /* metro dependency 674 */;
|
|
const value7 = defaultImport3.contrast(value5, value6);
|
|
const defaultImport4 = defaultImport3;
|
|
const r4 = value7 < defaultImport4.contrast(value5, value4) ? value6 : value4;
|
|
value = require(4000) /* metro dependency 4000: ColorUtils */;
|
|
const getAccessibleForegroundColor = value.getAccessibleForegroundColor;
|
|
const object2 = {foreground: value5, background: r4};
|
|
const WCAGContrastRatios = (require(4002) /* metro dependency 4002: shared */).WCAGContrastRatios;
|
|
const Text = WCAGContrastRatios.Text;
|
|
object2.ratio = Text;
|
|
object2.saturationFactor = r3;
|
|
return Reflect.apply(getAccessibleForegroundColor, value, [object2]);
|
|
}
|
|
|
|
function useCanToggleGuildOfficialMessages(a0, a1, a2) { // fn#54104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:2102, offset: 0x0135cced, size: 152 bytes, params: 4, frame: 18
|
|
var value;
|
|
let r1 = a1.guild_id ?? undefined;
|
|
const value3 = useCanManageGuildOfficialMessages(r1, a1, a2);
|
|
let r0 = value3 ? (importDefault(5216) /* metro dependency 5216: isSystemMessage */)(a0) : !value3;
|
|
if (r0) {
|
|
r0 = !r0;
|
|
} else {
|
|
if (a0.hasFlag(MessageFlags.IS_GUILD_OFFICIAL)) {
|
|
value = require(6860) /* metro dependency 6860: ThreadHooks */;
|
|
value = value.getIsActiveChannelOrUnarchivableThread(a1);
|
|
r1 = value;
|
|
} else {
|
|
r1 = isChannelOfficialMessageEligible(a1);
|
|
}
|
|
r0 = r1;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function canSendGuildOfficialMessages(a0, a1, a2) { // fn#54105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:2403, offset: 0x0135cd85, size: 39 bytes, params: 4, frame: 16
|
|
return canManageGuildOfficialMessages(a0, a1, a2) && isChannelOfficialMessageEligible(a1);
|
|
}
|
|
|
|
function _fun54096() { // fn#54096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7036:470, offset: 0x0135ca5a, size: 40 bytes, params: 1, frame: 12
|
|
const value2 = null;
|
|
return value2 != env0_0 ? GuildStore.getGuild(env0_0) : value2;
|
|
}
|
|
|