137 lines
8.8 KiB
TypeScript
137 lines
8.8 KiB
TypeScript
/* Metro module 6858; source: modules/messages/GuildOfficialMessageUtils.tsx; dependencies: [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2] */
|
|
import defaultImport3 from '../../by-id/module-00674.js'; /* Metro dependency 674 */
|
|
import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
|
|
import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */
|
|
import GuildOfficialMessagesExperiment from './GuildOfficialMessagesExperiment.tsx'; /* Metro dependency 6859 */
|
|
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as FluxModule from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
|
|
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
|
|
import * as ColorUtilsModule from '../../external/discord_common/js/shared/utils/ColorUtils.tsx'; /* Metro dependency 673 */
|
|
import * as SharedModule from '../../design/shared.tsx'; /* Metro dependency 4002 */
|
|
import * as MessageConstantsModule from './MessageConstants.tsx'; /* Metro dependency 4503 */
|
|
|
|
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 isGuildOfficialMessagesEnabled2 = isGuildOfficialMessagesEnabled;
|
|
const useIsGuildOfficialMessagesEnabled2 = useIsGuildOfficialMessagesEnabled;
|
|
const canManageGuildOfficialMessages2 = canManageGuildOfficialMessages;
|
|
const useCanManageGuildOfficialMessages2 = useCanManageGuildOfficialMessages;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
(FileImportTrackerModule).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 = isGuildOfficialMessagesEnabled2;
|
|
exports.useIsGuildOfficialMessagesEnabled = useIsGuildOfficialMessagesEnabled2;
|
|
exports.canManageGuildOfficialMessages = canManageGuildOfficialMessages2;
|
|
exports.useCanManageGuildOfficialMessages = useCanManageGuildOfficialMessages2;
|
|
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 = (FluxModule).useStateFromStores([GuildStore], _fun54096, [value]);
|
|
const defaultImport = GuildOfficialMessagesExperiment;
|
|
const useExperiment = defaultImport.useExperiment;
|
|
return value4 != null && value4.features.has(GuildFeatures.VERIFIED) && Reflect.apply(useExperiment, defaultImport,
|
|
[{guildId: value ?? value3, location: a1}]).enabled;
|
|
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;
|
|
}
|
|
|
|
}
|
|
|
|
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 useStateFromStores = FluxModule.useStateFromStores;
|
|
return value2 && Reflect.apply(useStateFromStores, FluxModule, [[PermissionStore], function() {
|
|
var permissionStoreBinding = PermissionStore;
|
|
var MANAGE_OFFICIAL_MESSAGES = Permissions.MANAGE_OFFICIAL_MESSAGES;
|
|
return permissionStoreBinding.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 = (ColorUtilsModule).int2hex(a0);
|
|
const value4 = (defaultImport3)(a1);
|
|
const value5 = (defaultImport3)(value3);
|
|
const value6 = (defaultImport3).mix(value4, value3, r12, 'rgb');
|
|
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 object = {foreground: value5, background: r4};
|
|
const WCAGContrastRatios = (SharedModule).WCAGContrastRatios;
|
|
const Text = WCAGContrastRatios.Text;
|
|
object.ratio = Text;
|
|
object.saturationFactor = r3;
|
|
return Reflect.apply(getAccessibleForegroundColor, value, [object]);
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun54093, 6858, [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216,
|
|
2]) /* metro module 6858, dependencies: [1867, 3784, 4503, 661, 673, 674, 4000, 4002, 6859, 566, 6860, 5216, 2] */;
|