Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,30 @@
/* Metro module 13647; source: modules/client_themes/ClientThemesBackgroundActionCreators.tsx; dependencies: [694, 2] */
function _fun104218(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104218, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13844:6, offset: 0x0228abec, size: 140 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/ClientThemesBackgroundActionCreators.tsx');
exports.updateBackgroundGradientPreset = updateBackgroundGradientPreset;
exports.updateMobilePendingThemeIndex = updateMobilePendingThemeIndex;
exports.resetBackgroundGradientPreset = resetBackgroundGradientPreset;
exports.resetPreviewClientTheme = resetPreviewClientTheme;
}
function updateBackgroundGradientPreset(a0) { // fn#104219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13844:221, offset: 0x0228ac78, size: 56 bytes, params: 2, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'UPDATE_BACKGROUND_GRADIENT_PRESET',
presetId: a0});
}
function updateMobilePendingThemeIndex(a0) { // fn#104220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13844:330, offset: 0x0228acb0, size: 56 bytes, params: 2, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'UPDATE_MOBILE_PENDING_THEME_INDEX',
mobileThemesIndex: a0});
}
function resetBackgroundGradientPreset() { // fn#104221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13844:448, offset: 0x0228ace8, size: 50 bytes, params: 1, frame: 12
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({'type': 'UPDATE_BACKGROUND_GRADIENT_PRESET',
'presetId': null});
}
function resetPreviewClientTheme() { // fn#104222, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13844:555, offset: 0x0228ad1a, size: 46 bytes, params: 1, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'RESET_PREVIEW_CLIENT_THEME'});
}
@@ -0,0 +1,224 @@
/* Metro module 3964; source: modules/client_themes/ClientThemesBackgroundStore.tsx; dependencies: [6, 7, 15, 17, 18, 1311, 1310, 1312, 1348, 1383, 1379, 1878, 3965, 1313, 3968, 1365, 3995, 3802, 3829, 3998, 3999, 566, 694, 2] */
function _fun32448(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32448, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:6, offset: 0x0101608a, size: 553 bytes, params: 8, frame: 21
const env0_0 = require;
const closure = CLIENT_THEMES_EDITOR_CLOSE;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
const selectivelySyncedUserSettingsStore = importDefault(1311) /* metro dependency 1311: SelectivelySyncedUserSettingsStore */;
const themeStore = importDefault(1310) /* metro dependency 1310: ThemeStore */;
const unsyncedUserSettingsStore = importDefault(1312) /* metro dependency 1312: UnsyncedUserSettingsStore */;
const userSettingsProtoStore = importDefault(1348) /* metro dependency 1348: UserSettingsProtoStore */;
const env0_12 = (require(1383) /* metro dependency 1383: ChannelRecord */).isGuildTextChannelType;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_15 = (require(3965) /* metro dependency 3965: ClientThemesConstants */).BACKGROUND_GRADIENT_PRESETS_MAP;
const env0_16 = (require(1313) /* metro dependency 1313: ThemeConstants */).SystemThemeState;
const closure2 = CACHE_LOADED_32455;
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
let value = _fun32456(PersistedStore);
value.displayName = 'ClientThemesBackgroundStore';
value.persistKey = 'ClientThemesBackgroundStore';
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{UPDATE_BACKGROUND_GRADIENT_PRESET: function({presetId}) {
var value = undefined;
env0_17 = presetId != null ? BACKGROUND_GRADIENT_PRESETS_MAP[presetId] : value;
return value;
}, UPDATE_MOBILE_PENDING_THEME_INDEX: function({mobileThemesIndex}) {
var value = undefined;
env0_18 = mobileThemesIndex ?? value;
return value;
}, RESET_PREVIEW_CLIENT_THEME: function() {
env0_17 = undefined;
}, CLIENT_THEMES_EDITOR_CLOSE: closure, CHANNEL_SELECT: CHANNEL_SELECT_32469, LOGOUT: closure,
CACHE_LOADED: closure2, CONNECTION_OPEN: closure2, OVERLAY_INITIALIZE: closure2,
SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE: closure2, UNSYNCED_USER_SETTINGS_UPDATE: closure2,
USER_SETTINGS_PROTO_UPDATE: closure2});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/ClientThemesBackgroundStore.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_32449() { // fn#32449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:314, offset: 0x010162b3, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_32449_isNativeReflectConstruct = function() {
return !!result;
})();
}
function CLIENT_THEMES_EDITOR_CLOSE() { // fn#32452, offset: 0x01016311, size: 26 bytes, params: 1, frame: 2
if (env0_19) {
}
}
function handleUserStoreChange() { // fn#32453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:587, offset: 0x0101632b, size: 70 bytes, params: 1, frame: 14
const defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
const canUseClientThemes = defaultImport.canUseClientThemes;
const getCurrentUser = UserStore.getCurrentUser;
if (!Reflect.apply(canUseClientThemes, defaultImport, [Reflect.apply(getCurrentUser, UserStore, [])]) === env0_19) {
return false;
}
}
function handleSelectivelySyncedStoreChange() { // fn#32454, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:705, offset: 0x01016371, size: 123 bytes, params: 1, frame: 13
var ClientThemeSettings;
var backgroundGradientPresetId;
if (SelectivelySyncedUserSettingsStore.shouldSync('appearance')) {
ClientThemeSettings = (require(3829) /* metro dependency 3829: UserSettings */).ClientThemeSettings;
backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
if (backgroundGradientPresetId == null) {
if (env0_17 == null) {
return false;
}
env0_17 = undefined;
return undefined;
}
if (BACKGROUND_GRADIENT_PRESETS_MAP[backgroundGradientPresetId] === env0_17) {
return false;
}
return undefined;
}
return false;
}
function CACHE_LOADED_32455() { // fn#32455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:941, offset: 0x010163ec, size: 233 bytes, params: 1, frame: 15
var value2;
var ClientThemeSettings;
var backgroundGradientPresetId;
var moduleValue;
var property;
var binding;
if (SelectivelySyncedUserSettingsStore.shouldSync('appearance')) {
value2 = undefined;
ClientThemeSettings = (require(3829) /* metro dependency 3829: UserSettings */).ClientThemeSettings;
backgroundGradientPresetId = ClientThemeSettings.getSetting().backgroundGradientPresetId;
if (UnsyncedUserSettingsStore.useSystemTheme === SystemThemeState.ON && backgroundGradientPresetId != null) {
moduleValue = require(3998) /* metro dependency 3998: ThemeActionCreators */;
moduleValue.setUseSystemTheme(SystemThemeState.OFF);
}
if (backgroundGradientPresetId != null) {
property = BACKGROUND_GRADIENT_PRESETS_MAP[backgroundGradientPresetId];
binding = env0_17;
if (property == null || (binding == null ? value2 : binding.id) === (property == null ? value2 : property.id)) {
}
} else if (env0_17 == null) {
}
return value2;
}
return false;
}
function _fun32456(a0) { // fn#32456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:1256, offset: 0x010164d5, size: 212 bytes, params: 2, frame: 16
const closure = ClientThemesBackgroundStore;
env0_7(closure, a0);
return env0_4(closure, [{key: 'initialize', value: value_32459}, {key: 'getState', value: value_32460},
{key: 'gradientPreset', get: get_32461}, {key: 'getLinearGradient', value: value_32462}, {key: 'isPreview',
get: get_32463}, {key: 'isCoachmark', get: get_32464}, {key: 'mobilePendingThemeIndex', get: get_32465}]);
}
function CHANNEL_SELECT_32469({channelId, guildId}) { // fn#32469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:2771, offset: 0x010167c5, size: 187 bytes, params: 2, frame: 18
var moduleValue;
var moduleValue2;
var channel;
if (channelId != null) {
if (guildId != null) {
moduleValue = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
if (!moduleValue.UNSAFE_isDismissibleContentDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.CLIENT_THEMES_COACHMARK)) {
moduleValue2 = require(3995) /* metro dependency 3995: UserUtils */;
if (moduleValue2.ageEligibleForPremiumUpsell(UserStore.getCurrentUser())) {
channel = ChannelStore.getChannel(channelId);
if (channel != null && isGuildTextChannelType(channel.type)) {
}
}
}
}
}
}
function ClientThemesBackgroundStore(a0) { // fn#32457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:1268, offset: 0x010165a9, size: 147 bytes, params: 2, frame: 19
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, ClientThemesBackgroundStore);
const items2 = [];
arraySpread(items2, value, 0, items2);
value = env1_6(ClientThemesBackgroundStore);
binding = env1_5;
if (_isNativeReflectConstruct_32449()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items2, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items2);
r0 = value;
}
value = binding(this, r0);
value.migrations = [function(a0) {
return {gradientPresetId: a0 == null || a0.gradientPreset == null ? undefined : a0.gradientPreset.id};
}];
return value;
}
function value_32459(a0) { // fn#32459, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:1731, offset: 0x01016667, size: 158 bytes, params: 2, frame: 22
var r1;
var value;
if (a0 != null) {
value = undefined;
r1 = (a0 == null ? value : a0.gradientPresetId) != null ? BACKGROUND_GRADIENT_PRESETS_MAP[a0.gradientPresetId] : value;
value = environment.__proto__;
}
const waitFor = this.waitFor;
value = environment.__proto__;
Reflect.apply(waitFor, this, [ChannelStore, SelectivelySyncedUserSettingsStore, ThemeStore,
UnsyncedUserSettingsStore, UserSettingsProtoStore, UserStore]);
this.syncWith([UserStore], handleUserStoreChange);
this.syncWith([SelectivelySyncedUserSettingsStore], handleSelectivelySyncedStoreChange);
}
function value_32460() { // fn#32460, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:1972, offset: 0x01016705, size: 43 bytes, params: 1, frame: 4
const value = environment.__proto__;
return env1_19 ? {} : {gradientPresetId: env1_17?.id};
}
function value_32462() { // fn#32462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4113:2125, offset: 0x01016730, size: 62 bytes, params: 1, frame: 13
var r0;
const gradientPreset = this.gradientPreset;
let value = null;
if (value == gradientPreset) {
r0 = value;
} else {
value = environment.__proto__;
value = require(3999) /* metro dependency 3999: ClientThemesUtils */;
value = value.getLinearGradientForBackgroundGradient(this.gradientPreset);
r0 = value;
}
return r0;
}
@@ -0,0 +1,277 @@
/* Metro module 3965; source: modules/client_themes/ClientThemesConstants.tsx; dependencies: [482, 3966, 1314, 1244, 22, 2] */
function _fun32470(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4114:6, offset: 0x01016880, size: 4335 bytes, params: 8, frame: 29
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const ThemeTypes = (require(482) /* metro dependency 482: Constants */).ThemeTypes;
object4 = {};
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
let BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
object4.type = BACKGROUND_GRADIENT_PRESET;
const BackgroundGradientPresetId = (require(1314) /* metro dependency 1314: preloaded_user_settings */).BackgroundGradientPresetId;
const MINT_APPLE = BackgroundGradientPresetId.MINT_APPLE;
object4.id = MINT_APPLE;
let LIGHT = ThemeTypes.LIGHT;
object4.theme = LIGHT;
object4.colors = [{'token': 'BG_GRADIENT_MINT_APPLE_1', 'stop': 6.15}, {'token': 'BG_GRADIENT_MINT_APPLE_2',
'stop': 48.7}, {'token': 'BG_GRADIENT_MINT_APPLE_3', 'stop': 93.07}];
object4.angle = 180;
object4.getName = function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.kCdS4d);
};
object4.midpointPercentage = 27;
const items2 = [object4];
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const CITRUS_SHERBERT = BackgroundGradientPresetId.CITRUS_SHERBERT;
LIGHT = ThemeTypes.LIGHT;
items2[1] = {type: BACKGROUND_GRADIENT_PRESET, id: CITRUS_SHERBERT, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_CITRUS_SHERBERT_1', 'stop': 31.1}, {'token': 'BG_GRADIENT_CITRUS_SHERBERT_2',
'stop': 67.09}], angle: 180, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.S4UnEz);
}, midpointPercentage: 27};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const RETRO_RAINCLOUD = BackgroundGradientPresetId.RETRO_RAINCLOUD;
LIGHT = ThemeTypes.LIGHT;
items2[2] = {type: BACKGROUND_GRADIENT_PRESET, id: RETRO_RAINCLOUD, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_RETRO_RAINCLOUD_1', 'stop': 5.64}, {'token': 'BG_GRADIENT_RETRO_RAINCLOUD_2',
'stop': 26.38}, {'token': 'BG_GRADIENT_RETRO_RAINCLOUD_2', 'stop': 49.92},
{'token': 'BG_GRADIENT_RETRO_RAINCLOUD_1', 'stop': 73.12}], angle: 148.71, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['48xnKc']);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const HANAMI = BackgroundGradientPresetId.HANAMI;
LIGHT = ThemeTypes.LIGHT;
items2[3] = {type: BACKGROUND_GRADIENT_PRESET, id: HANAMI, theme: LIGHT, colors: [{'token': 'BG_GRADIENT_HANAMI_1',
'stop': 3.56}, {'token': 'BG_GRADIENT_HANAMI_2', 'stop': 35.49}, {'token': 'BG_GRADIENT_HANAMI_3',
'stop': 68.78}], angle: 38.08, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.G4HsBJ);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const SUNRISE = BackgroundGradientPresetId.SUNRISE;
LIGHT = ThemeTypes.LIGHT;
items2[4] = {type: BACKGROUND_GRADIENT_PRESET, id: SUNRISE, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_SUNRISE_1', 'stop': 8.62}, {'token': 'BG_GRADIENT_SUNRISE_2', 'stop': 48.07},
{'token': 'BG_GRADIENT_SUNRISE_3', 'stop': 76.04}], angle: 154.19, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.NAt885);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const COTTON_CANDY = BackgroundGradientPresetId.COTTON_CANDY;
LIGHT = ThemeTypes.LIGHT;
items2[5] = {type: BACKGROUND_GRADIENT_PRESET, id: COTTON_CANDY, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_COTTON_CANDY_1', 'stop': 8.5}, {'token': 'BG_GRADIENT_COTTON_CANDY_2',
'stop': 94.28}], angle: 180.14, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.godtzA);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const LOFI_VIBES = BackgroundGradientPresetId.LOFI_VIBES;
LIGHT = ThemeTypes.LIGHT;
items2[6] = {type: BACKGROUND_GRADIENT_PRESET, id: LOFI_VIBES, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_LOFI_VIBES_1', 'stop': 7.08}, {'token': 'BG_GRADIENT_LOFI_VIBES_2',
'stop': 34.94}, {'token': 'BG_GRADIENT_LOFI_VIBES_3', 'stop': 65.12}, {'token': 'BG_GRADIENT_LOFI_VIBES_4',
'stop': 96.23}], angle: 179.52, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.hlS2xq);
}, midpointPercentage: 27};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const DESERT_KHAKI = BackgroundGradientPresetId.DESERT_KHAKI;
LIGHT = ThemeTypes.LIGHT;
items2[7] = {type: BACKGROUND_GRADIENT_PRESET, id: DESERT_KHAKI, theme: LIGHT,
colors: [{'token': 'BG_GRADIENT_DESERT_KHAKI_1', 'stop': 12.92}, {'token': 'BG_GRADIENT_DESERT_KHAKI_2',
'stop': 32.92}, {'token': 'BG_GRADIENT_DESERT_KHAKI_3', 'stop': 52.11}], angle: 38.99, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.abMn9y);
}, midpointPercentage: 50};
let DARKER = ThemeTypes.DARKER;
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const SUNSET = BackgroundGradientPresetId.SUNSET;
const items11 = [{type: BACKGROUND_GRADIENT_PRESET, id: SUNSET, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_SUNSET_1', 'stop': 27.57}, {'token': 'BG_GRADIENT_SUNSET_2', 'stop': 71.25}],
angle: 141.68, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.JKDra4);
}, midpointPercentage: 35}];
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const CHROMA_GLOW = BackgroundGradientPresetId.CHROMA_GLOW;
items11[1] = {type: BACKGROUND_GRADIENT_PRESET, id: CHROMA_GLOW, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_CHROMA_GLOW_1', 'stop': 3.94}, {'token': 'BG_GRADIENT_CHROMA_GLOW_2',
'stop': 26.1}, {'token': 'BG_GRADIENT_CHROMA_GLOW_3', 'stop': 39.82}, {'token': 'BG_GRADIENT_CHROMA_GLOW_4',
'stop': 56.89}, {'token': 'BG_GRADIENT_CHROMA_GLOW_5', 'stop': 76.45}], angle: 128.92, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.kwc8Us);
}, midpointPercentage: 15};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const FOREST = BackgroundGradientPresetId.FOREST;
items11[2] = {type: BACKGROUND_GRADIENT_PRESET, id: FOREST, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_FOREST_1', 'stop': 11.2}, {'token': 'BG_GRADIENT_FOREST_2', 'stop': 29.93},
{'token': 'BG_GRADIENT_FOREST_3', 'stop': 48.64}, {'token': 'BG_GRADIENT_FOREST_4', 'stop': 67.85},
{'token': 'BG_GRADIENT_FOREST_5', 'stop': 83.54}], angle: 162.27, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['TeA/j8']);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const CRIMSON_MOON = BackgroundGradientPresetId.CRIMSON_MOON;
items11[3] = {type: BACKGROUND_GRADIENT_PRESET, id: CRIMSON_MOON, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_CRIMSON_MOON_1', 'stop': 16.17}, {'token': 'BG_GRADIENT_CRIMSON_MOON_2',
'stop': 72}], angle: 64.92, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.blIucj);
}, midpointPercentage: 30};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const MIDNIGHT_BLURPLE = BackgroundGradientPresetId.MIDNIGHT_BLURPLE;
items11[4] = {type: BACKGROUND_GRADIENT_PRESET, id: MIDNIGHT_BLURPLE, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_MIDNIGHT_BLURPLE_1', 'stop': 11.21}, {'token': 'BG_GRADIENT_MIDNIGHT_BLURPLE_2',
'stop': 61.92}], angle: 48.17, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.O1yOXG);
}, midpointPercentage: 24};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const MARS = BackgroundGradientPresetId.MARS;
items11[5] = {type: BACKGROUND_GRADIENT_PRESET, id: MARS, theme: DARKER, colors: [{'token': 'BG_GRADIENT_MARS_1',
'stop': 14.61}, {'token': 'BG_GRADIENT_MARS_2', 'stop': 74.62}], angle: 170.82, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['1swi9s']);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const DUSK = BackgroundGradientPresetId.DUSK;
items11[6] = {type: BACKGROUND_GRADIENT_PRESET, id: DUSK, theme: DARKER, colors: [{'token': 'BG_GRADIENT_DUSK_1',
'stop': 12.84}, {'token': 'BG_GRADIENT_DUSK_2', 'stop': 85.99}], angle: 180, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.So2Wuh);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const UNDER_THE_SEA = BackgroundGradientPresetId.UNDER_THE_SEA;
items11[7] = {type: BACKGROUND_GRADIENT_PRESET, id: UNDER_THE_SEA, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_UNDER_THE_SEA_1', 'stop': 1.91}, {'token': 'BG_GRADIENT_UNDER_THE_SEA_2',
'stop': 48.99}, {'token': 'BG_GRADIENT_UNDER_THE_SEA_3', 'stop': 96.35}], angle: 179.14, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.a22o48);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const RETRO_STORM = BackgroundGradientPresetId.RETRO_STORM;
items11[8] = {type: BACKGROUND_GRADIENT_PRESET, id: RETRO_STORM, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_RETRO_STORM_1', 'stop': 5.64}, {'token': 'BG_GRADIENT_RETRO_STORM_2',
'stop': 26.38}, {'token': 'BG_GRADIENT_RETRO_STORM_2', 'stop': 49.92}, {'token': 'BG_GRADIENT_RETRO_STORM_1',
'stop': 73.12}], angle: 148.71, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.Bf294R);
}, midpointPercentage: 61};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const NEON_NIGHTS = BackgroundGradientPresetId.NEON_NIGHTS;
items11[9] = {type: BACKGROUND_GRADIENT_PRESET, id: NEON_NIGHTS, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_NEON_NIGHTS_1', 'stop': 0}, {'token': 'BG_GRADIENT_NEON_NIGHTS_2', 'stop': 50},
{'token': 'BG_GRADIENT_NEON_NIGHTS_3', 'stop': 100}], angle: 180, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['p+XCta']);
}, midpointPercentage: 50};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const STRAWBERRY_LEMONADE = BackgroundGradientPresetId.STRAWBERRY_LEMONADE;
items11[10] = {type: BACKGROUND_GRADIENT_PRESET, id: STRAWBERRY_LEMONADE, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_STRAWBERRY_LEMONADE_1', 'stop': 18.79},
{'token': 'BG_GRADIENT_STRAWBERRY_LEMONADE_2', 'stop': 49.76}, {'token': 'BG_GRADIENT_STRAWBERRY_LEMONADE_3',
'stop': 80.72}], angle: 161.03, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['d5Ar+j']);
}, midpointPercentage: 32};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const AURORA = BackgroundGradientPresetId.AURORA;
items11[11] = {type: BACKGROUND_GRADIENT_PRESET, id: AURORA, theme: DARKER,
colors: [{'token': 'BG_GRADIENT_AURORA_1', 'stop': 10.39}, {'token': 'BG_GRADIENT_AURORA_2', 'stop': 26.87},
{'token': 'BG_GRADIENT_AURORA_3', 'stop': 48.31}, {'token': 'BG_GRADIENT_AURORA_4', 'stop': 64.98},
{'token': 'BG_GRADIENT_AURORA_5', 'stop': 92.5}], angle: 239.16, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.Je1FWC);
}, midpointPercentage: 34};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const SEPIA = BackgroundGradientPresetId.SEPIA;
items11[12] = {type: BACKGROUND_GRADIENT_PRESET, id: SEPIA, theme: DARKER, colors: [{'token': 'BG_GRADIENT_SEPIA_1',
'stop': 14.14}, {'token': 'BG_GRADIENT_SEPIA_2', 'stop': 60.35}], angle: 69.98, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['Z+Un40']);
}, midpointPercentage: 50};
object4 = {};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
object4.type = BACKGROUND_GRADIENT_PRESET;
const BLURPLE_TWILIGHT = BackgroundGradientPresetId.BLURPLE_TWILIGHT;
object4.id = BLURPLE_TWILIGHT;
object4.theme = DARKER;
object4.colors = [{'token': 'BG_GRADIENT_BLURPLE_TWILIGHT_1', 'stop': 11.18},
{'token': 'BG_GRADIENT_BLURPLE_TWILIGHT_2', 'stop': 64.54}];
object4.angle = 47.61;
object4.getName = function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.Mfoe3p);
};
object4.midpointPercentage = 50;
const object5 = {};
BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
object5.type = BACKGROUND_GRADIENT_PRESET;
const EASTER_EGG = BackgroundGradientPresetId.EASTER_EGG;
object5.id = EASTER_EGG;
LIGHT = ThemeTypes.LIGHT;
object5.theme = LIGHT;
const object6 = {'token': 'BG_GRADIENT_EASTER_EGG_2', 'stop': 96};
object5.colors = [{'token': 'BG_GRADIENT_EASTER_EGG_1', 'stop': 4}, object6];
object5.angle = 180;
object5.getName = function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.mFinbb);
};
object5.midpointPercentage = 50;
const items26 = [];
let value = arraySpread(items26, items11, arraySpread(items26, items2, 0, object6), object6);
items26[value] = object4;
items26[value + 1] = object5;
const items27 = [object4];
value = arraySpread(items27, items2, arraySpread(items27, items11, 1, object6), object6);
items27[value] = object5;
value + 1;
object4 = {DARK: 0};
object4[0] = 'DARK';
object4.LIGHT = 1;
object4[1] = 'LIGHT';
object4.SYSTEM = 2;
object4[2] = 'SYSTEM';
let STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
const items28 = [{type: STANDARD_BACKGROUND_THEME, theme: DARKER, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.b8Cei3);
}}];
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
LIGHT = ThemeTypes.LIGHT;
items28[1] = {type: STANDARD_BACKGROUND_THEME, theme: LIGHT, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.K2sFfo);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
let MIDNIGHT = ThemeTypes.MIDNIGHT;
items28[2] = {type: STANDARD_BACKGROUND_THEME, theme: MIDNIGHT, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.pQwSpQ);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
items28[3] = {type: STANDARD_BACKGROUND_THEME, theme: 'system', getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.zlvNOj);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
LIGHT = ThemeTypes.LIGHT;
const items29 = [{type: STANDARD_BACKGROUND_THEME, theme: LIGHT, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.K2sFfo);
}}];
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
const DARK = ThemeTypes.DARK;
items29[1] = {type: STANDARD_BACKGROUND_THEME, theme: DARK, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.SMPT1k);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
DARKER = ThemeTypes.DARKER;
items29[2] = {type: STANDARD_BACKGROUND_THEME, theme: DARKER, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.b8Cei3);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
MIDNIGHT = ThemeTypes.MIDNIGHT;
items29[3] = {type: STANDARD_BACKGROUND_THEME, theme: MIDNIGHT, getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.Do4ZJx);
}};
STANDARD_BACKGROUND_THEME = ClientThemeType.STANDARD_BACKGROUND_THEME;
items29[4] = {type: STANDARD_BACKGROUND_THEME, theme: 'system', getName: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.zlvNOj);
}};
value = require(22) /* metro dependency 22 */;
value = value.keyBy(items26, 'id');
const object7 = {SIZE_48: 48};
object7[48] = 'SIZE_48';
object7.SIZE_60 = 60;
object7[60] = 'SIZE_60';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/ClientThemesConstants.tsx');
exports.LIGHT_BACKGROUND_GRADIENT_PRESETS = items2;
exports.DARK_BACKGROUND_GRADIENT_PRESETS = items11;
exports.BACKGROUND_GRADIENT_PRESETS = items26;
exports.BACKGROUND_GRADIENT_PRESETS_MOBILE = items27;
exports.StandardBackgroundThemeIndex = object4;
exports.LEGACY_STANDARD_BACKGROUND_THEMES = items28;
exports.REFRESH_STANDARD_BACKGROUND_THEMES = items29;
exports.BACKGROUND_GRADIENT_PRESETS_MAP = value;
exports.ThemeIconSizes = object7;
}
@@ -0,0 +1,38 @@
/* Metro module 3966; source: modules/client_themes/ClientThemesTypes.tsx; dependencies: [1313, 1216, 1314, 2, 3967] */
function _fun32503(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4115:6, offset: 0x010180a5, size: 148 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(1313) /* metro dependency 1313: ThemeConstants */).PROTO_THEME_MAP_WEB_REFRESH;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/ClientThemesTypes.tsx');
const ClientThemeType = (require(3967) /* metro dependency 3967: shared */).ClientThemeType;
exports.ClientThemeType = ClientThemeType;
exports.getProtoThemeFromBaseTheme = getProtoThemeFromBaseTheme;
}
function getProtoThemeFromBaseTheme(a0) { // fn#32504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4115:282, offset: 0x01018139, size: 185 bytes, params: 2, frame: 18
var r0;
var defaultImport;
var captureException;
var Error;
var value4;
var value5;
var error;
const env0_0 = a0;
const Object = global.Object;
const value3 = Object.entries(PROTO_THEME_MAP_WEB_REFRESH).find(_fun32505);
if (value3 === undefined) {
defaultImport = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
captureException = defaultImport.captureException;
Error = global.Error;
value4 = 'No ProtoTheme found for base theme: ' + a0;
value5 = Object.create(Error.prototype, {constructor: {value: Error}});
error = new Error();
Reflect.apply(captureException, defaultImport, [error instanceof Object ? error : value5]);
r0 = (require(1314) /* metro dependency 1314: preloaded_user_settings */).Theme.UNSET;
} else {
r0 = global.parseInt(value3[0]);
}
return r0;
}
@@ -0,0 +1,68 @@
/* Metro module 3999; source: modules/client_themes/ClientThemesUtils.tsx; dependencies: [3965, 1313, 482, 696, 2] */
function _fun32865(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32865, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4157:6, offset: 0x010201aa, size: 223 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(3965) /* metro dependency 3965: ClientThemesConstants */;
const env0_2 = value.LEGACY_STANDARD_BACKGROUND_THEMES;
const env0_3 = value.REFRESH_STANDARD_BACKGROUND_THEMES;
value = require(1313) /* metro dependency 1313: ThemeConstants */;
const env0_4 = value.PROTO_THEME_MAP_MOBILE;
value.PROTO_THEME_MAP_WEB_REFRESH;
const env0_5 = (require(482) /* metro dependency 482: Constants */).ThemeTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/ClientThemesUtils.tsx');
exports.getThemeForColor = function(a0) {
return a0.l <= 0.3 ? ThemeTypes.DARK : ThemeTypes.LIGHT;
};
exports.getLinearGradientForBackgroundGradient = function({angle, colors}) {
var value = colors.map(_fun32868);
value = value.join(', ');
return 'linear-gradient(' + angle + 'deg, ' + value + ')';
};
exports.areThemesEqualForGradientThemes = areThemesEqualForGradientThemes;
exports.getBaseTheme = function(a0) {
return PROTO_THEME_MAP_MOBILE[a0];
};
exports.getThemeName = getThemeName;
}
function getLinearGradientForBackgroundGradient({angle, colors}) { // fn#32867, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4157:471, offset: 0x010202bb, size: 87 bytes, params: 2, frame: 17
let value = colors.map(_fun32868);
value = value.join(', ');
return 'linear-gradient(' + angle + 'deg, ' + value + ')';
}
function areThemesEqualForGradientThemes(a0, a1) { // fn#32869, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4157:715, offset: 0x01020371, size: 87 bytes, params: 3, frame: 6
var r1;
var r0;
const value = a0 === a1;
if (value) {
r0 = value;
} else {
r1 = a0 === ThemeTypes.DARK && a1 === ThemeTypes.DARKER;
r1 = !r1 ? a0 === ThemeTypes.DARKER && a1 === ThemeTypes.DARK : r1;
r0 = r1;
}
return r0;
}
function getThemeName(a0, a1) { // fn#32871, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4157:867, offset: 0x010203c8, size: 81 bytes, params: 3, frame: 12
var r1;
const env0_0 = a0;
let value = (a1 ? REFRESH_STANDARD_BACKGROUND_THEMES : LEGACY_STANDARD_BACKGROUND_THEMES).find(_fun32872);
if (value == null) {
r1 = undefined;
} else {
value = value.getName();
r1 = value;
}
return r1 ?? '';
}
function _fun32868({token, stop}) { // fn#32868, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4157:580, offset: 0x01020312, size: 95 bytes, params: 2, frame: 17
let value = environment.__proto__;
value = require(696) /* metro dependency 696: shimsNative */;
value = value.unsafe_getResolvedRawColor(token, {saturation: 1});
return '' + value + ' ' + stop + '%';
}
@@ -0,0 +1,692 @@
/* Metro module 4005; source: modules/client_themes/CustomThemesRandomUtils.tsx; dependencies: [674, 2] */
function _fun32969(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32969, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4163:6, offset: 0x010239f5, size: 305 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = [0, 45, 90, 135, 180, 225, 270, 315];
const env0_4 = [20, 40, 60, 80];
const object = {TWO_COLOR: 'two-color', ANALOGOUS: 'analogous', COMPLEMENTARY: 'complementary',
SPLIT_COMPLEMENTARY: 'split-complementary', TRIADIC: 'triadic'};
const ANALOGOUS = object.ANALOGOUS;
const items2 = [ANALOGOUS];
const COMPLEMENTARY = object.COMPLEMENTARY;
items2[1] = COMPLEMENTARY;
const SPLIT_COMPLEMENTARY = object.SPLIT_COMPLEMENTARY;
items2[2] = SPLIT_COMPLEMENTARY;
const TRIADIC = object.TRIADIC;
items2[3] = TRIADIC;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/CustomThemesRandomUtils.tsx');
exports.COLOR_PALETTE = ['#94E0CF', '#9AF0B1', '#9A90FF', '#9A53FF', '#FDA6E4', '#FFE6C0', '#EFB4AA', '#56B69F',
'#29C566', '#5348CA', '#6D24D4', '#CA48C8', '#F0AE29', '#DF4232'];
exports.ColorType = {SOLID: 'solid', GRADIENT: 'gradient'};
exports.GradientType = object;
exports.generateRandomColorOptions = generateRandomColorOptions;
}
function generateRandomColorOptions() { // fn#32970, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4163:751, offset: 0x01023b26, size: 528 bytes, params: 1, frame: 19
var r5;
var value6;
var value10;
var value11;
var value12;
var value13;
var Math8;
var value14;
var value15;
let binding = env0_4;
let Math = global.Math;
let floor = Math.floor;
const Math2 = global.Math;
const value2 = Math2.random();
let length = binding.length;
const property = binding[Reflect.apply(floor, Math, [value2 * length])];
binding = env0_3;
Math = global.Math;
floor = Math.floor;
const Math3 = global.Math;
const property2 = binding[Reflect.apply(floor, Math, [Math3.random() * binding.length])];
Math = global.Math;
reducibleJoin2: while (true) {
if (Math.random() < 0.2) {
value6 = 'path1';
r5 = value6;
break reducibleJoin2;
}
r5 = 'path2';
break reducibleJoin2;
}
if (r5 === 'path1') {
Math = global.Math;
floor = Math.floor;
value10 = global.Math.random();
binding = env0_2;
length = binding.length;
value11 = Reflect.apply(floor, Math, [value10 * length]);
Math = global.Math;
floor = Math.floor;
value12 = global.Math.random();
length = binding.length;
value13 = Reflect.apply(floor, Math, [value12 * length]);
if (value13 !== value11) {
r5 = value13;
} else {
reducibleLoop5: while (true) {
Math = global.Math;
floor = Math.floor;
Math8 = global.Math;
value14 = Math8.random();
length = env0_2.length;
value15 = Reflect.apply(floor, Math, [value14 * length]);
if (value15 === value11) {
continue reducibleLoop5;
}
r5 = value15;
break reducibleLoop5;
}
}
binding = env0_2;
return {type: env0_5.GRADIENT, colors: [binding[value11], binding[r5]], angle: property2, intensity: property,
gradientType: env0_6.TWO_COLOR};
}
binding = env0_2;
Math = global.Math;
floor = Math.floor;
const Math4 = global.Math;
const property3 = binding[Reflect.apply(floor, Math, [Math4.random() * binding.length])];
binding = env0_7;
Math = global.Math;
floor = Math.floor;
const Math5 = global.Math;
const property4 = binding[Reflect.apply(floor, Math, [Math5.random() * binding.length])];
const value9 = generateColorHarmony(property3, property4);
const GRADIENT = env0_5.GRADIENT;
return {type: GRADIENT, colors: value9, angle: property2, intensity: property, gradientType: property4};
}
function generateColorHarmony(a0, a1) { // fn#32971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4163:1230, owner: generateRandomColorOptions.generateColorHarmony, offset: 0x01023d36, size: 690 bytes, params: 3, frame: 27
var property;
var defaultImport;
var value2;
var get;
var value3;
var value4;
var value5;
var binding;
var ANALOGOUS;
var value6;
var COMPLEMENTARY;
var value7;
var SPLIT_COMPLEMENTARY;
var value8;
var TRIADIC;
var value9;
var items2;
var hsl;
var value10;
var value11;
var hex;
var value12;
var value13;
var value14;
var value15;
var value16;
var value17;
var value18;
var value19;
var defaultImport2;
var mix;
var value20;
var value21;
var value22;
var value23;
var error;
let value = environment.__proto__;
try {
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
defaultImport = importDefault(property);
} catch (error) {
return [a0];
}
try {
value2 = defaultImport(a0);
} catch (error) {
return [a0];
}
try {
get = value2.get;
} catch (error) {
return [a0];
}
try {
value3 = Reflect.apply(get, value2, ['hsl.h']);
} catch (error) {
return [a0];
}
try {
get = value2.get;
} catch (error) {
return [a0];
}
try {
value4 = Reflect.apply(get, value2, ['hsl.s']);
} catch (error) {
return [a0];
}
try {
get = value2.get;
} catch (error) {
return [a0];
}
try {
value5 = Reflect.apply(get, value2, ['hsl.l']);
} catch (error) {
return [a0];
}
try {
binding = env1_6;
} catch (error) {
return [a0];
}
try {
ANALOGOUS = binding.ANALOGOUS;
} catch (error) {
return [a0];
}
try {
value6 = ANALOGOUS === a1;
} catch (error) {
return [a0];
}
if (value6) {
try {
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value22 = value3 - 30;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value22, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2 = [];
} catch (error) {
return [a0];
}
try {
items2[0] = value;
} catch (error) {
return [a0];
}
try {
items2[1] = a0;
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value23 = value3 + 30;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value23, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2[2] = value;
} catch (error) {
return [a0];
}
} else {
try {
binding = env1_6;
} catch (error) {
return [a0];
}
try {
COMPLEMENTARY = binding.COMPLEMENTARY;
} catch (error) {
return [a0];
}
try {
value7 = COMPLEMENTARY === a1;
} catch (error) {
return [a0];
}
if (value7) {
try {
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value18 = value3 + 180;
} catch (error) {
return [a0];
}
try {
value19 = value18 % 360;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value19, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2 = [];
} catch (error) {
return [a0];
}
try {
items2[0] = a0;
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
defaultImport2 = importDefault(property);
} catch (error) {
return [a0];
}
try {
mix = defaultImport2.mix;
} catch (error) {
return [a0];
}
try {
value20 = Reflect.apply(mix, defaultImport2, [a0, value, 0.5]);
} catch (error) {
return [a0];
}
try {
hex = value20.hex;
} catch (error) {
return [a0];
}
try {
value21 = Reflect.apply(hex, value20, []);
} catch (error) {
return [a0];
}
try {
items2[1] = value21;
} catch (error) {
return [a0];
}
try {
items2[2] = value;
} catch (error) {
return [a0];
}
return items2;
}
try {
binding = env1_6;
} catch (error) {
return [a0];
}
try {
SPLIT_COMPLEMENTARY = binding.SPLIT_COMPLEMENTARY;
} catch (error) {
return [a0];
}
try {
value8 = SPLIT_COMPLEMENTARY === a1;
} catch (error) {
return [a0];
}
if (value8) {
try {
items2 = [];
} catch (error) {
return [a0];
}
try {
items2[0] = a0;
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value14 = value3 + 150;
} catch (error) {
return [a0];
}
try {
value15 = value14 % 360;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value15, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2[1] = value;
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value16 = value3 + 210;
} catch (error) {
return [a0];
}
try {
value17 = value16 % 360;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value17, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2[2] = value;
} catch (error) {
return [a0];
}
return items2;
}
try {
binding = env1_6;
} catch (error) {
return [a0];
}
try {
TRIADIC = binding.TRIADIC;
} catch (error) {
return [a0];
}
try {
value9 = TRIADIC === a1;
} catch (error) {
return [a0];
}
if (value9) {
try {
items2 = [];
} catch (error) {
return [a0];
}
try {
items2[0] = a0;
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value10 = value3 + 120;
} catch (error) {
return [a0];
}
try {
value11 = value10 % 360;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value11, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2[1] = value;
} catch (error) {
return [a0];
}
try {
property = dependencyMap[0];
} catch (error) {
return [a0];
}
try {
value = importDefault(property);
} catch (error) {
return [a0];
}
try {
hsl = value.hsl;
} catch (error) {
return [a0];
}
try {
value12 = value3 + 240;
} catch (error) {
return [a0];
}
try {
value13 = value12 % 360;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hsl, value, [value13, value4, value5]);
} catch (error) {
return [a0];
}
try {
hex = value.hex;
} catch (error) {
return [a0];
}
try {
value = Reflect.apply(hex, value, []);
} catch (error) {
return [a0];
}
try {
items2[2] = value;
} catch (error) {
return [a0];
}
return items2;
}
try {
items2 = [];
} catch (error) {
return [a0];
}
try {
items2[0] = a0;
} catch (error) {
return [a0];
}
}
return items2;
}
@@ -0,0 +1,37 @@
/* Metro module 13727; source: modules/client_themes/SavedCustomThemeActionCreators.tsx; dependencies: [4046, 661, 694, 507, 2] */
function _fun104877(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13924:6, offset: 0x022a312f, size: 140 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const savedCustomThemeStore = importDefault(4046) /* metro dependency 4046: SavedCustomThemeStore */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).Endpoints;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/SavedCustomThemeActionCreators.tsx');
exports.fetchUserCustomThemes = fetchUserCustomThemes;
}
function fetchUserCustomThemes() { // fn#104878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13924:240, offset: 0x022a31bb, size: 165 bytes, params: 1, frame: 16
var value;
if (!SavedCustomThemeStore.isFetching()) {
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'SAVED_CUSTOM_THEMES_FETCH_START'});
value = (require(507) /* metro dependency 507: HTTPUtils */).HTTP.get({'url': null, 'oldFormErrors': true,
'rejectWithError': true, url: Endpoints.USERS_ME_CUSTOM_THEMES});
value = value.then(_fun104879);
value.catch(_fun104880);
}
}
function _fun104879({body}) { // fn#104879, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13924:440, offset: 0x022a3260, size: 89 bytes, params: 2, frame: 16
let value = environment.__proto__;
value = undefined;
const defaultImport = importDefault(694) /* metro dependency 694: Dispatcher */;
defaultImport.dispatch({type: 'SAVED_CUSTOM_THEMES_FETCH_SUCCESS',
themes: (body == null ? value : body.custom_themes) ?? []});
return value;
}
function _fun104880(a0) { // fn#104880, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13924:585, offset: 0x022a32b9, size: 56 bytes, params: 2, frame: 13
const value = environment.__proto__;
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'SAVED_CUSTOM_THEMES_FETCH_FAILURE',
error: a0});
}
@@ -0,0 +1,189 @@
/* Metro module 4046; source: modules/client_themes/SavedCustomThemeStore.tsx; dependencies: [6, 7, 15, 17, 18, 1313, 1216, 566, 694, 2] */
function _fun33372(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:6, offset: 0x0102d43b, size: 422 bytes, params: 8, frame: 22
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
let value = require(1313) /* metro dependency 1313: ThemeConstants */;
value.PROTO_THEME_MAP_WEB_REFRESH;
const env0_7 = value.PROTO_THEME_MAP_MOBILE;
object2 = {NOT_FETCHED: 0};
object2[0] = 'NOT_FETCHED';
object2.IS_FETCHING = 1;
object2[1] = 'IS_FETCHING';
object2.HAS_FETCHED = 2;
object2[2] = 'HAS_FETCHED';
object2.ERROR = 3;
object2[3] = 'ERROR';
const env0_9 = [];
const env0_10 = object2.NOT_FETCHED;
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
value = _fun33377(PersistedStore);
value.displayName = 'SavedCustomThemeStore';
value.persistKey = 'SavedCustomThemeStore';
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{SAVED_CUSTOM_THEMES_FETCH_START: SAVED_CUSTOM_THEMES_FETCH_START,
SAVED_CUSTOM_THEMES_FETCH_SUCCESS: SAVED_CUSTOM_THEMES_FETCH_SUCCESS,
SAVED_CUSTOM_THEMES_FETCH_FAILURE: SAVED_CUSTOM_THEMES_FETCH_FAILURE});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/SavedCustomThemeStore.tsx');
exports.default = value;
exports.FetchState = object2;
}
function _isNativeReflectConstruct_33373() { // fn#33373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:217, offset: 0x0102d5e1, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_33373_isNativeReflectConstruct = function() {
return !!result;
})();
}
function validateSavedTheme(a0) { // fn#33376, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:583, offset: 0x0102d63f, size: 180 bytes, params: 2, frame: 17
var r5;
var r2;
var r0;
var value;
var base_theme;
var property;
var colors;
var length;
var value2;
var gradient_angle;
var value3;
var base_mix;
var value4;
var value5;
var error;
var captureMessage;
var value6;
try {
value = environment;
base_theme = a0.base_theme;
property = PROTO_THEME_MAP_MOBILE[base_theme];
colors = a0.colors;
length = colors.length;
value2 = length > 0;
if (value2) {
gradient_angle = a0.gradient_angle;
value3 = typeof gradient_angle === 'number';
r5 = value3;
} else {
r5 = value2;
}
if (r5) {
base_mix = a0.base_mix;
value4 = typeof base_mix === 'number';
r2 = value4;
} else {
r2 = r5;
}
if (r2) {
value5 = property != null;
r0 = value5;
} else {
r0 = r2;
}
} catch (error) {
value = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
captureMessage = value.captureMessage;
value6 = 'Invalid saved custom theme: ' + error;
Reflect.apply(captureMessage, value, [value6, {tags: {app_context: 'SavedCustomThemeStore'}}]);
return false;
}
return r0;
}
function _fun33377(a0) { // fn#33377, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:866, offset: 0x0102d6f3, size: 233 bytes, params: 2, frame: 16
const closure = SavedCustomThemeStore;
env0_6(closure, a0);
return env0_3(closure, [{key: 'initialize', value: value_33379}, {key: 'getState', value: value_33380},
{key: 'getSavedCustomTheme', value: value_33381}, {key: 'getFetchState', value: function() {
return NOT_FETCHED;
}}, {key: 'hasSavedCustomThemes', value: value_33383}, {key: 'isFetching', value: value_33384}, {key: 'hasFetched',
value: value_33385}, {key: 'hasError', value: value_33386}]);
}
function SAVED_CUSTOM_THEMES_FETCH_START() { // fn#33387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1933, offset: 0x0102d8d2, size: 21 bytes, params: 1, frame: 2
env0_10 = env0_8.IS_FETCHING;
}
function SAVED_CUSTOM_THEMES_FETCH_SUCCESS({themes}) { // fn#33388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:2024, offset: 0x0102d8e7, size: 65 bytes, params: 2, frame: 12
env0_10 = env0_8.HAS_FETCHED;
env0_9 = themes.filter(validateSavedTheme).map(function(a0) {
return {colors: a0.colors, gradient_angle: a0.gradient_angle, base_mix: a0.base_mix,
base_theme: PROTO_THEME_MAP_MOBILE[a0.base_theme]};
});
}
function SAVED_CUSTOM_THEMES_FETCH_FAILURE({error}) { // fn#33390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:2244, offset: 0x0102d964, size: 81 bytes, params: 2, frame: 16
env0_10 = env0_8.ERROR;
(importDefault(1216) /* metro dependency 1216: SentryUtilsNative */).captureException(error,
{tags: {app_context: 'SavedCustomThemeStore'}});
}
function value_33379(a0) { // fn#33379, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1201, offset: 0x0102d7dc, size: 43 bytes, params: 2, frame: 2
var savedCustomThemes;
var value;
if (a0 != null) {
savedCustomThemes = a0.savedCustomThemes;
value = environment.__proto__;
}
env1_10 = env1_8.NOT_FETCHED;
}
function value_33380() { // fn#33380, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1286, offset: 0x0102d807, size: 32 bytes, params: 1, frame: 4
return {savedCustomThemes: env1_9 ?? []};
}
function value_33381() { // fn#33381, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1371, offset: 0x0102d827, size: 71 bytes, params: 1, frame: 5
const binding = env1_9;
const value2 = null;
return (value2 == binding ? undefined : binding.length) > 0 && env1_9[0].colors.length > 0 ? env1_9[0] : value2;
}
function value_33383() { // fn#33383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1543, offset: 0x0102d86e, size: 31 bytes, params: 1, frame: 3
const value = environment.__proto__;
return env1_9?.length > 0;
}
function value_33384() { // fn#33384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1624, offset: 0x0102d88d, size: 23 bytes, params: 1, frame: 2
const IS_FETCHING = env1_8.IS_FETCHING;
return NOT_FETCHED === IS_FETCHING;
}
function value_33385() { // fn#33385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1686, offset: 0x0102d8a4, size: 23 bytes, params: 1, frame: 2
const HAS_FETCHED = env1_8.HAS_FETCHED;
return NOT_FETCHED === HAS_FETCHED;
}
function value_33386() { // fn#33386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4204:1746, offset: 0x0102d8bb, size: 23 bytes, params: 1, frame: 2
const ERROR = env1_8.ERROR;
return NOT_FETCHED === ERROR;
}
@@ -0,0 +1,24 @@
/* Metro module 13738; source: modules/client_themes/images/native/SynchronizeIconNative.tsx; dependencies: [31, 33, 7744, 2] */
function _fun104946(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13935:6, offset: 0x022a6a44, size: 147 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const value = require(33) /* metro dependency 33 */;
const env0_3 = value.jsx;
const env0_4 = value.jsxs;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/images/native/SynchronizeIconNative.tsx');
exports.default = _default_104947;
}
function _default_104947({fill, iconStyles}) { // fn#104947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13935:140, offset: 0x022a6ad7, size: 325 bytes, params: 2, frame: 26
const defaultImport = importDefault(7744) /* metro dependency 7744 */;
const G = (require(7744) /* metro dependency 7744 */).G;
const Rect = (require(7744) /* metro dependency 7744 */).Rect;
const items2 = [<G id="Frame_-_24px"><Rect y="0" fill="none" width="24" height="24" /></G>];
const G2 = (require(7744) /* metro dependency 7744 */).G;
const Path = (require(7744) /* metro dependency 7744 */).Path;
items2[1] = <G id="Filled_Icons"><G2><Path fill={fill} d="M6.351,6.351C7.824,4.871,9.828,4,12,4c4.411,0,8,3.589,8,8h2c0-5.515-4.486-10-10-10 C9.285,2,6.779,3.089,4.938,4.938L3,3v6h6L6.351,6.351z" /><Path fill={fill} d="M17.649,17.649C16.176,19.129,14.173,20,12,20c-4.411,0-8-3.589-8-8H2c0,5.515,4.486,10,10,10 c2.716,0,5.221-1.089,7.062-2.938L21,21v-6h-6L17.649,17.649z" /></G2></G>;
return ((Component) => <Component style={iconStyles} x="0px" y="0px" width="24" height="24" viewBox="0 0 24 24" fill={fill}>{items2}</Component>)(defaultImport);
}
@@ -0,0 +1,289 @@
/* Metro module 2422; source: modules/client_themes/intl/ClientThemes.messages.js; dependencies: [1247, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 1282, 2] */
function _fun23270(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#23270, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:6, offset: 0x00f0bcde, size: 453 bytes, params: 8, frame: 19
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object2 = {bg: bg_23271, cs: cs_23273, da: da_23275, de: de_23277, el: el_23279};
object2['en-GB'] = _fun23281;
object2['es-419'] = _fun23283;
object2['es-ES'] = _fun23285;
object2.fi = fi_23287;
object2.fr = fr_23289;
object2.hi = hi_23291;
object2.hr = hr_23293;
object2.hu = hu_23295;
object2.it = it_23297;
object2.ja = ja_23299;
object2.ko = ko_23301;
object2.lt = lt_23303;
object2.nl = nl_23305;
object2.no = no_23307;
object2.pl = pl_23309;
object2['pt-BR'] = _fun23311;
object2.ro = ro_23313;
object2.ru = ru_23315;
object2['sv-SE'] = _fun23317;
object2.th = th_23319;
object2.tr = tr_23321;
object2.uk = uk_23323;
object2.vi = vi_23325;
object2['zh-CN'] = _fun23327;
object2['zh-TW'] = _fun23329;
object2['en-US'] = _fun23331;
let value = require(1282) /* metro dependency 1282 */;
value = value.createLoader(object2, 'en-US');
const messagesProxy = (require(1282) /* metro dependency 1282 */).makeMessagesProxy(value);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/intl/ClientThemes.messages.js');
exports.default = messagesProxy;
exports.messagesLoader = value;
}
function bg_23271() { // fn#23271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:102, offset: 0x00f0bea3, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2423) /* metro dependency 2423 */);
return value.then(function(a0) {
return {default: a0};
});
}
function cs_23273() { // fn#23273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:165, offset: 0x00f0bee4, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2424) /* metro dependency 2424 */);
return value.then(function(a0) {
return {default: a0};
});
}
function da_23275() { // fn#23275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:228, offset: 0x00f0bf25, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2425) /* metro dependency 2425 */);
return value.then(function(a0) {
return {default: a0};
});
}
function de_23277() { // fn#23277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:291, offset: 0x00f0bf66, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2426) /* metro dependency 2426 */);
return value.then(function(a0) {
return {default: a0};
});
}
function el_23279() { // fn#23279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:354, offset: 0x00f0bfa7, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2427) /* metro dependency 2427 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23281() { // fn#23281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:422, offset: 0x00f0bfe8, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2428) /* metro dependency 2428 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23283() { // fn#23283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:491, offset: 0x00f0c029, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2429) /* metro dependency 2429 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23285() { // fn#23285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:559, offset: 0x00f0c06a, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2430) /* metro dependency 2430 */);
return value.then(function(a0) {
return {default: a0};
});
}
function fi_23287() { // fn#23287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:622, offset: 0x00f0c0ab, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2431) /* metro dependency 2431 */);
return value.then(function(a0) {
return {default: a0};
});
}
function fr_23289() { // fn#23289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:685, offset: 0x00f0c0ec, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2432) /* metro dependency 2432 */);
return value.then(function(a0) {
return {default: a0};
});
}
function hi_23291() { // fn#23291, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:749, offset: 0x00f0c12d, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2433) /* metro dependency 2433 */);
return value.then(function(a0) {
return {default: a0};
});
}
function hr_23293() { // fn#23293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:813, offset: 0x00f0c16e, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2434) /* metro dependency 2434 */);
return value.then(function(a0) {
return {default: a0};
});
}
function hu_23295() { // fn#23295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:877, offset: 0x00f0c1af, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2435) /* metro dependency 2435 */);
return value.then(function(a0) {
return {default: a0};
});
}
function it_23297() { // fn#23297, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:941, offset: 0x00f0c1f0, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2436) /* metro dependency 2436 */);
return value.then(function(a0) {
return {default: a0};
});
}
function ja_23299() { // fn#23299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1005, offset: 0x00f0c231, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2437) /* metro dependency 2437 */);
return value.then(function(a0) {
return {default: a0};
});
}
function ko_23301() { // fn#23301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1069, offset: 0x00f0c272, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2438) /* metro dependency 2438 */);
return value.then(function(a0) {
return {default: a0};
});
}
function lt_23303() { // fn#23303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1133, offset: 0x00f0c2b3, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2439) /* metro dependency 2439 */);
return value.then(function(a0) {
return {default: a0};
});
}
function nl_23305() { // fn#23305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1197, offset: 0x00f0c2f4, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2440) /* metro dependency 2440 */);
return value.then(function(a0) {
return {default: a0};
});
}
function no_23307() { // fn#23307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1261, offset: 0x00f0c335, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2441) /* metro dependency 2441 */);
return value.then(function(a0) {
return {default: a0};
});
}
function pl_23309() { // fn#23309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1325, offset: 0x00f0c376, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2442) /* metro dependency 2442 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23311() { // fn#23311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1394, offset: 0x00f0c3b7, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2443) /* metro dependency 2443 */);
return value.then(function(a0) {
return {default: a0};
});
}
function ro_23313() { // fn#23313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1458, offset: 0x00f0c3f8, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2444) /* metro dependency 2444 */);
return value.then(function(a0) {
return {default: a0};
});
}
function ru_23315() { // fn#23315, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1522, offset: 0x00f0c439, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2445) /* metro dependency 2445 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23317() { // fn#23317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1591, offset: 0x00f0c47a, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2446) /* metro dependency 2446 */);
return value.then(function(a0) {
return {default: a0};
});
}
function th_23319() { // fn#23319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1655, offset: 0x00f0c4bb, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2447) /* metro dependency 2447 */);
return value.then(function(a0) {
return {default: a0};
});
}
function tr_23321() { // fn#23321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1719, offset: 0x00f0c4fc, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2448) /* metro dependency 2448 */);
return value.then(function(a0) {
return {default: a0};
});
}
function uk_23323() { // fn#23323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1783, offset: 0x00f0c53d, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2449) /* metro dependency 2449 */);
return value.then(function(a0) {
return {default: a0};
});
}
function vi_23325() { // fn#23325, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1847, offset: 0x00f0c57e, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2450) /* metro dependency 2450 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23327() { // fn#23327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1916, offset: 0x00f0c5bf, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2451) /* metro dependency 2451 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23329() { // fn#23329, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:1985, offset: 0x00f0c600, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2452) /* metro dependency 2452 */);
return value.then(function(a0) {
return {default: a0};
});
}
function _fun23331() { // fn#23331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:2549:2054, offset: 0x00f0c641, size: 65 bytes, params: 1, frame: 14
let value = require(1247) /* metro dependency 1247: AssetJsonUtils */;
value = value.loadJsonAsset(require(2453) /* metro dependency 2453 */);
return value.then(function(a0) {
return {default: a0};
});
}
@@ -0,0 +1,44 @@
/* Metro module 7701; source: modules/client_themes/native/ClientThemesOverrides.tsx; dependencies: [31, 4501, 3963, 7702, 2] */
function _fun61486(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7879:6, offset: 0x01b41d2e, size: 195 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({none: {backgroundColor: 'transparent'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/ClientThemesOverrides.tsx');
exports.useGradientBottom = useGradientBottom;
exports.useGradientTop = useGradientTop;
exports.useGradientMidpoint = useGradientMidpoint;
exports.useClientThemesOverride = function(a0) {
return importDefault(dependencyMap[3])() ? a0 ?? useStyles().none : undefined;
};
}
function useGradientBottom() { // fn#61487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7879:277, offset: 0x01b41df1, size: 93 bytes, params: 1, frame: 17
const clientThemesUtilsModule = require(3963) /* metro dependency 3963: ClientThemesUtils */;
const useGradientValue = clientThemesUtilsModule.useGradientValue;
const GradientPercentage = clientThemesUtilsModule.GradientPercentage;
const END = GradientPercentage.END;
return env0_3.useMemo(_fun61488, [Reflect.apply(useGradientValue, clientThemesUtilsModule, [END])]);
}
function useGradientTop() { // fn#61489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7879:426, offset: 0x01b41e6f, size: 93 bytes, params: 1, frame: 17
const clientThemesUtilsModule = require(3963) /* metro dependency 3963: ClientThemesUtils */;
const useGradientValue = clientThemesUtilsModule.useGradientValue;
const GradientPercentage = clientThemesUtilsModule.GradientPercentage;
const START = GradientPercentage.START;
return env0_3.useMemo(_fun61490, [Reflect.apply(useGradientValue, clientThemesUtilsModule, [START])]);
}
function useGradientMidpoint() { // fn#61491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7879:582, offset: 0x01b41ecc, size: 93 bytes, params: 1, frame: 17
const clientThemesUtilsModule = require(3963) /* metro dependency 3963: ClientThemesUtils */;
const useGradientValue = clientThemesUtilsModule.useGradientValue;
const GradientPercentage = clientThemesUtilsModule.GradientPercentage;
const MID = GradientPercentage.MID;
return env0_3.useMemo(_fun61492, [Reflect.apply(useGradientValue, clientThemesUtilsModule, [MID])]);
}
function _fun61488() { // fn#61488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7879:363, offset: 0x01b41e4e, size: 33 bytes, params: 1, frame: 3
return env0_0 != null ? {backgroundColor: env0_0} : undefined;
}
@@ -0,0 +1,354 @@
/* Metro module 3963; source: modules/client_themes/native/ClientThemesUtils.tsx; dependencies: [57, 31, 1310, 3964, 1354, 697, 674, 4000, 4001, 3966, 4002, 4003, 4048, 4045, 2] */
function _fun32428(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32428, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:6, offset: 0x0101522b, size: 844 bytes, params: 8, frame: 25
var object4;
const env0_0 = require;
const closure = getClientThemesGradientColorByPercentage;
const closure2 = function({colors}) {
return colors.map(_fun32433);
};
const getGradientAngle = function(a0) {
return a0.type === require(dependencyMap[9]).ClientThemeType.BACKGROUND_GRADIENT_PRESET ? a0.angle : a0.customThemeSettings.gradientAngle;
};
const closure3 = function(a0, a1) {
return calculateGradientValueWithOpacity(a0, a1, a0.theme);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const themeStore = importDefault(1310) /* metro dependency 1310: ThemeStore */;
const clientThemesBackgroundStore = importDefault(3964) /* metro dependency 3964: ClientThemesBackgroundStore */;
const customThemeMobileStore = importDefault(1354) /* metro dependency 1354: CustomThemeMobileStore */;
object4 = {LEVEL_9: 0.9};
object4[0.9] = 'LEVEL_9';
object4.LEVEL_85 = 0.85;
object4[0.85] = 'LEVEL_85';
object4.LEVEL_8 = 0.8;
object4[0.8] = 'LEVEL_8';
object4.LEVEL_75 = 0.75;
object4[0.75] = 'LEVEL_75';
object4.LEVEL_7 = 0.7;
object4[0.7] = 'LEVEL_7';
object4.LEVEL_6 = 0.6;
object4[0.6] = 'LEVEL_6';
object4.LEVEL_5 = 0.5;
object4[0.5] = 'LEVEL_5';
object4.LEVEL_4 = 0.4;
object4[0.4] = 'LEVEL_4';
object4.LEVEL_35 = 0.35;
object4[0.35] = 'LEVEL_35';
object4.LEVEL_3 = 0.3;
object4[0.3] = 'LEVEL_3';
object4.LEVEL_25 = 0.25;
object4[0.25] = 'LEVEL_25';
object4.LEVEL_2 = 0.2;
object4[0.2] = 'LEVEL_2';
object4.LEVEL_15 = 0.15;
object4[0.15] = 'LEVEL_15';
object4.LEVEL_1 = 0.1;
object4[0.1] = 'LEVEL_1';
const object5 = {};
const BLACK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BLACK;
object5.DARK = BLACK;
const WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
object5.LIGHT = WHITE;
const object6 = {START: 0};
object6[0] = 'START';
object6.MID = 50;
object6[50] = 'MID';
object6.END = 100;
object6[100] = 'END';
const closure4 = colorToHex;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/ClientThemesUtils.tsx');
exports.GRADIENT_ANGLE_BREAKPOINT = 128;
exports.OverlayOpacity = object4;
exports.OverlayColors = object5;
exports.GradientPercentage = object6;
exports.colorToHex = closure4;
exports.getClientThemesGradientColorByPercentage = closure;
exports.getClientThemesGradientHexColors = closure2;
exports.getGradientThemeMetadata = getGradientThemeMetadata;
exports.getGradientValue = closure3;
exports.useGradientValue = useGradientValue;
exports.getEmbedScrollGradientBackground = getEmbedScrollGradientBackground;
exports.getEmbedBackground = getEmbedBackground;
}
function getMixWithOpacity({r, g, b}, {r, g, b}, a2) { // fn#32429, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:791, offset: 0x01015577, size: 164 bytes, params: 4, frame: 25
const colorToHexBinding = colorToHex;
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const mixColors = colorUtilsModule.mixColors;
let value = importDefault(4001) /* metro dependency 4001: Color */;
value = new value(r, g, b, a2);
const defaultImport = importDefault(4001) /* metro dependency 4001: Color */;
const value3 = 1 - a2;
const value4 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}});
const defaultImport2 = new defaultImport(r, g, b, value3);
return colorToHexBinding(Reflect.apply(mixColors, colorUtilsModule, [value,
defaultImport2 instanceof Object ? defaultImport2 : value4]));
}
function getClientThemesGradientColorByPercentage(a0, a1) { // fn#32430, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:924, offset: 0x0101561b, size: 149 bytes, params: 3, frame: 16
const value = env0_3((importDefault(674) /* metro dependency 674 */).scale(getClientThemesGradientHexColors(a0)).domain(a0.colors.map(function(a0) {
return a0.stop;
}))(a1).rgb(), 3);
return {r: value[0], g: value[1], b: value[2]};
}
function getClientThemesGradientHexColors({colors}) { // fn#32432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:1126, offset: 0x010156bb, size: 27 bytes, params: 2, frame: 11
return colors.map(function(a0) {
return importDefault(dependencyMap[5]).unsafe_rawColors[a0.token];
});
}
function getGradientColorByPercentage(a0, a1) { // fn#32435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:1373, offset: 0x0101574a, size: 254 bytes, params: 3, frame: 19
const type = a0.type;
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
const BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
if (type === BACKGROUND_GRADIENT_PRESET) {
return getClientThemesGradientColorByPercentage(a0, a1);
}
const colors = a0.customThemeSettings.colors;
if (colors.length === 1) {
return (require(4000) /* metro dependency 4000: ColorUtils */).hexToRgb(colors[0]);
}
const value2 = colors.map(function(a0, a1) {
return a1 / (colors.length - 1) * 100;
});
const value3 = (importDefault(674) /* metro dependency 674 */).scale(colors);
const value = env0_3(value3.domain(value2)(a1).rgb(), 3);
return {r: value[0], g: value[1], b: value[2]};
}
function getBottomColorWithOpacity(a0, a1, a2) { // fn#32437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:1733, offset: 0x0101586b, size: 76 bytes, params: 4, frame: 17
return getMixWithOpacity(getGradientColorByPercentage(a0,
getGradientAngle(a0) > env0_8 ? env0_11.END : env0_11.START), a1, a2);
}
function getTopColorWithOpacity(a0, a1, a2) { // fn#32438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:1873, offset: 0x010158b7, size: 76 bytes, params: 4, frame: 17
return getMixWithOpacity(getGradientColorByPercentage(a0,
getGradientAngle(a0) > env0_8 ? env0_11.START : env0_11.END), a1, a2);
}
function calculateGradientValueWithOpacity(a0, a1, a2, a3) { // fn#32439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:2010, offset: 0x01015903, size: 512 bytes, params: 5, frame: 23
var r3;
var r0;
var isThemeDark3;
let value = a1;
const value2 = a3;
const isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(a2);
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const hexToRgb = colorUtilsModule.hexToRgb;
let binding = env0_10;
const r4 = isThemeDark2 ? Reflect.apply(hexToRgb, colorUtilsModule, [binding.DARK]) : Reflect.apply(hexToRgb,
colorUtilsModule, [binding.LIGHT]);
let type = a0.type;
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
const BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
let r8 = type !== BACKGROUND_GRADIENT_PRESET ? env0_11.MID : a0.midpointPercentage ?? env0_11.MID;
r8 = value ?? r8;
type = a0.type;
const CUSTOM_BACKGROUND_GRADIENT = ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
if (type === CUSTOM_BACKGROUND_GRADIENT) {
value = a0.customThemeSettings.baseMix / 100;
if (value2 != null) {
r0 = value2;
} else {
isThemeDark3 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(a2);
value = 0.2 * value;
r0 = isThemeDark3 ? 0.12 + value : 0.3 + value;
}
r3 = r0;
} else if (value2 != null) {
r3 = value2;
} else {
value = require(4002) /* metro dependency 4002: shared */;
value = value.isThemeDark(a2);
binding = env0_9;
r3 = value ? binding.LEVEL_2 : binding.LEVEL_4;
}
value = getGradientAngle(a0);
const START = env0_11.START;
return r8 === START ? value < env0_8 ? getBottomColorWithOpacity(a0, r4, r3) : getTopColorWithOpacity(a0, r4,
r3) : r8 === env0_11.END ? value > env0_8 ? getBottomColorWithOpacity(a0, r4, r3) : getTopColorWithOpacity(a0,
r4, r3) : getMixWithOpacity(getGradientColorByPercentage(a0, r8), r4, r3);
}
function colorToHex({red, green, blue}) { // fn#32441, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:742, offset: 0x01015b21, size: 76 bytes, params: 2, frame: 15
let value = importDefault(674) /* metro dependency 674 */;
value = value.rgb(red, green, blue);
return value.hex('rgb');
}
function getGradientThemeMetadata(a0, a1) { // fn#32442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:3241, offset: 0x01015b6d, size: 608 bytes, params: 3, frame: 33
var r10;
var r3;
var r4;
var colors;
var value7;
var indexOf;
var Math;
var min;
var items;
var value9;
var defaultImport;
var max;
var value10;
if (a0 == null) {
return null;
}
if (a1 == null) {
return null;
}
var value;
const getGradientValueBinding = getGradientValue;
const START = env0_11.START;
const gradientValueBinding = getGradientValueBinding(a1, START);
const MID = env0_11.MID;
const gradientValueBinding2 = getGradientValueBinding(a1, MID);
const END = env0_11.END;
const gradientValueBinding3 = getGradientValueBinding(a1, END);
const gradientAngle = getGradientAngle(a1);
const r6 = gradientAngle > env0_8 ? gradientValueBinding : gradientValueBinding3;
const r5 = gradientAngle > env0_8 ? gradientValueBinding3 : gradientValueBinding;
let type = a1.type;
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
const BACKGROUND_GRADIENT_PRESET = ClientThemeType.BACKGROUND_GRADIENT_PRESET;
const r11 = type === BACKGROUND_GRADIENT_PRESET ? getClientThemesGradientHexColors(a1) : a1.customThemeSettings.colors;
const property = r11[0];
const property2 = r11[r11.length - 1];
type = a1.type;
const CUSTOM_BACKGROUND_GRADIENT = ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
if (type !== CUSTOM_BACKGROUND_GRADIENT) {
r3 = property2;
r4 = property;
} else {
colors = a1.customThemeSettings.colors;
value7 = colors.map(_fun32443);
value = importDefault(674) /* metro dependency 674 */;
indexOf = value7.indexOf;
Math = global.Math;
min = Math.min;
items = [];
value = value(colors[Reflect.apply(indexOf, value7, [apply(min, items, Math, arraySpread(items, value7, 0,
undefined))])]);
value = value.set('hsl.s', 0.2);
value9 = value.set('hsl.l', 0.7).hex();
defaultImport = importDefault(674) /* metro dependency 674 */;
indexOf = value7.indexOf;
Math = global.Math;
max = Math.max;
items = [];
arraySpread(items, value7, 0, value);
value = defaultImport(colors[Reflect.apply(indexOf, value7, [apply(max, items, Math, value)])]);
value = value.set('hsl.s', 0.2);
value = value.set('hsl.l', 0.9);
value = value.hex();
value10 = a0 === 'dark';
r10 = value10 ? value9 : value;
r3 = value10 ? value : value9;
r4 = r10;
}
return {theme: a0, colors: {['gradient.start']: gradientValueBinding, ['gradient.mid']: gradientValueBinding2,
['gradient.end']: gradientValueBinding3, ['gradient.top']: r6, ['gradient.bottom']: r5,
['gradient.primary']: r4, ['gradient.secondary']: r3}};
}
function useGradientValue(a0, a1) { // fn#32444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:4184, offset: 0x01015dfa, size: 147 bytes, params: 3, frame: 20
const env0_0 = a0;
const env0_1 = a1;
const value2 = undefined;
return env0_4.useMemo(_fun32445, [(importDefault(4003) /* metro dependency 4003: useColorThemeBackground */)(),
a1 == null ? value2 : a1.dark, a1 == null ? value2 : a1.light, a0,
(importDefault(4048) /* metro dependency 4048: useTheme */)()]);
}
function getEmbedScrollGradientBackground() { // fn#32446, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:4682, offset: 0x01015fa7, size: 83 bytes, params: 1, frame: 14
const customBackgroundGradient = (require(4045) /* metro dependency 4045: MobileThemesUtils */).getCustomBackgroundGradient();
const value3 = null;
const r4 = value3 != customBackgroundGradient ? customBackgroundGradient : ClientThemesBackgroundStore.gradientPreset;
const r2 = value3 != r4 ? r4 : value3;
return value3 == r2 ? value3 : getGradientValue(r2);
}
function getEmbedBackground() { // fn#32447, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:4884, offset: 0x01015ffa, size: 144 bytes, params: 1, frame: 15
var r3;
var moduleValue;
var isThemeDark2;
var binding;
var moduleValue2;
const hasCustomTheme2 = CustomThemeMobileStore.hasCustomTheme();
if (ClientThemesBackgroundStore.gradientPreset != null) {
moduleValue = require(4002) /* metro dependency 4002: shared */;
isThemeDark2 = moduleValue.isThemeDark(ThemeStore.theme);
binding = env0_10;
r3 = isThemeDark2 ? binding.DARK : binding.LIGHT;
moduleValue2 = require(4000) /* metro dependency 4000: ColorUtils */;
return moduleValue2.hexWithOpacity(r3, env0_9.LEVEL_1);
}
if (hasCustomTheme2) {
moduleValue = require(4002) /* metro dependency 4002: shared */;
isThemeDark2 = moduleValue.isThemeDark(ThemeStore.theme);
binding = env0_10;
r3 = isThemeDark2 ? binding.DARK : binding.LIGHT;
moduleValue2 = require(4000) /* metro dependency 4000: ColorUtils */;
return moduleValue2.hexWithOpacity(r3, env0_9.LEVEL_1);
}
return null;
}
function _fun32443(a0) { // fn#32443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:3748, offset: 0x01015dcd, size: 45 bytes, params: 2, frame: 11
let value = environment.__proto__;
value = importDefault(674) /* metro dependency 674 */;
value = value(a0);
return value.luminance();
}
function _fun32445() { // fn#32445, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4112:4265, offset: 0x01015e8d, size: 282 bytes, params: 1, frame: 20
var r5;
var r7;
var calculateGradientValueWithOpacityBinding;
var binding;
var value4;
var isThemeDark2;
var isThemeDark3;
var value5;
var binding3;
var binding4;
if (env0_2 == null) {
return null;
}
const value2 = undefined;
if ((require == null ? value2 : require.dark) != null) {
value4 = environment.__proto__;
isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(env0_3);
binding = env1_9;
r5 = isThemeDark2 ? binding.LEVEL_2 : binding.LEVEL_4;
isThemeDark3 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(env0_3);
value5 = require == null;
r7 = isThemeDark3 ? value5 ? value2 : require.dark : value5 ? value2 : require.light;
calculateGradientValueWithOpacityBinding = calculateGradientValueWithOpacity;
binding = env0_2;
binding3 = env0_0;
binding4 = env0_3;
r5 = r7 ?? r5;
return calculateGradientValueWithOpacityBinding(binding, binding3, binding4, r5);
}
if ((require == null ? value2 : require.light) != null) {
value4 = environment.__proto__;
isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(env0_3);
binding = env1_9;
r5 = isThemeDark2 ? binding.LEVEL_2 : binding.LEVEL_4;
isThemeDark3 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(env0_3);
value5 = require == null;
r7 = isThemeDark3 ? value5 ? value2 : require.dark : value5 ? value2 : require.light;
calculateGradientValueWithOpacityBinding = calculateGradientValueWithOpacity;
binding = env0_2;
binding3 = env0_0;
binding4 = env0_3;
r5 = r7 ?? r5;
return calculateGradientValueWithOpacityBinding(binding, binding3, binding4, r5);
}
return calculateGradientValueWithOpacity(env0_2, env0_0, env0_3);
}
@@ -0,0 +1,29 @@
/* Metro module 11515; source: modules/client_themes/native/CustomThemeMobileActionCreators.tsx; dependencies: [694, 2] */
function _fun88166(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11701:6, offset: 0x01fd741b, size: 138 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/CustomThemeMobileActionCreators.tsx');
exports.updateCustomTheme = updateCustomTheme;
exports.resetCustomTheme = resetCustomTheme;
exports.previewCustomTheme = previewCustomTheme;
exports.clearPreviewTheme = clearPreviewTheme;
}
function updateCustomTheme(a0, a1) { // fn#88167, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11701:210, offset: 0x01fd74a5, size: 64 bytes, params: 3, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'UPDATE_CUSTOM_THEME', customTheme: a0,
theme: a1});
}
function resetCustomTheme() { // fn#88168, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11701:307, offset: 0x01fd74e5, size: 48 bytes, params: 1, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'RESET_CUSTOM_THEME'});
}
function previewCustomTheme(a0) { // fn#88169, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11701:380, offset: 0x01fd7515, size: 56 bytes, params: 2, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'PREVIEW_CUSTOM_THEME',
previewCustomTheme: a0});
}
function clearPreviewTheme() { // fn#88170, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11701:474, offset: 0x01fd754d, size: 48 bytes, params: 1, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'CLEAR_PREVIEW_CUSTOM_THEME'});
}
@@ -0,0 +1,176 @@
/* Metro module 1354; source: modules/client_themes/native/CustomThemeMobileStore.tsx; dependencies: [6, 7, 15, 17, 18, 1311, 1348, 1313, 670, 1314, 566, 694, 2] */
function _fun15541(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#15541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:6, offset: 0x00e35c82, size: 462 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_5 = importDefault(6) /* metro dependency 6 */;
const env0_6 = importDefault(7) /* metro dependency 7 */;
const env0_7 = importDefault(15) /* metro dependency 15 */;
const env0_8 = importDefault(17) /* metro dependency 17 */;
const env0_9 = importDefault(18) /* metro dependency 18 */;
const selectivelySyncedUserSettingsStore = importDefault(1311) /* metro dependency 1311: SelectivelySyncedUserSettingsStore */;
const userSettingsProtoStore = importDefault(1348) /* metro dependency 1348: UserSettingsProtoStore */;
const env0_12 = (require(1313) /* metro dependency 1313: ThemeConstants */).PROTO_THEME_MAP_MOBILE;
const env0_13 = (require(670) /* metro dependency 670: UserSettingsConstants */).UserSettingsTypes;
const closure = function() {
env0_2 = undefined;
env0_3 = undefined;
env0_4 = undefined;
};
const closure2 = function() {
var appearance;
if (syncThemesEnabled()) {
appearance = UserSettingsProtoStore.settings.appearance;
if (appearance != null) {
updateThemeSettings(appearance);
}
}
};
const handleSelectivelySyncedUserSettingsUpdate = function() {
var appearance;
if (syncThemesEnabled()) {
appearance = UserSettingsProtoStore.settings.appearance;
if (appearance != null) {
updateThemeSettings(appearance);
}
}
};
const syncThemesEnabled = function() {
return SelectivelySyncedUserSettingsStore.shouldSync('appearance');
};
const updateThemeSettings = function(a0) {
var property = a0.theme;
env0_2 = PROTO_THEME_MAP_MOBILE[property ?? require(dependencyMap[9]).Theme.UNSET];
property = a0.clientThemeSettings;
var value2 = undefined;
env0_3 = property == null ? value2 : property.customUserThemeSettings;
return value2;
};
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
let value = _fun15552(PersistedStore);
value.displayName = 'CustomThemeMobileStore';
value.persistKey = 'CustomThemeMobileStore';
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{UPDATE_CUSTOM_THEME: function({customTheme, theme}) {
env0_3 = customTheme;
env0_2 = theme;
}, PREVIEW_CUSTOM_THEME: function(a0) {
env0_4 = a0.previewCustomTheme;
}, CLEAR_PREVIEW_CUSTOM_THEME: function() {
env0_4 = undefined;
}, RESET_CUSTOM_THEME: closure, CACHE_LOADED: closure2, POST_CONNECTION_OPEN: closure2,
USER_SETTINGS_PROTO_UPDATE: function({settings}) {
var value2;
if (syncThemesEnabled()) {
value2 = getAppearanceSettings(settings);
if (value2 != null) {
updateThemeSettings(value2);
}
}
}, LOGOUT: closure});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/CustomThemeMobileStore.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_15542() { // fn#15542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:235, offset: 0x00e35e50, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_15542_isNativeReflectConstruct = function() {
return !!result;
})();
}
function validate_15545() { // fn#15545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1033, offset: 0x00e35eae, size: 52 bytes, params: 1, frame: 4
return env0_2 != null && (env0_3 != null && env0_3.colors.length !== 0);
}
function getAppearanceSettings(a0) { // fn#15550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:788, offset: 0x00e35f3e, size: 55 bytes, params: 2, frame: 5
const type = a0.type;
const PRELOADED_USER_SETTINGS = UserSettingsTypes.PRELOADED_USER_SETTINGS;
return type !== PRELOADED_USER_SETTINGS ? null : a0.proto == undefined ? undefined : a0.proto.appearance;
}
function _fun15552(a0) { // fn#15552, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1106, offset: 0x00e35fd5, size: 210 bytes, params: 2, frame: 16
const closure = CustomThemeMobileStore;
env0_9(closure, a0);
return env0_6(closure, [{key: 'initialize', value: value_15554}, {key: 'getState', value: value_15555},
{key: 'getCustomTheme', value: value_15556}, {key: 'getBaseTheme', value: value_15557}, {key: 'getPreviewTheme',
value: value_15558}, {key: 'getCustomThemeDisplaySettings', value: value_15559}, {key: 'hasCustomTheme',
value: function() {
return validate_15545();
}}]);
}
function CustomThemeMobileStore() { // fn#15553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1118, offset: 0x00e360a7, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_5(this, CustomThemeMobileStore);
const value3 = env1_8(CustomThemeMobileStore);
return env1_7(this, _isNativeReflectConstruct_15542() ? global.Reflect.construct(value3, arguments,
env1_8(this).constructor) : value3.apply(this, arguments));
}
function value_15554(a0) { // fn#15554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1446, offset: 0x00e36118, size: 86 bytes, params: 2, frame: 14
var theme;
var value;
var customTheme;
if (a0 != null) {
theme = a0.theme;
value = environment.__proto__;
customTheme = a0.customTheme;
}
this.waitFor(UserSettingsProtoStore, SelectivelySyncedUserSettingsStore);
this.syncWith([SelectivelySyncedUserSettingsStore], handleSelectivelySyncedUserSettingsUpdate);
}
function value_15555() { // fn#15555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1598, offset: 0x00e3616e, size: 56 bytes, params: 1, frame: 11
const value2 = validate_15545();
const object2 = {};
if (value2) {
object2.theme = env1_2;
object2.customTheme = env1_3;
} else {
object2.theme = undefined;
object2.customTheme = undefined;
}
return object2;
}
function value_15556() { // fn#15556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1715, offset: 0x00e361a6, size: 24 bytes, params: 1, frame: 10
if (validate_15545()) {
return env1_3;
}
}
function value_15557() { // fn#15557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1777, offset: 0x00e361be, size: 24 bytes, params: 1, frame: 10
if (validate_15545()) {
return env1_2;
}
}
function value_15559() { // fn#15559, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1481:1907, offset: 0x00e361df, size: 57 bytes, params: 1, frame: 11
const value2 = undefined;
return value2 !== env1_4 ? env1_4 : validate_15545() ? {baseTheme: env1_2, customTheme: env1_3} : value2;
}
@@ -0,0 +1,96 @@
/* Metro module 4045; source: modules/client_themes/native/MobileThemesUtils.tsx; dependencies: [4046, 1354, 3965, 1244, 2422, 3966, 4047, 1357, 566, 2] */
function _fun33363(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33363, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4203:6, offset: 0x0102d0e7, size: 250 bytes, params: 8, frame: 22
const env0_0 = require;
const getCustomThemesName = function() {
return require(dependencyMap[3]).intl.string(importDefault(dependencyMap[4]).yl1iMm);
};
const closure = function() {
var r0;
var object;
var value2 = CustomThemeMobileStore.getCustomThemeDisplaySettings();
if (value2 === undefined) {
r0 = null;
} else {
object = {};
object.type = require(dependencyMap[5]).ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
object.getName = getCustomThemesName;
object.theme = value2.baseTheme;
object.customThemeSettings = value2.customTheme;
r0 = object;
}
return r0;
};
const closure2 = function(a0) {
var r0;
var object;
var value2 = require(dependencyMap[6]).useCustomThemeDisplaySettings(a0);
if (value2 === undefined) {
r0 = null;
} else {
object = {};
object.type = require(dependencyMap[5]).ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
object.getName = getCustomThemesName;
object.theme = value2.baseTheme;
object.customThemeSettings = value2.customTheme;
r0 = object;
}
return r0;
};
const getMobileThemesArrayWithMaybeCustomTheme = function(a0, a1) {
var r5;
var r0;
var items;
var value3;
r5 = a1 ? REFRESH_STANDARD_BACKGROUND_THEMES : LEGACY_STANDARD_BACKGROUND_THEMES;
if (a0 != null) {
items = [];
value3 = arraySpread(items, r5, 0, r5);
items[value3] = a0;
arraySpread(items, BACKGROUND_GRADIENT_PRESETS_MOBILE, value3 + 1, r5);
r0 = items;
} else {
items = [];
arraySpread(items, BACKGROUND_GRADIENT_PRESETS_MOBILE, arraySpread(items, r5, 0, r5), r5);
r0 = items;
}
return r0;
};
const closure3 = useSavedCustomTheme;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const savedCustomThemeStore = importDefault(4046) /* metro dependency 4046: SavedCustomThemeStore */;
const customThemeMobileStore = importDefault(1354) /* metro dependency 1354: CustomThemeMobileStore */;
const clientThemesConstantsModule = require(3965) /* metro dependency 3965: ClientThemesConstants */;
const env0_5 = clientThemesConstantsModule.BACKGROUND_GRADIENT_PRESETS_MOBILE;
const env0_6 = clientThemesConstantsModule.LEGACY_STANDARD_BACKGROUND_THEMES;
const env0_7 = clientThemesConstantsModule.REFRESH_STANDARD_BACKGROUND_THEMES;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/MobileThemesUtils.tsx');
exports.getCustomBackgroundGradient = closure;
exports.useCustomBackgroundGradient = closure2;
exports.getAllMobileThemes = getAllMobileThemes;
exports.useAllMobileThemes = useAllMobileThemes;
exports.useSavedCustomTheme = closure3;
}
function useSavedCustomTheme() { // fn#33368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4203:953, offset: 0x0102d362, size: 69 bytes, params: 1, frame: 13
const savedCustomTheme = (require(566) /* metro dependency 566: flux */).useStateFromStores([SavedCustomThemeStore],
function() {
return SavedCustomThemeStore.getSavedCustomTheme();
});
const value = null;
return value != savedCustomTheme ? savedCustomTheme : value;
}
function getAllMobileThemes() { // fn#33370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4203:1295, offset: 0x0102d3bc, size: 62 bytes, params: 1, frame: 15
const getMobileThemesArrayWithMaybeCustomThemeBinding = getMobileThemesArrayWithMaybeCustomTheme;
const customBackgroundGradient = getCustomBackgroundGradient();
const value = require(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */;
return getMobileThemesArrayWithMaybeCustomThemeBinding(customBackgroundGradient,
value.isMobileVisualRefreshEnabled('MobileThemesUtils'));
}
function useAllMobileThemes() { // fn#33371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4203:1484, offset: 0x0102d3fa, size: 65 bytes, params: 1, frame: 15
return getMobileThemesArrayWithMaybeCustomTheme(useCustomBackgroundGradient(useSavedCustomTheme()),
(importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('MobileThemesUtils'));
}
@@ -0,0 +1,449 @@
/* Metro module 7704; source: modules/client_themes/native/ThemedGradient.tsx; dependencies: [31, 27, 3964, 33, 4501, 4002, 4001, 4000, 1478, 4589, 4048, 697, 4004, 3963, 674, 1216, 632, 4006, 4047, 3966, 2] */
function _fun61503(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:6, offset: 0x01b42256, size: 425 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const clientThemesBackgroundStore = importDefault(3964) /* metro dependency 3964: ClientThemesBackgroundStore */;
const value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
const env0_8 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({softenGradient: {flex: 1},
linearGradient: {flex: 1}, absolute: {'position': 'absolute', 'top': 0, 'bottom': 0, 'left': 0, 'right': 0}});
const env0_9 = {'x': 0.5, 'y': 0.5};
const closure = Gradient;
const env0_14 = RegExp('^#(?:[0-9a-fA-F]{3}){1,2}$', '');
const closure2 = function(a0) {
return a0.reduce(_fun61522, []);
};
const useThemedGradientCommon = function() {
var value2 = useStyles();
var value3 = importDefault(dependencyMap[10])();
var object = {styles: value2};
var isThemeDark = require(dependencyMap[5]).isThemeDark(value3);
var property = importDefault(dependencyMap[11]).unsafe_rawColors;
object.overlayColor = isThemeDark ? property.BLACK : property.WHITE;
return object;
};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/ThemedGradient.tsx');
exports.default = _default_61526;
exports.Gradient = closure;
exports.validateColors = closure2;
exports.CustomThemedGradient = CustomThemedGradient;
}
function getThemeMixColor({mixAmount = {}, mixColorOverride, theme, darkFallbackOpacity, lightFallbackOpacity}) { // fn#61504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:319, offset: 0x01b423ff, size: 206 bytes, params: 2, frame: 22
darkFallbackOpacity = darkFallbackOpacity === undefined ? 0.7 : darkFallbackOpacity;
lightFallbackOpacity = lightFallbackOpacity === undefined ? 0.8 : lightFallbackOpacity;
if (mixColorOverride != null) {
return mixColorOverride;
}
const isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(theme);
let r4 = isThemeDark2 ? darkFallbackOpacity : lightFallbackOpacity;
let r3 = isThemeDark2 ? mixAmount.dark : mixAmount.light;
r4 = r3 ?? r4;
r3 = isThemeDark2 ? 0 : 255;
let value = importDefault(4001) /* metro dependency 4001: Color */;
const value4 = Object.create(value.prototype, {constructor: {value: value}});
value = new value(r3, r3, r3, r4);
return value instanceof Object ? value : value4;
}
function getThemedMixAmount({mixAmount = {}, theme, darkFallbackAmount, lightFallbackAmount}) { // fn#61505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:578, offset: 0x01b424cd, size: 157 bytes, params: 2, frame: 16
darkFallbackAmount = darkFallbackAmount === undefined ? 0.3 : darkFallbackAmount;
lightFallbackAmount = lightFallbackAmount === undefined ? 0.2 : lightFallbackAmount;
const value = require(4002) /* metro dependency 4002: shared */;
return value.isThemeDark(theme) ? mixAmount.dark == null ? darkFallbackAmount : 1 - mixAmount.dark : mixAmount.light == null ? lightFallbackAmount : 1 - mixAmount.light;
}
function getMixedGradientColor({color, mixAmount, mixColorOverride, theme}) { // fn#61506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:762, offset: 0x01b4256a, size: 197 bytes, params: 2, frame: 22
const themeMixColor = getThemeMixColor({mixAmount: mixAmount, mixColorOverride: mixColorOverride, theme: theme});
const themedMixAmount = getThemedMixAmount({mixAmount: mixAmount, theme: theme});
const {r, g, b} = (require(4000) /* metro dependency 4000: ColorUtils */).hexToRgb(color);
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const mixColors = colorUtilsModule.mixColors;
let value = importDefault(4001) /* metro dependency 4001: Color */;
value = new value(r, g, b, themedMixAmount);
value = Reflect.apply(mixColors, colorUtilsModule, [themeMixColor, value]);
return value.toHexString();
}
function CustomThemesGradient({colors, baseMix, gradientAngle, gradientColorStops, absolute, wide, tall, mix, mixAmount = {}, mixColorOverride, componentStyles, theme}) { // fn#61507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2500, offset: 0x01b4262f, size: 541 bytes, params: 2, frame: 29
var r0;
var value;
const styles = useStyles();
const {width, height} = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)();
const value3 = ((a0) => {
var r3;
var property = a0.colors;
var env0_0 = a0.baseMix;
var mix = a0.mix;
var mixAmount = a0.mixAmount;
var env0_1 = mixAmount !== undefined ? mixAmount : {};
var env0_2 = a0.mixColorOverride;
var env0_3 = a0.theme;
r3 = mix ? property.map(_fun61509) : property;
return r3.length !== 1 ? r3 : [r3[0], r3[0]];
})({colors: colors, mix: mix, mixAmount: mixAmount, mixColorOverride: mixColorOverride, theme: theme,
baseMix: baseMix});
const value4 = gradientAngle - 90;
let Math = global.Math;
const PI = Math.PI;
const value5 = value4 * PI / 180;
Math = global.Math;
const value6 = Math.cos(value5);
Math = global.Math;
const value7 = Math.sin(value5);
const {start, end} = {start: {x: 0.6 - 0.7142857142857143 * value6, y: 0.5 - 0.7142857142857143 * value7},
end: {x: 0.6 + 0.7142857142857143 * value6, y: 0.5 + 0.7142857142857143 * value7}};
const value8 = validateColors(value3);
const value9 = ((a0) => {
var r3;
var value = a1;
var env0_0 = a0;
r3 = value !== undefined ? value : [];
return r3.length === a0.length ? r3.map(_fun61511) : a0.length === 1 ? [0, 1] : a0.map(_fun61512);
})(value8, gradientColorStops);
env0_3.useEffect(_fun61513, [value8, value3]);
if (value8.length < 2) {
r0 = null;
} else {
value = importDefault(4589) /* metro dependency 4589 */;
absolute = absolute && styles.absolute;
value = ((Component) => <Component colors={value8} locations={value9} start={start} end={end} style={[wide && ({width: width}),
tall && ({height: height}), styles.linearGradient, absolute, componentStyles]} />)(value);
r0 = value;
}
return r0;
}
function GradientBase({colors, locations, angle, angleCenter = env0_9, absolute, wide, tall, componentStyles}) { // fn#61514, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:1076, offset: 0x01b42ada, size: 227 bytes, params: 2, frame: 25
const styles = useStyles();
const {width, height} = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)();
const value = importDefault(4589) /* metro dependency 4589 */;
absolute = absolute && styles.absolute;
return ((Component) => <Component colors={colors} locations={locations} angle={angle} angleCenter={angleCenter} useAngle style={[wide && ({width: width}),
tall && ({height: height}), styles.linearGradient, absolute, componentStyles]} />)(value);
}
function Gradient({gradient, absolute, wide, tall, angleOverride, componentStyles, mix, mixAmount = {}, mixColorOverride}) { // fn#61515, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:1368, offset: 0x01b42bbd, size: 237 bytes, params: 2, frame: 23
const env0_3 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
return (
<GradientBase
colors={gradient.colors.map(_fun61516)}
locations={gradient.colors.map(function(a0) {
return a0.stop / 100;
})}
angle={angleOverride ?? gradient.angle}
angleCenter={gradient.angleCenter ?? env0_9}
absolute={absolute}
wide={wide}
tall={tall}
componentStyles={componentStyles}
/>
);
}
function GuildThemePresetGradient({preset, absolute, wide, tall, angleOverride, componentStyles, mix, mixAmount = {}, mixColorOverride}) { // fn#61518, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:1876, offset: 0x01b42d44, size: 255 bytes, params: 2, frame: 23
const guildThemePresetAppearance = (require(4004) /* metro dependency 4004: GuildThemePresets */).getGuildThemePresetAppearance(preset,
(importDefault(4048) /* metro dependency 4048: useTheme */)());
return (
<GradientBase
colors={guildThemePresetAppearance.colors.map(_fun61519)}
locations={guildThemePresetAppearance.colors.map(function(a0) {
return a0.stop / 100;
})}
angle={angleOverride ?? guildThemePresetAppearance.angle}
angleCenter={env0_9}
absolute={absolute}
wide={wide}
tall={tall}
componentStyles={componentStyles}
/>
);
}
function validateColors(a0) { // fn#61521, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2366, offset: 0x01b42e8f, size: 28 bytes, params: 2, frame: 13
return a0.reduce(_fun61522, []);
}
function wrapWithOverlayIfNeeded(a0, a1, a2, a3, a4) { // fn#61523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:4037, offset: 0x01b42f28, size: 145 bytes, params: 6, frame: 23
var r0;
var items3;
var items2;
var object;
let value = a0;
if (a1) {
var viewBindingProps = {style: a2.absolute};
items3 = [value];
items2 = [a2.softenGradient];
object = {};
value = require(4000) /* metro dependency 4000: ColorUtils */;
object.backgroundColor = value.hexWithOpacity(a3, a4);
items2[1] = object;
items3[1] = <View style={items2} />;
value = <View {...viewBindingProps}>{items3}</View>;
r0 = value;
} else {
r0 = value;
}
return r0;
}
function ActiveGuildThemeGradient(a0) { // fn#61525, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:4369, offset: 0x01b43031, size: 298 bytes, params: 2, frame: 23
var customUserThemeSettings;
var property;
var items2;
const activeGuildTheme = a0.activeGuildTheme;
const theme = a0.theme;
let value = Object.create(null);
const value2 = 0;
value.activeGuildTheme = value2;
value.theme = value2;
const value3 = copyDataProperties({}, a0, value, undefined);
if (activeGuildTheme.type === 'custom') {
customUserThemeSettings = activeGuildTheme.customUserThemeSettings;
property = customUserThemeSettings.colors[value2];
var customThemesGradientBindingProps = {...value3};
value = require(4004) /* metro dependency 4004: GuildThemePresets */;
value = value.getSingleColorGuildThemeGradientColors(property, theme);
items2 = [];
arraySpread(items2, value, value2, property);
customThemesGradientBindingProps['colors'] = items2;
customThemesGradientBindingProps['gradientColorStops'] = [];
customThemesGradientBindingProps['gradientAngle'] = customUserThemeSettings.gradientAngle ?? value2;
customThemesGradientBindingProps['baseMix'] = customUserThemeSettings.baseMix ?? (require(4004) /* metro dependency 4004: GuildThemePresets */).GUILD_THEME_DEFAULT_BASE_MIX;
customThemesGradientBindingProps['theme'] = theme;
return <CustomThemesGradient {...customThemesGradientBindingProps} />;
}
return <GuildThemePresetGradient {...value3} {...{['preset']: activeGuildTheme.preset}} />;
}
function _default_61526(a0) { // fn#61526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:4794, offset: 0x01b4315b, size: 667 bytes, params: 2, frame: 30
var type;
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
let overlayOpacity = a0.overlayOpacity;
overlayOpacity = overlayOpacity === undefined ? 0.7 : overlayOpacity;
const gradientOverride = a0.gradientOverride;
const value = null;
const value2 = Object.create(value);
value2.overlayOpacity = 0;
value2.gradientOverride = 0;
const value3 = copyDataProperties({}, a0, value2, undefined);
const {styles, overlayColor} = useThemedGradientCommon();
const withOverlay = value3.withOverlay;
const value6 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresObject = useStateFromStoresModule.useStateFromStoresObject;
const preset = Reflect.apply(useStateFromStoresObject, useStateFromStoresModule, [[ClientThemesBackgroundStore],
function() {
return {preset: ClientThemesBackgroundStore.gradientPreset};
}]).preset;
const value7 = (importDefault(4006) /* metro dependency 4006: useRoutedActiveGuildTheme */)();
const value8 = (require(4047) /* metro dependency 4047: useCustomThemeDisplaySettings */).useCustomThemeDisplaySettings();
const value9 = value8 !== undefined;
if (value != gradientOverride) {
if (value9) {
type = gradientOverride.type;
if (type === ClientThemeType.CUSTOM_BACKGROUND_GRADIENT) {
return wrapWithOverlayIfNeeded(<CustomThemesGradient {...value3} {...gradientOverride.customThemeSettings} {...{['theme']: gradientOverride.theme}} />,
withOverlay, styles, overlayColor, overlayOpacity);
}
type = gradientOverride.type;
if (type === ClientThemeType.BACKGROUND_GRADIENT_PRESET) {
return wrapWithOverlayIfNeeded(<Gradient {...value3} {...{['gradient']: gradientOverride}} />,
withOverlay,
styles,
overlayColor, overlayOpacity);
}
return value != value7 ? wrapWithOverlayIfNeeded(<ActiveGuildThemeGradient {...value3} {...{['activeGuildTheme']: value7}} {...{['theme']: value6}} />,
withOverlay, styles, overlayColor,
overlayOpacity) : value9 && value9 ? wrapWithOverlayIfNeeded(<CustomThemesGradient {...value3} {...value8.customTheme} {...{['theme']: value8.baseTheme}} />,
withOverlay, styles, overlayColor,
overlayOpacity) : value != preset ? wrapWithOverlayIfNeeded(<Gradient {...value3} {...{['gradient']: preset}} />,
withOverlay, styles, overlayColor, overlayOpacity) : value;
}
type = gradientOverride.type;
if (type === ClientThemeType.BACKGROUND_GRADIENT_PRESET) {
return wrapWithOverlayIfNeeded(<Gradient {...value3} {...{['gradient']: gradientOverride}} />, withOverlay,
styles,
overlayColor, overlayOpacity);
}
}
return value != value7 ? wrapWithOverlayIfNeeded(<ActiveGuildThemeGradient {...value3} {...{['activeGuildTheme']: value7}} {...{['theme']: value6}} />,
withOverlay, styles, overlayColor,
overlayOpacity) : value9 && value9 ? wrapWithOverlayIfNeeded(<CustomThemesGradient {...value3} {...value8.customTheme} {...{['theme']: value8.baseTheme}} />,
withOverlay, styles, overlayColor,
overlayOpacity) : value != preset ? wrapWithOverlayIfNeeded(<Gradient {...value3} {...{['gradient']: preset}} />,
withOverlay, styles, overlayColor, overlayOpacity) : value;
}
function CustomThemedGradient(a0) { // fn#61528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:5890, offset: 0x01b4340c, size: 158 bytes, params: 2, frame: 23
let overlayOpacity = a0.overlayOpacity;
overlayOpacity = overlayOpacity === undefined ? 0.7 : overlayOpacity;
const customTheme = a0.customTheme;
let value = Object.create(null);
value.overlayOpacity = 0;
value.customTheme = 0;
value = copyDataProperties({}, a0, value, undefined);
const {styles, overlayColor} = useThemedGradientCommon();
return wrapWithOverlayIfNeeded(<CustomThemesGradient {...value} {...customTheme.customThemeSettings} {...{['theme']: customTheme.theme}} />,
value.withOverlay, styles, overlayColor, overlayOpacity);
}
function getGradientColorsForCustomThemesGradient({colors, baseMix, mix, mixAmount = {}, mixColorOverride, theme}) { // fn#61508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2726, owner: CustomThemesGradient.getGradientColorsForCustomThemesGradient, offset: 0x01b4284c, size: 127 bytes, params: 2, frame: 14
const r3 = mix ? colors.map(_fun61509) : colors;
return r3.length !== 1 ? r3 : [r3[0], r3[0]];
}
function getGradientLocationsForCustomThemesGradient(a0) { // fn#61510, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:3547, owner: CustomThemesGradient.getGradientLocationsForCustomThemesGradient, offset: 0x01b429ef, size: 94 bytes, params: 2, frame: 13
const value = a1;
const env0_0 = a0;
const r3 = value !== undefined ? value : [];
return r3.length === a0.length ? r3.map(function(a0) {
return a0 / 100;
}) : a0.length === 1 ? [0, 1] : a0.map(_fun61512);
}
function _fun61513() { // fn#61513, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:3729, offset: 0x01b42a59, size: 129 bytes, params: 1, frame: 17
var value2;
var defaultImport;
var captureException;
var error;
var object;
if (env0_1.length < 2) {
value2 = environment.__proto__;
defaultImport = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
captureException = defaultImport.captureException;
error = new global.Error('Invalid custom theme gradient colors');
object = {};
object.gradientColors = global.JSON.stringify(env0_0);
Reflect.apply(captureException, defaultImport, [error, {extra: object}]);
}
}
function _fun61516(a0) { // fn#61516, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:1520, offset: 0x01b42caa, size: 136 bytes, params: 2, frame: 16
var r0;
var getMixedGradientColorBinding;
var object2;
if (mix) {
getMixedGradientColorBinding = getMixedGradientColor;
object2 = {};
object2.color = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors[a0.token];
object2.mixAmount = env0_1;
object2.mixColorOverride = mixColorOverride;
object2.theme = env0_3;
r0 = getMixedGradientColorBinding(object2);
} else {
r0 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors[a0.token];
}
return r0;
}
function _fun61519(a0) { // fn#61519, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2071, offset: 0x01b42e43, size: 76 bytes, params: 2, frame: 13
return mix ? getMixedGradientColor({color: a0.hex, mixAmount: env0_1, mixColorOverride: mixColorOverride,
theme: env0_3}) : a0.hex;
}
function _fun61522(a0, a1) { // fn#61522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2379, offset: 0x01b42eab, size: 125 bytes, params: 3, frame: 15
var value;
var push;
var property;
var hex;
var error;
if (typeof a1 !== 'string') {
try {
push = a0.push;
value = environment.__proto__;
property = dependencyMap[14];
value = importDefault(property);
value = value(a1);
value = value.hex('rgb');
Reflect.apply(push, a0, [value]);
} catch (error) {
}
} else {
value = environment.__proto__;
var binding = env1_14;
if (binding.test(a1)) {
a0.push(a1);
return a0;
}
try {
push = a0.push;
} catch (error) {
return a0;
}
value = environment.__proto__;
try {
} catch (error) {
return a0;
}
try {
} catch (error) {
return a0;
}
try {
property = dependencyMap[14];
} catch (error) {
return a0;
}
try {
value = importDefault(property);
} catch (error) {
return a0;
}
try {
value = value(a1);
} catch (error) {
return a0;
}
try {
hex = value.hex;
} catch (error) {
return a0;
}
try {
value = Reflect.apply(hex, value, ['rgb']);
} catch (error) {
return a0;
}
try {
Reflect.apply(push, a0, [value]);
} catch (error) {
}
}
return a0;
}
function _fun61509(a0) { // fn#61509, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7882:2874, offset: 0x01b428cb, size: 292 bytes, params: 2, frame: 23
const value2 = 1 - baseMix / 100;
const getThemeMixColorBinding = getThemeMixColor;
const binding = env0_1;
const themeBinding = theme;
let value = getThemeMixColorBinding({mixAmount: binding, mixColorOverride: mixColorOverride, theme: themeBinding,
darkFallbackOpacity: env2_10 + 0.25 * value2, lightFallbackOpacity: env2_10 + 0.2 * value2});
const themedMixAmount = getThemedMixAmount({mixAmount: binding, theme: themeBinding, darkFallbackAmount: env2_10,
lightFallbackAmount: env2_10});
const {r, g, b} = (require(4000) /* metro dependency 4000: ColorUtils */).hexToRgb(a0);
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const mixColors = colorUtilsModule.mixColors;
const defaultImport = importDefault(4001) /* metro dependency 4001: Color */;
const value6 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}});
const defaultImport2 = new defaultImport(r, g, b, themedMixAmount);
value = Reflect.apply(mixColors, colorUtilsModule, [value,
defaultImport2 instanceof Object ? defaultImport2 : value6]);
return (require(3963) /* metro dependency 3963: ClientThemesUtils */).colorToHex(value);
}
@@ -0,0 +1,227 @@
/* Metro module 11514; source: modules/client_themes/native/chat/SharedCustomThemeActionSheet.tsx; dependencies: [57, 31, 27, 3808, 661, 1880, 33, 4501, 697, 683, 11515, 3998, 6275, 6758, 1244, 2422, 4573, 7896, 4578, 566, 3802, 7040, 6789, 1305, 3999, 2] */
function _fun88150(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88150, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:6, offset: 0x01fd6a7e, size: 451 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
let value = require(31) /* metro dependency 31 */;
const env0_5 = value.useEffect;
const env0_6 = value.useLayoutEffect;
const env0_7 = value.useRef;
const env0_8 = (require(27) /* metro dependency 27 */).View;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
const env0_10 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_11 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
value = require(33) /* metro dependency 33 */;
const env0_12 = value.jsx;
const env0_13 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
let object = {};
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const env0_14 = Reflect.apply(createStyles, value, [{contentWrapper: {'paddingHorizontal': 43.5,
'paddingVertical': 12}, centeredText: {textAlign: 'center'}, ctaContainer: {'paddingHorizontal': 15,
'flexDirection': 'column', 'display': 'flex', 'gap': 6}, nitroWheelButton: {'marginStart': -2, 'width': 20,
'height': 20}, getNitroButton: object}]);
const sharedClientThemeToThemeSettings = function(a0) {
var object;
if (a0 !== undefined) {
object = {};
object.colors = a0.colors.map(_fun88152);
object.gradientColorStops = [];
object.gradientAngle = a0.gradient_angle;
object.baseMix = a0.base_mix;
return object;
}
};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/chat/SharedCustomThemeActionSheet.tsx');
exports.default = _default_88158;
}
function sharedClientThemeToThemeSettings(a0) { // fn#88151, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:606, offset: 0x01fd6c41, size: 74 bytes, params: 2, frame: 13
var object2;
if (a0 !== undefined) {
object2 = {};
object2.colors = a0.colors.map(function(a0) {
return '#' + a0;
});
object2.gradientColorStops = [];
object2.gradientAngle = a0.gradient_angle;
object2.baseMix = a0.base_mix;
return object2;
}
}
function PrimaryActionButton_88153({onPressApply}) { // fn#88153, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:759, offset: 0x01fd6ca6, size: 345 bytes, params: 2, frame: 22
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const styles = useStyles();
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
const premiumTypeFromSubscription = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).getPremiumTypeFromSubscription(Reflect.apply(useStateFromStores,
fluxModule, [[SubscriptionStore], function() {
return SubscriptionStore.getPremiumTypeSubscription();
}]));
const TIER_2 = PremiumTypes.TIER_2;
if (premiumTypeFromSubscription !== TIER_2) {
const ShinyButton = (require(1305) /* metro dependency 1305: native */).ShinyButton;
return (
<ShinyButton
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.pj0XBN)}
onPress={function() {
var defaultImport = importDefault(dependencyMap[21]);
var object = {};
object.premiumType = PremiumTypes.TIER_2;
var SHARE_CUSTOM_CLIENT_THEME_EMBED = importDefault(dependencyMap[22]).SHARE_CUSTOM_CLIENT_THEME_EMBED;
object.analyticsLocations = [SHARE_CUSTOM_CLIENT_THEME_EMBED];
object.analyticsLocation = {};
defaultImport(object);
}}
renderIcon={renderIcon}
style={styles.getNitroButton}
/>
);
} else {
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
return (
<Button
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['1Qm822'])}
onPress={onPressApply}
variant="primary"
/>
);
}
}
function getBaseThemeFromSharedClientTheme(a0) { // fn#88157, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1346, offset: 0x01fd6eaf, size: 53 bytes, params: 2, frame: 13
var value;
if (a0 !== undefined) {
value = require(3999) /* metro dependency 3999: ClientThemesUtils */;
return value.getBaseTheme(a0.base_theme);
}
}
function _default_88158(a0) { // fn#88158, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1417, offset: 0x01fd6ee4, size: 712 bytes, params: 2, frame: 29
const sharedClientTheme = a0.message.sharedClientTheme;
const styles = useStyles();
const value2 = useRef(null);
const binding = env0_4;
let useState = binding.useState;
const value3 = Reflect.apply(useState, binding, [sharedClientThemeToThemeSettings(sharedClientTheme)]);
const binding2 = env0_3;
const value4 = binding2(value3, 2);
const property = value4[0];
var env0_3 = value4[1];
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, [getBaseThemeFromSharedClientTheme(sharedClientTheme)]), 2);
const property2 = value5[0];
const env0_5 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property3 = value6[0];
const env0_7 = value6[1];
const value7 = binding.useRef(true);
useEffect(_fun88159, [sharedClientTheme]);
useEffect(_fun88160, [property, property2]);
useLayoutEffect(_fun88161, [property3]);
useEffect(function() {
return _fun88163;
}, [value7]);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const BottomSheetTitleHeader = (require(6758) /* metro dependency 6758: BottomSheetTitleHeaderNative */).BottomSheetTitleHeader;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const items2 = [<BottomSheetTitleHeader title={intl.string((importDefault(2422) /* metro dependency 2422: ClientThemesMessages */)['3ej1LT'])} />];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2[1] = <View style={styles.contentWrapper}><Text variant="heading-md/medium" style={styles.centeredText}>{intl.string((importDefault(2422) /* metro dependency 2422: ClientThemesMessages */).qZMUoL)}</Text></View>;
const primaryActionButton_88153 = <PrimaryActionButton_88153 onPressApply={onPressApply} />;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items2[2] = <View style={styles.ctaContainer}>{primaryActionButton_88153}<Button text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])} onPress={onPress_88165} variant="secondary" /></View>;
return (
<BottomSheet ref={value2} backdropOpacity={0}>
{items2}
</BottomSheet>
);
}
function PrimaryActionButton_88153RenderIcon() { // fn#88156, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1133, owner: PrimaryActionButton_88153.renderIcon, offset: 0x01fd6e69, size: 70 bytes, params: 1, frame: 15
const NitroWheel = (require(1305) /* metro dependency 1305: native */).NitroWheel;
return <NitroWheel style={[styles.nitroWheelButton]} />;
}
function _fun88159() { // fn#88159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1683, offset: 0x01fd71ac, size: 93 bytes, params: 1, frame: 15
const binding = env0_3;
const sharedClientThemeToThemeSettingsBinding = sharedClientThemeToThemeSettings;
const sharedClientThemeBinding = sharedClientTheme;
binding(sharedClientThemeToThemeSettingsBinding(sharedClientThemeBinding));
env0_5(getBaseThemeFromSharedClientTheme(sharedClientThemeBinding));
const value = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = value.track;
const CUSTOM_THEME_SHARE_PREVIEWED = AnalyticEvents.CUSTOM_THEME_SHARE_PREVIEWED;
Reflect.apply(track, value, [CUSTOM_THEME_SHARE_PREVIEWED, {}]);
}
function _fun88160() { // fn#88160, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1826, offset: 0x01fd7209, size: 105 bytes, params: 1, frame: 16
var value4;
var moduleValue;
if (env0_2 !== undefined && env0_4 !== undefined) {
value4 = environment.__proto__;
moduleValue = require(11515) /* metro dependency 11515: CustomThemeMobileActionCreators */;
moduleValue.previewCustomTheme({baseTheme: env0_4, customTheme: env0_2});
(require(3998) /* metro dependency 3998: ThemeActionCreators */).refreshTheme();
}
}
function _fun88161() { // fn#88161, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1950, offset: 0x01fd7272, size: 24 bytes, params: 1, frame: 2
env0_8.current = !env0_6;
}
function _fun88162() { // fn#88162, offset: 0x01fd728a, size: 11 bytes, params: 1, frame: 1
return _fun88163;
}
function onPressApply() { // fn#88164, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:2428, owner: _default_88158.onPressApply, offset: 0x01fd72e1, size: 216 bytes, params: 1, frame: 20
var value5;
var moduleValue;
var updateCustomTheme;
var binding;
var binding2;
var moduleValue2;
var defaultImport;
if (env0_2 !== undefined && env0_4 !== undefined && env0_1.current !== null) {
env0_7(true);
value5 = environment.__proto__;
moduleValue = require(11515) /* metro dependency 11515: CustomThemeMobileActionCreators */;
updateCustomTheme = moduleValue.updateCustomTheme;
binding = env0_2;
binding2 = env0_4;
Reflect.apply(updateCustomTheme, moduleValue, [binding, binding2]);
moduleValue2 = require(7896) /* metro dependency 7896: UserSettingsActionCreators */;
moduleValue2.saveClientTheme({customUserThemeSettings: binding, theme: binding2});
(require(11515) /* metro dependency 11515: CustomThemeMobileActionCreators */).clearPreviewTheme();
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.CUSTOM_THEME_SHARE_APPLIED, {});
env0_1.current.closeActionSheet();
}
}
function _default_88158OnPress() { // fn#88165, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:2760, owner: _default_88158.onPress, offset: 0x01fd73b9, size: 98 bytes, params: 1, frame: 14
var value2;
if (env0_1.current !== null) {
value2 = environment.__proto__;
(require(11515) /* metro dependency 11515: CustomThemeMobileActionCreators */).clearPreviewTheme();
(require(3998) /* metro dependency 3998: ThemeActionCreators */).refreshTheme();
env0_1.current.closeActionSheet();
}
}
function _fun88163() { // fn#88163, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11700:1982, offset: 0x01fd7295, size: 76 bytes, params: 1, frame: 13
let value = environment.__proto__;
if (env1_8.current) {
value = environment.__proto__.__proto__;
value = require(11515) /* metro dependency 11515: CustomThemeMobileActionCreators */;
value.clearPreviewTheme();
value = require(3998) /* metro dependency 3998: ThemeActionCreators */;
value.refreshTheme();
}
}
@@ -0,0 +1,34 @@
/* Metro module 8439; source: modules/client_themes/native/chat/formatSharedClientThemeData.tsx; dependencies: [27, 7955, 1244, 2422, 2] */
function _fun67004(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67004, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8624:6, offset: 0x01c11f6c, size: 124 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(27) /* metro dependency 27 */).Image;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/chat/formatSharedClientThemeData.tsx');
exports.formatSharedClientThemeData = formatSharedClientThemeData;
}
function formatSharedClientThemeData({sharedClientTheme}, a1, a2) { // fn#67005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8624:241, offset: 0x01c11fe8, size: 319 bytes, params: 4, frame: 20
var object2;
var uri;
var value;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
if (sharedClientTheme !== undefined) {
object2 = {};
object2.colors = sharedClientTheme.colors;
object2.gradientAngle = sharedClientTheme.gradient_angle;
object2.createdBy = a2;
uri = a1.uri;
value = '';
object2.createdByAvatarUrl = uri === undefined ? value : a1.uri;
uri = Image.resolveAssetSource(importDefault(7955) /* metro dependency 7955 */).uri;
object2.nitroWheelIconUrl = uri;
object2.previewLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.SKNnqq);
object2.previewHeading = intl.string((importDefault(2422) /* metro dependency 2422: ClientThemesMessages */).yl1iMm);
object2.createdByLabel = value + intl.format((importDefault(2422) /* metro dependency 2422: ClientThemesMessages */).fQPSEf,
{username: '__USERNAME__'});
return object2;
}
}
@@ -0,0 +1,17 @@
/* Metro module 11513; source: modules/client_themes/native/chat/previewSharedClientTheme.tsx; dependencies: [4080, 11514, 1962, 2] */
function _fun88148(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88148, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11699:6, offset: 0x01fd69b1, size: 103 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/chat/previewSharedClientTheme.tsx');
exports.handleTapPreviewSharedClientTheme = handleTapPreviewSharedClientTheme;
}
function handleTapPreviewSharedClientTheme({message}) { // fn#88149, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11699:224, offset: 0x01fd6a18, size: 102 bytes, params: 2, frame: 17
const defaultImport = importDefault(dependencyMap[0]);
const openLazy = defaultImport.openLazy;
let value = require(dependencyMap[2]);
value = value(dependencyMap[1], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport, [value, 'custom-theme-preview', {message: message, backdropKind: 'none'}]);
}
@@ -0,0 +1,23 @@
/* Metro module 11516; source: modules/client_themes/native/chat/sharedClientThemeViewed.tsx; dependencies: [8742, 480, 2] */
function _fun88171(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88171, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11702:6, offset: 0x01fd757d, size: 96 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/chat/sharedClientThemeViewed.tsx');
exports.handleSharedClientThemeViewed = handleSharedClientThemeViewed;
}
function handleSharedClientThemeViewed() { // fn#88172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11702:219, offset: 0x01fd75dd, size: 99 bytes, params: 1, frame: 16
const value = require(8742) /* metro dependency 8742: useTrackImpression */;
const trackImpression = value.trackImpression;
const object2 = {};
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object2.type = VIEW;
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const CUSTOM_THEME_SHARE = ImpressionNames.CUSTOM_THEME_SHARE;
object2.name = CUSTOM_THEME_SHARE;
object2.properties = {};
Reflect.apply(trackImpression, value, [object2]);
}
@@ -0,0 +1,45 @@
/* Metro module 7703; source: modules/client_themes/native/useActiveTheme.tsx; dependencies: [1312, 3964, 1354, 1313, 566, 4006, 2] */
function _fun61496(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7881:6, offset: 0x01b41fe7, size: 206 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = useActiveThemeType;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const unsyncedUserSettingsStore = importDefault(1312) /* metro dependency 1312: UnsyncedUserSettingsStore */;
const clientThemesBackgroundStore = importDefault(3964) /* metro dependency 3964: ClientThemesBackgroundStore */;
const customThemeMobileStore = importDefault(1354) /* metro dependency 1354: CustomThemeMobileStore */;
const themeConstantsModule = require(1313) /* metro dependency 1313: ThemeConstants */;
const env0_6 = themeConstantsModule.SystemThemeState;
const env0_7 = themeConstantsModule.ActiveThemeType;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/useActiveTheme.tsx');
exports.useIsCustomThemeActive = function() {
return useActiveThemeType() === ActiveThemeType.CUSTOM;
};
exports.useIsClientThemeOrCustomThemeActive = useIsClientThemeOrCustomThemeActive;
exports.useActiveThemeType = closure;
}
function useActiveThemeType() { // fn#61497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7881:177, offset: 0x01b420b5, size: 287 bytes, params: 1, frame: 20
const value2 = undefined;
const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([CustomThemeMobileStore],
function() {
return CustomThemeMobileStore.hasCustomTheme();
});
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ClientThemesBackgroundStore],
function() {
return ClientThemesBackgroundStore.gradientPreset != null;
});
const value5 = (importDefault(4006) /* metro dependency 4006: useRoutedActiveGuildTheme */)();
const useSystemTheme = (require(566) /* metro dependency 566: flux */).useStateFromStores([UnsyncedUserSettingsStore],
function() {
return UnsyncedUserSettingsStore.useSystemTheme;
});
const ON = SystemThemeState.ON;
return (value5 == null ? value2 : value5.type) === 'custom' ? ActiveThemeType.CUSTOM : (value5 == null ? value2 : value5.type) === 'preset' ? ActiveThemeType.CLIENT : value3 ? ActiveThemeType.CUSTOM : value4 ? ActiveThemeType.CLIENT : useSystemTheme === ON ? ActiveThemeType.SYSTEM : ActiveThemeType.DEFAULT;
}
function useIsClientThemeOrCustomThemeActive() { // fn#61502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7881:764, offset: 0x01b42228, size: 46 bytes, params: 1, frame: 11
const value2 = useActiveThemeType();
const CLIENT = ActiveThemeType.CLIENT;
return value2 === CLIENT || value2 === ActiveThemeType.CUSTOM;
}
@@ -0,0 +1,88 @@
/* Metro module 4003; source: modules/client_themes/native/useColorThemeBackground.tsx; dependencies: [31, 1310, 3964, 1244, 3966, 4004, 4006, 632, 4045, 2] */
function _fun32944(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#32944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4161:6, offset: 0x01022ca0, size: 160 bytes, params: 8, frame: 19
const env0_0 = require;
const getGuildThemeName = function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t.CFzDOG);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const themeStore = importDefault(1310) /* metro dependency 1310: ThemeStore */;
const clientThemesBackgroundStore = importDefault(3964) /* metro dependency 3964: ClientThemesBackgroundStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/useColorThemeBackground.tsx');
exports.default = useColorThemeBackground;
}
function useColorThemeBackground() { // fn#32946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4161:300, offset: 0x01022d7e, size: 192 bytes, params: 1, frame: 20
return env0_3.useMemo(_fun32949, [(importDefault(4006) /* metro dependency 4006: useRoutedActiveGuildTheme */)(),
(require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([ThemeStore], function() {
return ThemeStore.theme;
})]) ?? (require(4045) /* metro dependency 4045: MobileThemesUtils */).useCustomBackgroundGradient() ?? (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([ClientThemesBackgroundStore],
function() {
return ClientThemesBackgroundStore.gradientPreset;
});
}
function _fun32949() { // fn#32949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4161:511, offset: 0x01022e5c, size: 28 bytes, params: 1, frame: 13
return getGuildThemeBackground(env0_0, theme);
}
function getGuildThemeBackground(a0, a1) { // fn#32950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4161:515, offset: 0x01022e78, size: 394 bytes, params: 3, frame: 22
var environment;
var value;
var object4;
const ClientThemeType = (require(3966) /* metro dependency 3966: ClientThemesTypes */).ClientThemeType;
var colors;
var customUserThemeSettings;
var property;
var value3;
var object5;
var singleColorGuildThemeGradientColors;
var items2;
if (a0 == null) {
return null;
}
if (a0.type === 'custom') {
customUserThemeSettings = a0.customUserThemeSettings;
colors = customUserThemeSettings.colors;
value = 0;
property = colors[value];
object4 = {};
value3 = environment.__proto__.__proto__;
object4.type = ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
object4.getName = getGuildThemeName;
object4.theme = a1;
object5 = {};
singleColorGuildThemeGradientColors = (require(4004) /* metro dependency 4004: GuildThemePresets */).getSingleColorGuildThemeGradientColors(property,
a1);
items2 = [];
arraySpread(items2, singleColorGuildThemeGradientColors, value, a1);
object5.colors = items2;
object5.gradientColorStops = [];
object5.gradientAngle = customUserThemeSettings.gradientAngle ?? value;
object5.baseMix = customUserThemeSettings.baseMix ?? (require(4004) /* metro dependency 4004: GuildThemePresets */).GUILD_THEME_DEFAULT_BASE_MIX;
object4.customThemeSettings = object5;
} else {
value = environment.__proto__.__proto__;
var guildThemePresetAppearance = (require(4004) /* metro dependency 4004: GuildThemePresets */).getGuildThemePresetAppearance(a0.preset,
a1);
object4 = {};
object4.type = ClientThemeType.CUSTOM_BACKGROUND_GRADIENT;
object4.getName = getGuildThemeName;
object4.theme = a1;
var object6 = {};
object6.colors = guildThemePresetAppearance.colors.map(function(a0) {
return a0.hex;
});
object6.gradientAngle = guildThemePresetAppearance.angle;
object6.gradientColorStops = guildThemePresetAppearance.colors.map(function(a0) {
return a0.stop;
});
object6.baseMix = guildThemePresetAppearance.baseMix;
object4.customThemeSettings = object6;
}
return object4;
}
@@ -0,0 +1,42 @@
/* Metro module 4047; source: modules/client_themes/native/useCustomThemeDisplaySettings.tsx; dependencies: [57, 1354, 566, 2] */
function _fun33391(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4205:6, offset: 0x0102d9b5, size: 128 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const customThemeMobileStore = importDefault(1354) /* metro dependency 1354: CustomThemeMobileStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/useCustomThemeDisplaySettings.tsx');
exports.useCustomThemeDisplaySettings = useCustomThemeDisplaySettings;
}
function useCustomThemeDisplaySettings(a0) { // fn#33392, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4205:244, offset: 0x0102da35, size: 187 bytes, params: 2, frame: 17
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value = env0_2(Reflect.apply(useStateFromStoresArray, fluxModule, [[CustomThemeMobileStore], _fun33393]), 3);
const property = value[0];
const property2 = value[1];
const property3 = value[2];
if (property3 !== undefined) {
return property3;
}
if (property !== undefined) {
if (property2 !== undefined) {
return {baseTheme: property2, customTheme: property};
}
}
if (a0 != null) {
return {baseTheme: a0.base_theme, customTheme: {colors: a0.colors, gradientAngle: a0.gradient_angle,
baseMix: a0.base_mix, gradientColorStops: []}};
}
}
function _fun33393() { // fn#33393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4205:291, offset: 0x0102daf0, size: 57 bytes, params: 1, frame: 10
const value = environment.__proto__;
const items2 = [CustomThemeMobileStore.getCustomTheme()];
const getBaseTheme = CustomThemeMobileStore.getBaseTheme;
items2[1] = Reflect.apply(getBaseTheme, CustomThemeMobileStore, []);
const getPreviewTheme = CustomThemeMobileStore.getPreviewTheme;
items2[2] = Reflect.apply(getPreviewTheme, CustomThemeMobileStore, []);
return items2;
}
@@ -0,0 +1,13 @@
/* Metro module 7702; source: modules/client_themes/native/useIsUsingClientTheme.tsx; dependencies: [7703, 2] */
function _fun61494(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7880:6, offset: 0x01b41f65, size: 94 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/useIsUsingClientTheme.tsx');
exports.default = useIsUsingClientTheme;
}
function useIsUsingClientTheme() { // fn#61495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7880:190, offset: 0x01b41fc3, size: 36 bytes, params: 1, frame: 11
return (require(7703) /* metro dependency 7703: useActiveTheme */).useIsClientThemeOrCustomThemeActive();
}
@@ -0,0 +1,36 @@
/* Metro module 15133; source: modules/client_themes/native/useThemedHeaderOptions.tsx; dependencies: [31, 33, 7704, 7702, 1585, 477, 4092, 2] */
function _fun115368(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#115368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15330:6, offset: 0x0245e2b1, size: 169 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
object = {headerBackground: undefined, contentStyle: undefined};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/client_themes/native/useThemedHeaderOptions.tsx');
exports.default = useThemedHeaderOptions;
}
function headerBackground() { // fn#115369, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15330:185, offset: 0x0245e35a, size: 51 bytes, params: 1, frame: 13
return ((Component) => <Component absolute tall wide />)(importDefault(7704) /* metro dependency 7704: ThemedGradient */);
}
function useThemedHeaderOptions() { // fn#115370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15330:329, offset: 0x0245e38d, size: 96 bytes, params: 1, frame: 16
return env0_3.useMemo(_fun115371, [(importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().top,
(importDefault(7702) /* metro dependency 7702: useIsUsingClientTheme */)()]);
}
function _fun115371() { // fn#115371, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15330:413, offset: 0x0245e3ed, size: 186 bytes, params: 1, frame: 15
var value3;
var moduleValue;
if (env0_0) {
value3 = 5;
moduleValue = require(dependencyMap[value3]);
if (moduleValue.isIOS()) {
return {headerBackground: headerBackground,
contentStyle: {marginTop: -top + (top > 50 ? value3 : 0) + (56 - ((require(4092) /* metro dependency 4092: DeviceUtils */).isIpadOS() ? 46 : 44))}};
}
return {headerBackground: headerBackground, contentStyle: env1_5.contentStyle};
}
return env1_5;
}