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

+187
View File
@@ -0,0 +1,187 @@
/* Metro module 8522; source: modules/custom_status/Constants.tsx; dependencies: [482, 3995, 1244, 2] */
function _fun67544(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8707:6, offset: 0x01c28b33, size: 1569 bytes, params: 8, frame: 22
const env0_0 = require;
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const StatusTypes = (require(482) /* metro dependency 482: Constants */).StatusTypes;
Object = global.Object;
const value = Object.freeze({'MINUTES_30': 1800000, 'HOURS_1': 3600000, 'HOURS_4': 14400000, 'TODAY': 'TODAY',
'DONT_CLEAR': 'DONT_CLEAR'});
const ONLINE = StatusTypes.ONLINE;
const items4 = [{value: ONLINE, label: function() {
return require(dependencyMap[1]).humanizeStatus(StatusTypes.ONLINE);
}}];
const IDLE = StatusTypes.IDLE;
items4[1] = {value: IDLE, label: function() {
return require(dependencyMap[1]).humanizeStatus(StatusTypes.IDLE);
}};
const DND = StatusTypes.DND;
items4[2] = {value: DND, label: function() {
return require(dependencyMap[1]).humanizeStatus(StatusTypes.DND);
}};
const INVISIBLE = StatusTypes.INVISIBLE;
items4[3] = {value: INVISIBLE, label: function() {
return require(dependencyMap[1]).humanizeStatus(StatusTypes.INVISIBLE);
}};
const TODAY = value.TODAY;
items3 = [TODAY];
const HOURS_4 = value.HOURS_4;
items3[1] = HOURS_4;
const HOURS_1 = value.HOURS_1;
items3[2] = HOURS_1;
const MINUTES_30 = value.MINUTES_30;
items3[3] = MINUTES_30;
const DONT_CLEAR = value.DONT_CLEAR;
items3[4] = DONT_CLEAR;
const object3 = {PLAYING: 'PLAYING', LISTENING_TO: 'LISTENING_TO', WATCHING: 'WATCHING',
CURRENT_OBSESSION: 'CURRENT_OBSESSION', SHOWER_THOUGHT: 'SHOWER_THOUGHT', TODAY_I_LEARNED: 'TODAY_I_LEARNED',
HOT_TAKE: 'HOT_TAKE', DAD_JOKE: 'DAD_JOKE', EMOJI_DAY: 'EMOJI_DAY', USELESS_TALENT: 'USELESS_TALENT',
VIDEO_GAME_ITEM: 'VIDEO_GAME_ITEM', READING: 'READING', SONG_STUCK: 'SONG_STUCK',
MOST_USED_EMOJI: 'MOST_USED_EMOJI', BEST_FOOD: 'BEST_FOOD', FICTIONAL_WORLD: 'FICTIONAL_WORLD',
USERNAME_ORIGIN: 'USERNAME_ORIGIN', THEME_SONG: 'THEME_SONG', FAVORITE_COLLECTIBLE: 'FAVORITE_COLLECTIBLE',
GAME_MECHANIC: 'GAME_MECHANIC', NPC_COMPANION: 'NPC_COMPANION', FOOD_CRAVING: 'FOOD_CRAVING',
MYTHICAL_PET: 'MYTHICAL_PET', LATEST_HOBBY: 'LATEST_HOBBY', FAVORITE_ANIME: 'FAVORITE_ANIME',
RANKED_UP: 'RANKED_UP', CHARACTER_CLASS: 'CHARACTER_CLASS', HIGH_SCORE: 'HIGH_SCORE',
FINISHED_PLAYING: 'FINISHED_PLAYING', FINISHED_READING: 'FINISHED_READING', CANT_WAIT: 'CANT_WAIT',
ADD_STATUS: 'ADD_STATUS', WHATS_ON_YOUR_MIND: 'WHATS_ON_YOUR_MIND'};
const PLAYING = object3.PLAYING;
const items2 = [{value: PLAYING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.r5TNmx);
}}];
const LISTENING_TO = object3.LISTENING_TO;
items2[1] = {value: LISTENING_TO, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['ylzor/']);
}};
const WATCHING = object3.WATCHING;
items2[2] = {value: WATCHING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.pzz9iP);
}};
const CURRENT_OBSESSION = object3.CURRENT_OBSESSION;
items2[3] = {value: CURRENT_OBSESSION, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.xaCthD);
}};
const SHOWER_THOUGHT = object3.SHOWER_THOUGHT;
items2[4] = {value: SHOWER_THOUGHT, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.Wf8fxL);
}};
const TODAY_I_LEARNED = object3.TODAY_I_LEARNED;
items2[5] = {value: TODAY_I_LEARNED, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.pycKiy);
}};
const HOT_TAKE = object3.HOT_TAKE;
items2[6] = {value: HOT_TAKE, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.l3pZci);
}};
const DAD_JOKE = object3.DAD_JOKE;
items2[7] = {value: DAD_JOKE, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['3XVZ0v']);
}};
const EMOJI_DAY = object3.EMOJI_DAY;
items2[8] = {value: EMOJI_DAY, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['4U+EJP']);
}};
const USELESS_TALENT = object3.USELESS_TALENT;
items2[9] = {value: USELESS_TALENT, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['Z3Vn/X']);
}};
const VIDEO_GAME_ITEM = object3.VIDEO_GAME_ITEM;
items2[10] = {value: VIDEO_GAME_ITEM, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.PiepBk);
}};
const READING = object3.READING;
items2[11] = {value: READING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.pYQRnN);
}};
const SONG_STUCK = object3.SONG_STUCK;
items2[12] = {value: SONG_STUCK, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.S7UJ0u);
}};
const MOST_USED_EMOJI = object3.MOST_USED_EMOJI;
items2[13] = {value: MOST_USED_EMOJI, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['1TlHwx']);
}};
const BEST_FOOD = object3.BEST_FOOD;
items2[14] = {value: BEST_FOOD, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.ZPjuez);
}};
const FICTIONAL_WORLD = object3.FICTIONAL_WORLD;
items2[15] = {value: FICTIONAL_WORLD, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.lyOeXL);
}};
const USERNAME_ORIGIN = object3.USERNAME_ORIGIN;
items2[16] = {value: USERNAME_ORIGIN, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.l6Yb3T);
}};
const THEME_SONG = object3.THEME_SONG;
items2[17] = {value: THEME_SONG, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.Vok4QU);
}};
const FAVORITE_COLLECTIBLE = object3.FAVORITE_COLLECTIBLE;
items2[18] = {value: FAVORITE_COLLECTIBLE, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.T24umy);
}};
const GAME_MECHANIC = object3.GAME_MECHANIC;
items2[19] = {value: GAME_MECHANIC, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.kzToEh);
}};
const NPC_COMPANION = object3.NPC_COMPANION;
items2[20] = {value: NPC_COMPANION, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['/Zm5VV']);
}};
const FOOD_CRAVING = object3.FOOD_CRAVING;
items2[21] = {value: FOOD_CRAVING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.ujnXus);
}};
const MYTHICAL_PET = object3.MYTHICAL_PET;
items2[22] = {value: MYTHICAL_PET, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['45r7ue']);
}};
const LATEST_HOBBY = object3.LATEST_HOBBY;
items2[23] = {value: LATEST_HOBBY, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.SluNa8);
}};
const FAVORITE_ANIME = object3.FAVORITE_ANIME;
items2[24] = {value: FAVORITE_ANIME, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.R1f9RT);
}};
const RANKED_UP = object3.RANKED_UP;
items2[25] = {value: RANKED_UP, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.nXJgjn);
}};
const CHARACTER_CLASS = object3.CHARACTER_CLASS;
items2[26] = {value: CHARACTER_CLASS, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.SWVxPM);
}};
const HIGH_SCORE = object3.HIGH_SCORE;
items2[27] = {value: HIGH_SCORE, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.gbUeX7);
}};
const FINISHED_PLAYING = object3.FINISHED_PLAYING;
items2[28] = {value: FINISHED_PLAYING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.bIrdLj);
}};
const FINISHED_READING = object3.FINISHED_READING;
items2[29] = {value: FINISHED_READING, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['tcQn+J']);
}};
const CANT_WAIT = object3.CANT_WAIT;
items2[30] = {value: CANT_WAIT, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t['40gTjw']);
}};
const ADD_STATUS = object3.ADD_STATUS;
items2[31] = {value: ADD_STATUS, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.Vq4UmS);
}};
const WHATS_ON_YOUR_MIND = object3.WHATS_ON_YOUR_MIND;
items2[32] = {value: WHATS_ON_YOUR_MIND, label: function() {
return require(dependencyMap[2]).intl.string(require(dependencyMap[2]).t.xod367);
}};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/Constants.tsx');
exports.STATUS_MAX_LENGTH = 128;
exports.ClearAfterValues = value;
exports.StatusOptions = items4;
exports.ClearAfterOptions = items3;
exports.CustomStatusPromptValues = object3;
exports.CustomStatusPrompts = items2;
}
@@ -0,0 +1,267 @@
/* Metro module 15687; source: modules/custom_status/CustomStatusManager.tsx; dependencies: [7, 6, 15, 17, 18, 6876, 661, 4041, 3829, 10917, 1362, 1345, 10916, 4860, 2] */
function _fun120337(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#120337, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:6, offset: 0x02528634, size: 398 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(6) /* metro dependency 6 */;
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 selfPresenceStore = importDefault(6876) /* metro dependency 6876: SelfPresenceStore */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_9 = constantsModule.AnalyticsObjects;
const env0_10 = constantsModule.StatusTypes;
const Timeout = (require(4041) /* metro dependency 4041: Timers */).Timeout;
let timeout = new Timeout();
timeout = new Timeout();
timeout = new Timeout();
timeout = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
timeout = _fun120341(timeout);
timeout = new timeout();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/CustomStatusManager.tsx');
exports.default = timeout;
}
function _isNativeReflectConstruct_120338() { // fn#120338, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:205, offset: 0x025287c2, size: 98 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_120338_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun120341(a0) { // fn#120341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:477, offset: 0x02528824, size: 42 bytes, params: 2, frame: 14
const closure = CustomStatusManager;
env0_7(closure, a0);
return env0_3(closure);
}
function CustomStatusManager(a0) { // fn#120342, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:489, offset: 0x0252884e, size: 255 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_4;
binding(this, CustomStatusManager);
const items = [];
arraySpread(items, value, 0, items);
value = env1_6(CustomStatusManager);
binding = env1_5;
if (_isNativeReflectConstruct_120338()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items);
r0 = value;
}
value = binding(this, r0);
value.actions = {POST_CONNECTION_OPEN: POST_CONNECTION_OPEN_120343,
USER_SETTINGS_PROTO_UPDATE: USER_SETTINGS_PROTO_UPDATE_120344};
value.handlePostConnectionOpen = handlePostConnectionOpen_120345;
value.handleUserSettingsProtoUpdate = handleUserSettingsProtoUpdate;
value.handleCommonUpdates = handleCommonUpdates;
value.manageExpiringCustomStatus = manageExpiringCustomStatus;
value.manageExpiringStatus = manageExpiringStatus;
value.lazilyMigrateStatusCreatedAt = lazilyMigrateStatusCreatedAt;
value.manageExpiringFocusMode = manageExpiringFocusMode;
return value;
}
function CustomStatusManagerUSER_SETTINGS_PROTO_UPDATE() { // fn#120344, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:824, owner: CustomStatusManager.USER_SETTINGS_PROTO_UPDATE, offset: 0x0252894d, size: 19 bytes, params: 1, frame: 9
return env0_0.handleUserSettingsProtoUpdate();
}
function CustomStatusManagerHandlePostConnectionOpen() { // fn#120345, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:890, owner: CustomStatusManager.handlePostConnectionOpen, offset: 0x02528960, size: 21 bytes, params: 1, frame: 9
env0_0.handleCommonUpdates();
}
function handleCommonUpdates() { // fn#120347, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:1004, owner: CustomStatusManager.handleCommonUpdates, offset: 0x02528975, size: 51 bytes, params: 1, frame: 9
const binding = env0_0;
binding.manageExpiringCustomStatus();
binding.manageExpiringStatus();
binding.lazilyMigrateStatusCreatedAt();
binding.manageExpiringFocusMode();
}
function manageExpiringCustomStatus() { // fn#120348, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:1156, owner: CustomStatusManager.manageExpiringCustomStatus, offset: 0x025289a8, size: 302 bytes, params: 1, frame: 17
var Date;
var value3;
var prototype;
var value4;
var date;
var time;
var value7;
var value8;
var value9;
let CustomStatusSetting = (require(3829) /* metro dependency 3829: UserSettings */).CustomStatusSetting;
const setting = CustomStatusSetting.getSetting();
if (setting == null) {
env2_13.stop();
} else if (setting.expiresAtMs == null) {
if (env2_13 != null) {
env2_13.stop();
}
} else if (setting.expiresAtMs !== '0') {
Date = global.Date;
value3 = global.Number(setting.expiresAtMs);
prototype = Date.prototype;
value4 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
time = (date instanceof Object ? date : value4).getTime();
Date = global.Date;
prototype = Date.prototype;
value7 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value8 = date instanceof Object ? date : value7;
value9 = time - value8.getTime();
if (value9 > 0) {
env2_13.start(value9, function() {
var CustomStatusSetting = require(dependencyMap[8]).CustomStatusSetting;
CustomStatusSetting.updateSetting(undefined);
}, true);
} else {
CustomStatusSetting.updateSetting(undefined);
env2_13.stop();
}
} else if (env2_13 != null) {
env2_13.stop();
}
}
function manageExpiringStatus() { // fn#120350, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:1531, owner: CustomStatusManager.manageExpiringStatus, offset: 0x02528b02, size: 325 bytes, params: 1, frame: 18
var Date;
var value4;
var prototype;
var value5;
var date;
var time;
var value8;
var value9;
var value10;
const StatusExpiresAtSetting = (require(3829) /* metro dependency 3829: UserSettings */).StatusExpiresAtSetting;
const setting = StatusExpiresAtSetting.getSetting();
if (setting == null) {
if (env2_11 != null) {
env2_11.stop();
}
} else if (setting === '0') {
if (env2_11 != null) {
env2_11.stop();
}
} else if (SelfPresenceStore.getStatus() !== StatusTypes.ONLINE) {
Date = global.Date;
value4 = global.Number(setting);
prototype = Date.prototype;
value5 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
time = (date instanceof Object ? date : value5).getTime();
Date = global.Date;
prototype = Date.prototype;
value8 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value9 = date instanceof Object ? date : value8;
value10 = time - value9.getTime();
if (value10 > 0) {
env2_11.start(value10, function() {
importDefault(dependencyMap[9])({nextStatus: StatusTypes.ONLINE,
analyticsContext: {location: {object: AnalyticsObjects.CUSTOM_STATUS_MANAGER}}});
}, true);
} else {
(importDefault(10917) /* metro dependency 10917: setUserStatus */)({nextStatus: StatusTypes.ONLINE,
analyticsContext: {location: {object: AnalyticsObjects.CUSTOM_STATUS_MANAGER}}});
env2_11.stop();
}
} else if (env2_11 != null) {
env2_11.stop();
}
}
function lazilyMigrateStatusCreatedAt() { // fn#120352, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:1966, owner: CustomStatusManager.lazilyMigrateStatusCreatedAt, offset: 0x02528c94, size: 160 bytes, params: 1, frame: 16
var PreloadedUserSettingsActionCreators;
const status = SelfPresenceStore.getStatus();
const ONLINE = StatusTypes.ONLINE;
if (status !== ONLINE && (require(3829) /* metro dependency 3829: UserSettings */).StatusCreatedAtSetting.getSetting() == null) {
PreloadedUserSettingsActionCreators = (require(1362) /* metro dependency 1362: UserSettingsProtoActionCreators */).PreloadedUserSettingsActionCreators;
PreloadedUserSettingsActionCreators.updateAsync('status', _fun120353,
(require(1362) /* metro dependency 1362: UserSettingsProtoActionCreators */).UserSettingsDelay.INFREQUENT_USER_ACTION);
}
}
function manageExpiringFocusMode() { // fn#120354, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:2272, owner: CustomStatusManager.manageExpiringFocusMode, offset: 0x02528d93, size: 260 bytes, params: 1, frame: 16
var Date;
var value3;
var prototype;
var value4;
var date;
var time;
var value7;
var value8;
var value9;
const FocusModeExpiresAtSetting = (require(3829) /* metro dependency 3829: UserSettings */).FocusModeExpiresAtSetting;
const setting = FocusModeExpiresAtSetting.getSetting();
if (setting == null) {
if (env2_12 != null) {
env2_12.stop();
}
} else if (setting !== '0') {
Date = global.Date;
value3 = global.Number(setting);
prototype = Date.prototype;
value4 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
time = (date instanceof Object ? date : value4).getTime();
Date = global.Date;
prototype = Date.prototype;
value7 = Object.create(prototype, {constructor: {value: Date}});
date = new Date();
value8 = date instanceof Object ? date : value7;
value9 = time - value8.getTime();
if (value9 > 0) {
env2_12.start(value9, _fun120355, true);
} else {
(require(10916) /* metro dependency 10916: FocusModeUtils */).setFocusMode(false);
env2_12.stop();
}
} else if (env2_12 != null) {
env2_12.stop();
}
}
function _fun120353(a0) { // fn#120353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:2115, offset: 0x02528d34, size: 95 bytes, params: 2, frame: 15
const value = environment.__proto__.__proto__.__proto__;
const UInt64Value = (require(1345) /* metro dependency 1345: wrappers */).UInt64Value;
const create = UInt64Value.create;
const object2 = {};
const Date = global.Date;
object2.value = '' + Date.now();
a0.statusCreatedAtMs = Reflect.apply(create, UInt64Value, [object2]);
}
function _fun120355() { // fn#120355, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15895:2423, offset: 0x02528e97, size: 40 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__.__proto__;
(require(10916) /* metro dependency 10916: FocusModeUtils */).setFocusMode(false);
}
@@ -0,0 +1,76 @@
/* Metro module 10501; source: modules/custom_status/native/ClearAfterOptionsActionSheet.tsx; dependencies: [57, 31, 27, 8522, 33, 4501, 697, 6275, 6758, 1244, 7988, 7987, 10502, 4578, 4080, 2] */
function _fun81216(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10687:6, offset: 0x01e9e928, size: 325 bytes, params: 8, frame: 22
var object2;
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 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const env0_6 = (require(8522) /* metro dependency 8522: Constants */).ClearAfterOptions;
let value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.content = {paddingHorizontal: PX_16};
const object4 = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object4.marginTop = PX_24;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.paddingBottom = PX_16;
object2.buttonWrapper = object4;
const env0_9 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/native/ClearAfterOptionsActionSheet.tsx');
exports.default = ClearAfterOptionsActionSheet;
}
function ClearAfterOptionsActionSheet({initialValue, onChange}) { // fn#81217, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10687:446, offset: 0x01e9ea6d, size: 459 bytes, params: 2, frame: 27
const styles = useStyles();
const [env0_1, property] = env0_3(env0_4.useState(initialValue), 2);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const bottomSheetProps = {contentStyles: styles.content};
const BottomSheetTitleHeader = (require(6758) /* metro dependency 6758: BottomSheetTitleHeaderNative */).BottomSheetTitleHeader;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
bottomSheetProps.header = <BottomSheetTitleHeader title={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['5XnRQ+']])} />;
const TableRadioGroup = (require(7988) /* metro dependency 7988: TableRadioGroupNative */).TableRadioGroup;
string = intl.string;
const E45wvP = (require(1244) /* metro dependency 1244: indexNative */).t.E45wvP;
const tableRadioGroup = <TableRadioGroup onChange={property} title={Reflect.apply(string, intl,
[E45wvP])} defaultValue={initialValue} hasIcons={false}>{ClearAfterOptions.map(_fun81218)}</TableRadioGroup>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const object = {onPress: onPress_81219};
string = intl.string;
const TyCVIq = (require(1244) /* metro dependency 1244: indexNative */).t.TyCVIq;
object.text = Reflect.apply(string, intl, [TyCVIq]);
return (
<BottomSheet {...bottomSheetProps}>
{tableRadioGroup}
<View style={styles.buttonWrapper}>
<Button {...object} />
</View>
</BottomSheet>
);
}
function _fun81218(a0) { // fn#81218, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10687:842, offset: 0x01e9ec38, size: 78 bytes, params: 2, frame: 18
const TableRadioRow = (require(7987) /* metro dependency 7987: TableRadioRowNative */).TableRadioRow;
return (
<TableRadioRow
value={a0}
label={(importDefault(10502) /* metro dependency 10502: formatClearAfterOption */)(a0)}
key={a0}
/>
);
}
function ClearAfterOptionsActionSheetOnPress() { // fn#81219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10687:968, owner: ClearAfterOptionsActionSheet.onPress, offset: 0x01e9ec86, size: 53 bytes, params: 1, frame: 12
onChange(env0_1);
const value = environment.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
}
@@ -0,0 +1,90 @@
/* Metro module 8691; source: modules/custom_status/native/CustomStatusPreview.tsx; dependencies: [31, 27, 6816, 33, 4501, 697, 8490, 8501, 8494, 8496, 8497, 4015, 4080, 8692, 1962, 3868, 8507, 8510, 8511, 8513, 8695, 8474, 2] */
function _fun68302(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8876:6, offset: 0x01c47e2c, size: 237 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(27) /* metro dependency 27 */).View;
let value = require(6816) /* metro dependency 6816: Constants */;
const env0_5 = value.PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING;
const env0_6 = value.UserProfileThemeTypes;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
const env0_9 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun68303);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/native/CustomStatusPreview.tsx');
exports.default = CustomStatusPreview;
}
function _fun68303(a0) { // fn#68303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8876:255, offset: 0x01c47f19, size: 166 bytes, params: 2, frame: 18
const object = {'flex': 1, 'position': 'relative', 'overflow': 'hidden', 'width': 323, 'maxHeight': 301};
const value = 1;
object.borderWidth = a0 ? undefined : value;
const colors = (importDefault(697) /* metro dependency 697: native */).colors;
object.borderColor = a0 ? colors.BORDER_MUTED : colors.BACKGROUND_SURFACE_HIGH;
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
const SHADOW_HIGH = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_HIGH;
copyDataProperties(object, SHADOW_HIGH, importDefault);
return {profileContainer: object, profileEffect: {zIndex: value}};
}
function CustomStatusPreview({user, pendingStatusText, pendingStatusEmoji, placeholderText}) { // fn#68304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8876:639, offset: 0x01c47fbf, size: 843 bytes, params: 2, frame: 40
var r8;
var value;
const value3 = (importDefault(8490) /* metro dependency 8490: useDisplayProfile */)(user.id);
const value4 = (importDefault(8501) /* metro dependency 8501: useBadges */)(value3);
const {theme, primaryColor,
secondaryColor} = (importDefault(8494) /* metro dependency 8494: useProfileTheme */)({user: user,
displayProfile: value3});
const value6 = primaryColor != null;
const styles = useStyles(value6);
const value7 = (importDefault(8496) /* metro dependency 8496: UserProfileSharedStyles */)();
const {gradientFallbackBackground, avatarBackground,
containerBackground} = (require(8497) /* metro dependency 8497: useUserProfileColors */).useUserProfileColors({theme: theme,
primaryColor: primaryColor, secondaryColor: secondaryColor});
const value9 = env0_3.useCallback(_fun68305, [user, pendingStatusText, pendingStatusEmoji]);
const ThemeContextProvider = (require(3868) /* metro dependency 3868: native */).ThemeContextProvider;
const items3 = [styles.profileContainer];
const items2 = [((Component) => <Component user={user} displayProfile={value3} bannerHeight={132} disableInteraction />)(importDefault(8507) /* metro dependency 8507: UserProfileBanner */)];
const value11 = ((Component) => <Component user={user} backgroundColor={avatarBackground} disableStatus />)(importDefault(8510) /* metro dependency 8510: UserProfileAvatar */);
const UserProfileGradientContainer = importDefault(8511) /* metro dependency 8511: UserProfileGradientContainer */;
const items4 = [value7.profileContentWrapper];
items4[1] = value7.profileContent;
let r18 = pendingStatusText !== '' || pendingStatusEmoji !== null;
r18 = !r18 ? placeholderText !== '' : r18;
items4[2] = !r18 && ({paddingTop: PROFILE_CONTENT_WITHOUT_STATUS_TOP_PADDING});
const value16 = ((Component) => <Component hasCustomProfileTheme={value6} style={value7.customStatusBubble} emojiOnlyStyle={value7.emojiOnlyCustomStatusBubble} onPressTruncatedStatus={value9} previewEmoji={pendingStatusEmoji} previewText={pendingStatusText} placeholderText={placeholderText} />)(importDefault(8513) /* metro dependency 8513: UserProfileCustomStatusBubble */);
const UserProfilePrimaryInfo = importDefault(8695) /* metro dependency 8695: UserProfilePrimaryInfo */;
const PREVIEW = UserProfileThemeTypes.PREVIEW;
items2[1] = <View>{value11}<UserProfileGradientContainer fallbackBackground={gradientFallbackBackground} primaryColor={primaryColor} secondaryColor={primaryColor} containerStyle={items4}>{value16}<UserProfilePrimaryInfo user={user} themeType={PREVIEW} pronouns={value3?.pronouns} badges={value4} badgeContainerBackground={containerBackground} showBadgeToastOnPress={false} /></UserProfileGradientContainer></View>;
const value17 = value3?.profileEffect != null;
if (value17) {
value = importDefault(8474) /* metro dependency 8474: ProfileEffect */;
value = ((Component) => <Component skuId={value3 == null ? undefined : value3.profileEffect.skuId} style={styles.profileEffect} />)(value);
r8 = value;
} else {
r8 = value17;
}
items2[2] = r8;
return (
<ThemeContextProvider
theme={theme}
primaryColor={primaryColor}
secondaryColor={secondaryColor}
>
<View style={items3}>
{items2}
</View>
</ThemeContextProvider>
);
}
function _fun68305() { // fn#68305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8876:1050, offset: 0x01c4830a, size: 140 bytes, params: 1, frame: 18
let value = environment.__proto__;
require(dependencyMap[11]).dismissKeyboard();
value = importDefault(dependencyMap[12]);
value.openLazy(require(dependencyMap[14])(dependencyMap[13], dependencyMap.paths),
'UserProfileCustomStatusActionSheet', {user: user, previewText: pendingStatusText,
previewEmoji: pendingStatusEmoji}, 'stack');
}
@@ -0,0 +1,29 @@
/* Metro module 8520; source: modules/custom_status/native/CustomStatusUtils.tsx; dependencies: [5176, 5080, 8521, 1962, 478, 2] */
function _fun67519(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67519, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8705:6, offset: 0x01c275d7, 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/custom_status/native/CustomStatusUtils.tsx');
exports.openEditCustomStatusModal = openEditCustomStatusModal;
}
function openEditCustomStatusModal({analyticsLocations, prompt}) { // fn#67520, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8705:204, offset: 0x01c2763e, size: 209 bytes, params: 2, frame: 21
var object2;
var r1;
var moduleValue;
const YouBarExperiment = require(dependencyMap[0]).YouBarExperiment;
const getConfig = YouBarExperiment.getConfig;
const enabled = Reflect.apply(getConfig, YouBarExperiment, [{location: 'open-edit-custom-status-modal'}]).enabled;
const defaultImport = importDefault(dependencyMap[1]);
const pushLazy = defaultImport.pushLazy;
const value3 = require(dependencyMap[3])(dependencyMap[2], dependencyMap.paths);
object2 = {analyticsLocations: analyticsLocations, prompt: prompt};
if (enabled) {
r1 = {presentation: 'modal'};
} else {
moduleValue = require(dependencyMap[4]);
r1 = moduleValue.isAndroid() ? {presentation: 'modal'} : undefined;
}
Reflect.apply(pushLazy, defaultImport, [value3, object2, undefined, r1]);
}
@@ -0,0 +1,345 @@
/* Metro module 8521; source: modules/custom_status/native/EditCustomStatusWithPreview.tsx; dependencies: [57, 31, 27, 1878, 8522, 661, 1881, 33, 4501, 697, 5278, 1244, 1305, 8523, 8524, 683, 6882, 566, 8525, 8526, 4002, 8528, 4570, 8529, 8690, 4015, 8691, 9603, 5282, 1599, 4573, 8852, 7980, 6231, 6238, 4080, 10501, 1962, 10503, 4071, 5080, 5176, 5280, 478, 2] */
function _fun67521(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67521, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:6, offset: 0x01c2770f, size: 712 bytes, params: 8, frame: 25
var object2;
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 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_7 = (require(8522) /* metro dependency 8522: Constants */).STATUS_MAX_LENGTH;
let value = require(661) /* metro dependency 661: Constants */;
const env0_8 = value.AnalyticEvents;
const env0_9 = value.AnalyticsSections;
const Fonts = value.Fonts;
const env0_10 = value.NOOP;
const env0_11 = (require(1881) /* metro dependency 1881: EmojiConstants */).EmojiIntention;
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;
object2 = {container: {'flexGrow': 1, 'padding': 16, 'rowGap': 24}};
object2.statusSection = {rowGap: 8};
const object4 = {'flexDirection': 'column', 'rowGap': 4, 'backgroundColor': null, 'borderRadius': null,
'padding': 12};
const INPUT_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INPUT_BACKGROUND_DEFAULT;
object4.backgroundColor = INPUT_BACKGROUND_DEFAULT;
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.statusInput = object4;
object2.statusInputRow = {'flexDirection': 'row', 'alignItems': 'center'};
object2.emoji = {marginRight: 8};
let TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG;
object2.status = {'color': null, 'lineHeight': 16, 'flexGrow': 1, 'alignSelf': 'flex-start', 'paddingVertical': 0,
'paddingHorizontal': 0, color: TEXT_STRONG};
const object5 = {'fontSize': 16, 'lineHeight': 20, 'fontFamily': null, 'color': null, 'flexGrow': 1,
'height': 'auto', 'textAlignVertical': 'center'};
const PRIMARY_MEDIUM = Fonts.PRIMARY_MEDIUM;
object5.fontFamily = PRIMARY_MEDIUM;
TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG;
object5.color = TEXT_STRONG;
object2.statusText = object5;
const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED;
object2.inputPlaceholder = {color: TEXT_MUTED};
const object7 = {alignItems: 'center'};
const SHADOW_LOW = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW;
copyDataProperties(object7, SHADOW_LOW, undefined);
object2.previewContainer = object7;
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object2.closeIcon = {tintColor: INTERACTIVE_TEXT_DEFAULT, flexShrink: 0};
object2.statusSectionHeader = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between'};
const env0_14 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/native/EditCustomStatusWithPreview.tsx');
exports.default = EditCustomStatusWithPreviewModal;
}
function ClearInputButton({onPress}) { // fn#67522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:1176, offset: 0x01c279d7, size: 254 bytes, params: 2, frame: 22
const styles = useStyles();
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const VkKicb = (require(1244) /* metro dependency 1244: indexNative */).t.VkKicb;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const iconProps = {source: importDefault(8523) /* metro dependency 8523 */, style: styles.closeIcon};
const Icon2 = (require(1305) /* metro dependency 1305: native */).Icon;
const Sizes = Icon2.Sizes;
const SMALL = Sizes.SMALL;
iconProps.size = SMALL;
return (
<PressableOpacity
style={{'borderRadius': 10, 'paddingLeft': 8}}
accessibilityRole="button"
accessibilityLabel={Reflect.apply(string, intl, [VkKicb])}
onPress={onPress}
hitSlop={{'top': 8, 'bottom': 8, 'right': 8}}
>
<Icon {...iconProps} />
</PressableOpacity>
);
}
function EditCustomStatusWithPreview({navigation, onClose, analyticsLocations, prompt}) { // fn#67523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:1523, offset: 0x01c27ad5, size: 2265 bytes, params: 2, frame: 55
var r30;
var r9;
var r0;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var KeyboardAwareScrollView;
var items4;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var items2;
var PressableOpacity;
var object9;
var items3;
var FormInput;
const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup;
const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow;
var object15;
var value35;
let value = undefined;
let env0_4 = value;
let binding = env0_4;
const value5 = binding.useRef(prompt ?? (importDefault(8524) /* metro dependency 8524: getRandomCustomStatusPrompt */)());
const env0_3 = value5;
env0_4.useEffect(function() {
var defaultImport = importDefault(dependencyMap[15]);
var OPEN_MODAL = AnalyticEvents.OPEN_MODAL;
defaultImport.track(OPEN_MODAL, {type: AnalyticsSections.EDIT_CUSTOM_STATUS_MODAL_WITH_PREVIEW,
location_stack: analyticsLocations});
}, [analyticsLocations]);
const styles = useStyles();
const value6 = (require(6882) /* metro dependency 6882: userSettingToActivity */).useCustomStatusActivity();
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
env0_4 = currentUser;
const value7 = (importDefault(8525) /* metro dependency 8525: computeInitialClearAfter */)();
binding = env0_4;
let useState = binding.useState;
const state = value6 == null ? value : value6.state;
const value8 = '';
const value10 = env0_3(Reflect.apply(useState, binding, [state ?? value8]), 2);
const property = value10[0];
const property2 = value10[1];
binding = env0_4;
useState = binding.useState;
const value12 = env0_3(Reflect.apply(useState, binding, [(value6 == null ? value : value6.emoji) ?? null]), 2);
const property3 = value12[0];
const property4 = value12[1];
const [property5, env0_10] = env0_3(env0_4.useState(value7), 2);
const r40 = value5.current != null ? value5.current.label() : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.xod367);
const value17 = env0_4.useCallback(_fun67526, [property, property3, property5, onClose, analyticsLocations]);
const value18 = env0_4.useCallback(function() {
importDefault(dependencyMap[21])();
var AccessibilityAnnouncer = require(dependencyMap[20]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[11]).intl.string(require(dependencyMap[11]).t.YdUwBS));
onClose();
}, [onClose]);
const value19 = env0_4.useRef(null);
const value20 = env0_4.useCallback(_fun67528, []);
const value22 = env0_4.useCallback(_fun67530, [env0_4.useCallback(_fun67529, [value20]), value20]);
const value23 = env0_4.useCallback(_fun67531, [property4, property2]);
const value24 = env0_4.useRef(null);
const value25 = env0_4.useCallback(_fun67532, []);
const env0_17 = env0_4.useRef({statusText: property, statusEmoji: property3, clearAfter: property5});
const value26 = env0_4.useMemo(_fun67533, [property, property3, property5]);
const value27 = env0_4.useCallback(_fun67534, [value26, onClose]);
const value28 = env0_4.useMemo(_fun67535, [currentUser, property, property3, r40]);
env0_4.useLayoutEffect(_fun67536, [navigation, value17, value26, value27]);
if (currentUser == null) {
r0 = null;
} else {
KeyboardAwareScrollView = (require(1599) /* metro dependency 1599 */).KeyboardAwareScrollView;
var viewBindingProps = {style: styles.container};
items4 = [<View style={styles.previewContainer}>{value28}</View>];
var viewBinding3Props = {style: styles.statusSection};
items2 = [<View style={styles.statusSectionHeader}><Text accessibilityRole="header" variant="text-sm/semibold" color="text-default">{intl.string(t.zOdg0A)}</Text></View>];
var viewBinding5Props = {style: styles.statusInput};
var viewBinding6Props = {style: styles.statusInputRow};
PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
items3 = [<PressableOpacity ref={value19} accessibilityLabel={intl.string(t.WkfRZP)} accessibilityValue={{text: property3 == null ? value : property3.name}} accessibilityRole="button" onPress={value22}>{((Component) => <Component emoji={property3} size={20} style={styles.emoji} withPlaceholder />)(importDefault(8852) /* metro dependency 8852: ActivityEmoji */)}</PressableOpacity>];
FormInput = importDefault(7980) /* metro dependency 7980: FormInput */;
items3[1] = <FormInput ref={value24} maxLength={STATUS_MAX_LENGTH} placeholder={r40} placeholderTextColor={styles.inputPlaceholder.color} accessibilityLabel={intl.string(t.xalUlT)} onSubmitEditing={value25} style={styles.status} value={property} onChange={property2} autoCorrect={false} showBorder={false} showTopContainer={false} autoCapitalize="none" inputTextStyle={styles.statusText} multiline submitBehavior="blurAndSubmit" returnKeyType="done" autoFocus />;
r30 = property3 != null || value8 !== property;
r30 = r30 && <ClearInputButton onPress={value23} />;
items3[2] = r30;
items2[1] = <View {...viewBinding5Props}><View {...viewBinding6Props}>{items3}</View></View>;
items4[1] = <View {...viewBinding3Props}>{items2}</View>;
items4[2] = <TableRowGroup hasIcons={false}><TableRow label={intl.string(t['+14vvU'])} arrow onPress={onPress_67538} trailing={<Text variant="text-sm/medium">{(importDefault(10503) /* metro dependency 10503: formatClearAfterValue */)(property5)}</Text>} /></TableRowGroup>;
value35 = value6 != null;
if (value35) {
r9 = <TableRowGroup hasIcons><TableRow icon={((TrashIcon) => <TrashIcon color={(importDefault(697) /* metro dependency 697: native */).colors.TEXT_FEEDBACK_CRITICAL} />)((require(4071) /* metro dependency 4071: TrashIcon */).TrashIcon)} label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.wO53tu)} onPress={value18} variant="danger" /></TableRowGroup>;
} else {
r9 = value35;
}
items4[3] = r9;
value = <KeyboardAwareScrollView keyboardShouldPersistTaps="always"><View {...viewBindingProps}>{items4}</View></KeyboardAwareScrollView>;
r0 = value;
}
return r0;
}
function EditCustomStatusWithPreviewModal({analyticsLocations, prompt}) { // fn#67539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5486, offset: 0x01c288ba, size: 252 bytes, params: 2, frame: 19
var object2;
var r4;
var moduleValue2;
var value;
const value2 = env0_4.useMemo(function() {
return _fun67541(analyticsLocations, prompt);
}, [analyticsLocations, prompt]);
const value4 = (require(5176) /* metro dependency 5176: YouBarExperiment */).useYouBarEnabled('EditCustomStatusWithPreviewModal');
const Navigator = (require(5280) /* metro dependency 5280: NavigatorNative */).Navigator;
object2 = {initialRouteName: 'root', screens: value2};
if (value4) {
moduleValue2 = require(478) /* metro dependency 478: PlatformUtils */;
r4 = moduleValue2.isAndroid() ? undefined : 12;
} else {
r4 = undefined;
}
object2.headerStatusBarHeight = r4;
if (value4) {
value = require(478) /* metro dependency 478: PlatformUtils */;
r4 = value.isAndroid() ? undefined : {height: 56};
} else {
r4 = undefined;
}
object2.headerStyle = r4;
return <Navigator {...object2} />;
}
function _fun67526() { // fn#67526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2179, offset: 0x01c283fa, size: 194 bytes, params: 1, frame: 17
const value2 = undefined;
(importDefault(8526) /* metro dependency 8526: setCustomStatus */)({text: env0_5, emojiInfo: env0_7,
clearAfter: env0_9, analyticsLocations: analyticsLocations, prompt: env0_3.current ?? value2});
const AccessibilityAnnouncer = (require(4002) /* metro dependency 4002: shared */).AccessibilityAnnouncer;
const announce = AccessibilityAnnouncer.announce;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Og40Yn = (require(1244) /* metro dependency 1244: indexNative */).t.Og40Yn;
Reflect.apply(announce, AccessibilityAnnouncer, [Reflect.apply(string, intl, [Og40Yn])]);
onClose();
return value2;
}
function _fun67528() { // fn#67528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2552, offset: 0x01c28538, size: 62 bytes, params: 1, frame: 13
const value = environment.__proto__;
(require(4570) /* metro dependency 4570: setAccessibilityFocusAndroid */).setAccessibilityFocus({ref: env0_13,
delay: 500});
}
function _fun67529(a0) { // fn#67529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2630, offset: 0x01c28576, size: 112 bytes, params: 2, frame: 15
env0_8({id: a0.id,
name: a0.id != null || a0.surrogates == null ? a0.name ?? '' : a0.surrogates !== '' ? a0.surrogates : a0.name ?? '',
animated: a0.animated});
env0_14();
}
function _fun67530() { // fn#67530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2791, offset: 0x01c285e6, size: 76 bytes, params: 1, frame: 15
const openEmojiPickerActionSheetModule = require(8529) /* metro dependency 8529: openEmojiPickerActionSheet */;
const openEmojiPickerActionSheet = openEmojiPickerActionSheetModule.openEmojiPickerActionSheet;
const STATUS = EmojiIntention.STATUS;
Reflect.apply(openEmojiPickerActionSheet, openEmojiPickerActionSheetModule, [{onPressEmoji: env0_15,
onClose: env0_14, pickerIntention: STATUS}]);
}
function _fun67531() { // fn#67531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2911, offset: 0x01c28632, size: 31 bytes, params: 1, frame: 12
env0_8(null);
env0_6('');
}
function _fun67532() { // fn#67532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2973, offset: 0x01c28651, size: 32 bytes, params: 1, frame: 9
const current = env0_16.current;
if (current != null) {
current.blur();
}
}
function _fun67533() { // fn#67533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3087, offset: 0x01c28671, size: 80 bytes, params: 1, frame: 4
let r0 = env0_5 !== env0_17.current.statusText || env0_7 !== env0_17.current.statusEmoji;
r0 = !r0 ? env0_9 !== env0_17.current.clearAfter : r0;
return r0;
}
function _fun67534() { // fn#67534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3197, offset: 0x01c286c1, size: 91 bytes, params: 1, frame: 16
const defaultImport = importDefault(8690) /* metro dependency 8690: maybeShowDiscardChangesAlert */;
const object2 = {};
object2.hasEdits = env0_18;
object2.onHasEdits = (require(4015) /* metro dependency 4015: ChatInputUtils */).dismissKeyboard;
object2.resetPending = NOOP;
object2.onConfirm = onClose;
defaultImport(object2);
}
function _fun67535() { // fn#67535, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3311, offset: 0x01c2871c, size: 90 bytes, params: 1, frame: 16
const currentUserBinding = currentUser;
const value2 = null;
return value2 != currentUserBinding ? ((Component) => <Component user={currentUser} pendingStatusText={env0_5} pendingStatusEmoji={env0_7} placeholderText={env0_11} />)(importDefault(8691) /* metro dependency 8691: CustomStatusPreview */) : value2;
}
function _fun67536() { // fn#67536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3446, offset: 0x01c28776, size: 81 bytes, params: 1, frame: 15
const navigationBinding = navigation;
const setOptions = navigationBinding.setOptions;
const object2 = {headerRight: headerRight_67537};
object2.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(env0_19);
Reflect.apply(setOptions, navigationBinding, [object2]);
}
function EditCustomStatusWithPreviewOnPress() { // fn#67538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:4936, owner: EditCustomStatusWithPreview.onPress, offset: 0x01c2883d, size: 125 bytes, params: 1, frame: 17
let value = environment.__proto__;
require(dependencyMap[25]).dismissKeyboard();
value = importDefault(dependencyMap[35]);
value.openLazy(require(dependencyMap[37])(dependencyMap[36], dependencyMap.paths), 'ClearAfterOptionsActionSheet',
{initialValue: env0_9, onChange: env0_10});
}
function _fun67540() { // fn#67540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5578, offset: 0x01c289b6, size: 30 bytes, params: 1, frame: 13
return _fun67541(analyticsLocations, prompt);
}
function headerRight_67537() { // fn#67537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3477, offset: 0x01c287c7, size: 118 bytes, params: 1, frame: 18
const HeaderTextButton = (require(9603) /* metro dependency 9603: HeaderShared */).HeaderTextButton;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<HeaderTextButton
label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['R3BPH+'])}
onPress={env1_12}
disabled={!env1_18}
/>
);
}
function _fun67541(a0, a1) { // fn#67541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5583, offset: 0x01c289d4, size: 172 bytes, params: 3, frame: 18
const env0_0 = a0;
const env0_1 = a1;
const object = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Iuzg8R = (require(1244) /* metro dependency 1244: indexNative */).t.Iuzg8R;
object.title = Reflect.apply(string, intl, [Iuzg8R]);
object.headerTitle = headerTitle_67542;
object.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton((importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop);
object.ignoreKeyboard = true;
object.render = render_67543;
return {root: object};
}
function headerTitle_67542() { // fn#67542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5656, offset: 0x01c28a80, size: 96 bytes, params: 1, frame: 18
const GenericHeaderTitle = (require(9603) /* metro dependency 9603: HeaderShared */).GenericHeaderTitle;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Iuzg8R = (require(1244) /* metro dependency 1244: indexNative */).t.Iuzg8R;
return <GenericHeaderTitle title={Reflect.apply(string, intl, [Iuzg8R])} />;
}
function render_67543(a0, a1) { // fn#67543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5819, offset: 0x01c28ae0, size: 83 bytes, params: 3, frame: 15
return (
<EditCustomStatusWithPreview
navigation={a1}
onClose={(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop}
analyticsLocations={env0_0}
prompt={require}
/>
);
}
@@ -0,0 +1,128 @@
/* Metro module 8526; source: modules/custom_status/setCustomStatus.tsx; dependencies: [8522, 661, 3829, 3738, 8527, 683, 2] */
function _fun67590(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67590, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8711:6, offset: 0x01c29e19, size: 157 bytes, params: 8, frame: 18
const env0_0 = require;
const determineEmojiType = function(a0) {
var value = null;
return value == a0 ? value : a0.id != 'unicode' ? 'custom' : 'unicode';
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(8522) /* metro dependency 8522: Constants */).ClearAfterValues;
const env0_4 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/setCustomStatus.tsx');
exports.default = setCustomStatus;
}
function setCustomStatus({text, emojiInfo, clearAfter, analyticsContext, createdAtMs, prompt, analyticsLocations}) { // fn#67592, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8711:314, offset: 0x01c29edf, size: 582 bytes, params: 2, frame: 31
var r3;
const CustomStatusSetting = (require(3829) /* metro dependency 3829: UserSettings */).CustomStatusSetting;
var updateSetting;
var value3;
var object2;
var value4;
var value5;
var value6;
var String;
var value7;
var value10;
var value15;
var defaultImport;
var track;
var CUSTOM_STATUS_UPDATED;
const value = text.trim();
let length = value.length;
if (length > 0) {
value3 = undefined;
updateSetting = CustomStatusSetting.updateSetting;
object2 = {};
length = value.length;
value4 = '';
r3 = length > 0 ? value : value4;
object2.text = r3;
value5 = null;
value6 = '0';
if (value5 != clearAfter) {
if (clearAfter === ClearAfterValues.DONT_CLEAR) {
r3 = value6;
} else {
String = global.String;
value7 = (importDefault(3738) /* metro dependency 3738 */)();
value10 = value7.add((importDefault(8527) /* metro dependency 8527: getClearAfterDuration */)(clearAfter),
'ms').toDate();
r3 = String(value10.getTime());
}
} else {
r3 = value6;
}
object2.expiresAtMs = r3;
r3 = value5 != emojiInfo && value5 != emojiInfo.id ? emojiInfo.id : value6;
object2.emojiId = r3;
r3 = value5 != emojiInfo ? emojiInfo.name : value4;
object2.emojiName = r3;
String = global.String;
object2.createdAtMs = String(value5 != createdAtMs ? createdAtMs : (importDefault(3738) /* metro dependency 3738 */)().toDate().getTime());
value15 = Reflect.apply(updateSetting, CustomStatusSetting, [object2]);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport.track;
CUSTOM_STATUS_UPDATED = AnalyticEvents.CUSTOM_STATUS_UPDATED;
object2 = {};
object2.location = value5 != analyticsContext ? analyticsContext.location : value5;
object2.emoji_type = determineEmojiType(emojiInfo);
length = value.length;
object2.text_len = length;
object2.clear_after = value5 != clearAfter ? value4 + clearAfter : value5;
object2.prompt_type = value5 == prompt ? value3 : prompt.value;
object2.location_stack = analyticsLocations;
Reflect.apply(track, defaultImport, [CUSTOM_STATUS_UPDATED, object2]);
return value15;
}
if (emojiInfo != null) {
value3 = undefined;
updateSetting = CustomStatusSetting.updateSetting;
object2 = {};
length = value.length;
value4 = '';
r3 = length > 0 ? value : value4;
object2.text = r3;
value5 = null;
value6 = '0';
if (value5 != clearAfter) {
if (clearAfter === ClearAfterValues.DONT_CLEAR) {
r3 = value6;
} else {
String = global.String;
value7 = (importDefault(3738) /* metro dependency 3738 */)();
value10 = value7.add((importDefault(8527) /* metro dependency 8527: getClearAfterDuration */)(clearAfter),
'ms').toDate();
r3 = String(value10.getTime());
}
} else {
r3 = value6;
}
object2.expiresAtMs = r3;
r3 = value5 != emojiInfo && value5 != emojiInfo.id ? emojiInfo.id : value6;
object2.emojiId = r3;
r3 = value5 != emojiInfo ? emojiInfo.name : value4;
object2.emojiName = r3;
String = global.String;
object2.createdAtMs = String(value5 != createdAtMs ? createdAtMs : (importDefault(3738) /* metro dependency 3738 */)().toDate().getTime());
value15 = Reflect.apply(updateSetting, CustomStatusSetting, [object2]);
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport.track;
CUSTOM_STATUS_UPDATED = AnalyticEvents.CUSTOM_STATUS_UPDATED;
object2 = {};
object2.location = value5 != analyticsContext ? analyticsContext.location : value5;
object2.emoji_type = determineEmojiType(emojiInfo);
length = value.length;
object2.text_len = length;
object2.clear_after = value5 != clearAfter ? value4 + clearAfter : value5;
object2.prompt_type = value5 == prompt ? value3 : prompt.value;
object2.location_stack = analyticsLocations;
Reflect.apply(track, defaultImport, [CUSTOM_STATUS_UPDATED, object2]);
return value15;
}
return CustomStatusSetting.updateSetting(undefined);
}
@@ -0,0 +1,52 @@
/* Metro module 8525; source: modules/custom_status/utils/computeInitialClearAfter.tsx; dependencies: [8522, 3829, 2] */
function _fun67587(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67587, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8710:6, offset: 0x01c29c0c, size: 155 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const ClearAfterValues = (require(8522) /* metro dependency 8522: Constants */).ClearAfterValues;
const MINUTES_30 = ClearAfterValues.MINUTES_30;
items = [MINUTES_30];
const HOURS_1 = ClearAfterValues.HOURS_1;
items[1] = HOURS_1;
const HOURS_4 = ClearAfterValues.HOURS_4;
items[2] = HOURS_4;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/computeInitialClearAfter.tsx');
exports.default = computeInitialClearAfter;
}
function computeInitialClearAfter() { // fn#67588, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8710:260, offset: 0x01c29ca7, size: 370 bytes, params: 1, frame: 19
var r4;
var value14;
const CustomStatusSetting = (require(3829) /* metro dependency 3829: UserSettings */).CustomStatusSetting;
const setting = CustomStatusSetting.getSetting();
if (setting != null) {
if (setting.expiresAtMs === '') {
return ClearAfterValues.TODAY;
}
var Number = global.Number;
var value3 = Number(setting.expiresAtMs);
if (global.isNaN(value3)) {
return ClearAfterValues.TODAY;
}
if (value3 === 0) {
return ClearAfterValues.DONT_CLEAR;
}
var Date = global.Date;
var date = new Date();
Date = global.Date;
date = new Date(value3);
var getFullYear = date.getFullYear;
var value8 = Reflect.apply(getFullYear, date, []);
getFullYear = date.getFullYear;
r4 = value8 === Reflect.apply(getFullYear, date, []) && date.getMonth() === date.getMonth();
r4 = r4 && date.getDate() === date.getDate();
if (r4) {
value14 = global.Number(value3);
Date = global.Date;
var env0_0 = value14 - Date.now();
return env0_3.find(_fun67589) ?? ClearAfterValues.TODAY;
}
}
return ClearAfterValues.TODAY;
}
@@ -0,0 +1,72 @@
/* Metro module 10502; source: modules/custom_status/utils/formatClearAfterOption.tsx; dependencies: [8522, 3826, 1244, 672, 1360, 2] */
function _fun81220(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10688:6, offset: 0x01e9ecbb, size: 135 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(8522) /* metro dependency 8522: Constants */).ClearAfterValues;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/formatClearAfterOption.tsx');
exports.default = formatClearAfterOption;
}
function formatDuration_81221(a0) { // fn#81221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10688:138, offset: 0x01e9ed42, size: 256 bytes, params: 2, frame: 18
var r0;
var formatToPlainString;
var DN91Jz;
var object2;
let Date = global.Date;
let value = Date.now();
value += a0;
const dateUtilsModule = require(3826) /* metro dependency 3826: DateUtils */;
const isSameDay = dateUtilsModule.isSameDay;
Date = global.Date;
let date = new Date();
Date = global.Date;
const value5 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date(value);
const isSameDay2 = Reflect.apply(isSameDay, dateUtilsModule, [date, date instanceof Object ? date : value5]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
if (isSameDay2) {
value = intl.data.formatTime(value, {format: 'short'});
r0 = value;
} else {
formatToPlainString = intl.formatToPlainString;
DN91Jz = (require(1244) /* metro dependency 1244: indexNative */).t.DN91Jz;
object2 = {};
object2.time = (require(1244) /* metro dependency 1244: indexNative */).intl.data.formatTime(value,
{format: 'short'});
value = Reflect.apply(formatToPlainString, intl, [DN91Jz, object2]);
r0 = value;
}
return r0;
}
function formatClearAfterOption(a0) { // fn#81222, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10688:463, offset: 0x01e9ee42, size: 761 bytes, params: 2, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const TODAY = ClearAfterValues.TODAY;
if (TODAY === a0) {
return '' + intl.formatToPlainString(t.Rea2gR,
{hours: 24}) + ' (' + formatDuration_81221((importDefault(672) /* metro dependency 672: Durations */).Millis.DAY) + ')';
}
const HOURS_4 = ClearAfterValues.HOURS_4;
if (HOURS_4 === a0) {
return '' + intl.formatToPlainString(t.Rea2gR,
{hours: 4}) + ' (' + formatDuration_81221(4 * (importDefault(672) /* metro dependency 672: Durations */).Millis.HOUR) + ')';
}
const HOURS_1 = ClearAfterValues.HOURS_1;
if (HOURS_1 === a0) {
return '' + intl.formatToPlainString(t.Rea2gR,
{hours: 1}) + ' (' + formatDuration_81221((importDefault(672) /* metro dependency 672: Durations */).Millis.HOUR) + ')';
}
const MINUTES_30 = ClearAfterValues.MINUTES_30;
if (MINUTES_30 === a0) {
return '' + intl.formatToPlainString(t.TS3eJb,
{minutes: 30}) + ' (' + formatDuration_81221(30 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE) + ')';
}
const DONT_CLEAR = ClearAfterValues.DONT_CLEAR;
if (DONT_CLEAR === a0) {
return intl.string(t.bRn8cq);
}
(require(1360) /* metro dependency 1360: GlobalUtils */).assertNever(a0);
}
@@ -0,0 +1,68 @@
/* Metro module 10503; source: modules/custom_status/utils/formatClearAfterValue.tsx; dependencies: [8522, 3826, 1244, 672, 1360, 2] */
function _fun81223(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10689:6, offset: 0x01e9f13b, size: 135 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(8522) /* metro dependency 8522: Constants */).ClearAfterValues;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/formatClearAfterValue.tsx');
exports.default = formatClearAfterValue;
}
function formatDuration_81224(a0) { // fn#81224, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10689:138, offset: 0x01e9f1c2, size: 256 bytes, params: 2, frame: 18
var r0;
var formatToPlainString;
var bI7n9i;
var object2;
let Date = global.Date;
let value = Date.now();
value += a0;
const dateUtilsModule = require(3826) /* metro dependency 3826: DateUtils */;
const isSameDay = dateUtilsModule.isSameDay;
Date = global.Date;
let date = new Date();
Date = global.Date;
const value5 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date(value);
const isSameDay2 = Reflect.apply(isSameDay, dateUtilsModule, [date, date instanceof Object ? date : value5]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
if (isSameDay2) {
value = intl.data.formatTime(value, {format: 'short'});
r0 = value;
} else {
formatToPlainString = intl.formatToPlainString;
bI7n9i = (require(1244) /* metro dependency 1244: indexNative */).t.bI7n9i;
object2 = {};
object2.time = (require(1244) /* metro dependency 1244: indexNative */).intl.data.formatTime(value,
{format: 'short'});
value = Reflect.apply(formatToPlainString, intl, [bI7n9i, object2]);
r0 = value;
}
return r0;
}
function formatClearAfterValue(a0) { // fn#81225, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10689:462, offset: 0x01e9f2c2, size: 373 bytes, params: 2, frame: 15
var intl;
const TODAY = ClearAfterValues.TODAY;
if (TODAY === a0) {
return formatDuration_81224((importDefault(672) /* metro dependency 672: Durations */).Millis.DAY);
}
const HOURS_4 = ClearAfterValues.HOURS_4;
if (HOURS_4 === a0) {
return formatDuration_81224(4 * (importDefault(672) /* metro dependency 672: Durations */).Millis.HOUR);
}
const HOURS_1 = ClearAfterValues.HOURS_1;
if (HOURS_1 === a0) {
return formatDuration_81224((importDefault(672) /* metro dependency 672: Durations */).Millis.HOUR);
}
const MINUTES_30 = ClearAfterValues.MINUTES_30;
if (MINUTES_30 === a0) {
return formatDuration_81224(30 * (importDefault(672) /* metro dependency 672: Durations */).Millis.MINUTE);
}
const DONT_CLEAR = ClearAfterValues.DONT_CLEAR;
if (DONT_CLEAR === a0) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bRn8cq);
}
(require(1360) /* metro dependency 1360: GlobalUtils */).assertNever(a0);
}
@@ -0,0 +1,19 @@
/* Metro module 8527; source: modules/custom_status/utils/getClearAfterDuration.tsx; dependencies: [8522, 672, 44, 2] */
function _fun67593(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67593, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8712:6, offset: 0x01c2a125, size: 120 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(8522) /* metro dependency 8522: Constants */).ClearAfterValues;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/getClearAfterDuration.tsx');
exports.default = function(a0) {
var r0;
var value = a0;
if (value === ClearAfterValues.TODAY) {
r0 = importDefault(dependencyMap[1]).Millis.DAY;
} else {
importDefault(dependencyMap[2])(typeof value === 'number', 'Invalid custom status clear timeout');
r0 = value;
}
return r0;
};
}
@@ -0,0 +1,25 @@
/* Metro module 8524; source: modules/custom_status/utils/getRandomCustomStatusPrompt.tsx; dependencies: [8522, 1244, 2] */
function _fun67583(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8709:6, offset: 0x01c29a96, size: 127 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const constantsModule = require(8522) /* metro dependency 8522: Constants */;
const env0_2 = constantsModule.CustomStatusPrompts;
const env0_3 = constantsModule.CustomStatusPromptValues;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/getRandomCustomStatusPrompt.tsx');
exports.default = getRandomCustomStatusPrompt;
}
function getRandomCustomStatusPrompt(a0) { // fn#67584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8709:262, offset: 0x01c29b15, size: 155 bytes, params: 2, frame: 14
const env0_0 = a0;
const r1 = a0 == null ? CustomStatusPrompts : a0.size > 0 ? CustomStatusPrompts.filter(_fun67585) : CustomStatusPrompts;
return r1.length === 0 ? {value: CustomStatusPromptValues.ADD_STATUS, label: function() {
return require(dependencyMap[1]).intl.string(require(dependencyMap[1]).t.Vq4UmS);
}} : r1[global.Math.floor(global.Math.random() * r1.length)];
}
function _fun67585({value}) { // fn#67585, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8709:336, offset: 0x01c29bb0, size: 30 bytes, params: 2, frame: 11
const binding = env0_0;
return !binding.has(value);
}
@@ -0,0 +1,26 @@
/* Metro module 14493; source: modules/custom_status/utils/isActivityPermanentCustomStatus.tsx; dependencies: [661, 2] */
function _fun109687(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#109687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14690:6, offset: 0x02356aa1, size: 109 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(661) /* metro dependency 661: Constants */).ActivityTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/isActivityPermanentCustomStatus.tsx');
exports.isActivityPermanentCustomStatus = isActivityPermanentCustomStatus;
}
function isActivityPermanentCustomStatus(a0) { // fn#109688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14690:251, offset: 0x02356b0e, size: 56 bytes, params: 2, frame: 5
var r0;
var timestamps;
const type = a0.type;
const CUSTOM_STATUS = ActivityTypes.CUSTOM_STATUS;
let value = type === CUSTOM_STATUS;
if (value) {
timestamps = a0.timestamps;
value = undefined;
value = (timestamps == null ? value : timestamps.end) == null;
r0 = value;
} else {
r0 = value;
}
return r0;
}
@@ -0,0 +1,32 @@
/* Metro module 14494; source: modules/custom_status/utils/isActivityTemporaryCustomStatus.tsx; dependencies: [661, 2] */
function _fun109689(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#109689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14691:6, offset: 0x02356b46, size: 109 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(661) /* metro dependency 661: Constants */).ActivityTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/isActivityTemporaryCustomStatus.tsx');
exports.isActivityTemporaryCustomStatus = isActivityTemporaryCustomStatus;
}
function isActivityTemporaryCustomStatus(a0) { // fn#109690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14691:251, offset: 0x02356bb3, size: 87 bytes, params: 2, frame: 6
var r0;
var timestamps;
const type = a0.type;
const CUSTOM_STATUS = ActivityTypes.CUSTOM_STATUS;
let value = type === CUSTOM_STATUS;
if (value) {
timestamps = a0.timestamps;
value = undefined;
value = (timestamps == null ? value : timestamps.end) != null;
r0 = value;
} else {
r0 = value;
}
if (r0) {
timestamps = a0.timestamps;
value = undefined;
value = (timestamps == null ? value : timestamps.end) > 0;
r0 = value;
}
return r0;
}
@@ -0,0 +1,13 @@
/* Metro module 8528; source: modules/custom_status/utils/removeCustomStatus.tsx; dependencies: [8526, 2] */
function _fun67595(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67595, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8713:6, offset: 0x01c2a204, size: 99 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/removeCustomStatus.tsx');
exports.default = removeCustomStatus;
}
function removeCustomStatus() { // fn#67596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8713:186, offset: 0x01c2a267, size: 45 bytes, params: 1, frame: 11
(importDefault(8526) /* metro dependency 8526: setCustomStatus */)({'text': '', 'emojiInfo': null,
'clearAfter': null});
}
@@ -0,0 +1,34 @@
/* Metro module 8693; source: modules/custom_status/utils/useCustomStatusActivityForUser.tsx; dependencies: [1226, 4396, 661, 566, 6882, 2] */
function _fun68309(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8878:6, offset: 0x01c4870d, size: 152 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
const presenceStore = importDefault(4396) /* metro dependency 4396: PresenceStore */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).ActivityTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/useCustomStatusActivityForUser.tsx');
exports.default = useCustomStatusActivityForUser;
}
function useCustomStatusActivityForUser(a0) { // fn#68310, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8878:246, offset: 0x01c487a5, size: 133 bytes, params: 2, frame: 19
const env0_0 = a0;
const fluxModule = require(566) /* metro dependency 566: flux */;
let useStateFromStores = fluxModule.useStateFromStores;
const value2 = Reflect.apply(useStateFromStores, fluxModule, [[AuthenticationStore], _fun68311]);
const value3 = (require(6882) /* metro dependency 6882: userSettingToActivity */).useCustomStatusActivity();
const moduleValue3 = fluxModule;
useStateFromStores = moduleValue3.useStateFromStores;
return value2 ? value3 : Reflect.apply(useStateFromStores, moduleValue3, [[PresenceStore], _fun68312]);
}
function _fun68311() { // fn#68311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8878:327, offset: 0x01c4882a, size: 30 bytes, params: 1, frame: 9
const value = environment.__proto__;
return AuthenticationStore.getId() === env0_0;
}
function _fun68312() { // fn#68312, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8878:417, offset: 0x01c48848, size: 37 bytes, params: 1, frame: 13
return PresenceStore.findActivity(env0_0, function({type}) {
return type === ActivityTypes.CUSTOM_STATUS;
});
}
@@ -0,0 +1,80 @@
/* Metro module 6882; source: modules/custom_status/utils/userSettingToActivity.tsx; dependencies: [31, 6540, 661, 3797, 3829, 566, 2] */
function _fun54648(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#54648, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:6, offset: 0x0136ae22, size: 179 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(31) /* metro dependency 31 */).useMemo;
const emojiStore = importDefault(6540) /* metro dependency 6540: EmojiStore */;
const env0_5 = (require(661) /* metro dependency 661: Constants */).ActivityTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/utils/userSettingToActivity.tsx');
exports.getActivityFromCustomStatus = getActivityFromCustomStatus;
exports.useCustomStatusActivity = useCustomStatusActivity;
}
function _activityFromSetting(a0, a1) { // fn#54649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:148, offset: 0x0136aed5, size: 338 bytes, params: 3, frame: 19
var r1;
var defaultImport;
var getByName;
var defaultImport2;
var value3;
const value = null;
if (value != a1) {
r1 = {id: a1.id, name: a1.name, animated: a1.animated};
} else if (value != a0.emojiName) {
if (a0.emojiName === '') {
r1 = value;
} else {
defaultImport = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
getByName = defaultImport.getByName;
defaultImport2 = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
value3 = Reflect.apply(getByName, defaultImport, [defaultImport2.convertSurrogateToName(a0.emojiName,
false)]);
r1 = value != value3 ? {'id': null, 'name': null, 'animated': false, name: value3.surrogates} : value;
}
} else {
r1 = value;
}
const Number = global.Number;
const expiresAtMs = a0.expiresAtMs;
const value4 = undefined;
const value5 = Number(expiresAtMs);
const label = a0.label;
const r2 = value == label ? value4 : label.value;
const CUSTOM_STATUS = ActivityTypes.CUSTOM_STATUS;
let text = a0.text;
text = text.length > 0 ? a0.text : value4;
return {name: 'Custom Status', type: CUSTOM_STATUS, state: text, timestamps: value5 > 0 ? {end: value5} : value4,
emoji: r1, details: r2, metadata: {label: r2}};
}
function getActivityFromCustomStatus(a0) { // fn#54650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:756, offset: 0x0136b027, size: 64 bytes, params: 2, frame: 16
const emojiId = a0.emojiId;
const _activityFromSettingBinding = _activityFromSetting;
const value2 = null;
return _activityFromSettingBinding(a0,
value2 != emojiId ? emojiId === '0' ? value2 : EmojiStore.getUsableCustomEmojiById(emojiId) : value2);
}
function useCustomStatusActivity() { // fn#54651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:922, offset: 0x0136b067, size: 158 bytes, params: 1, frame: 19
const value2 = undefined;
const CustomStatusSetting = (require(3829) /* metro dependency 3829: UserSettings */).CustomStatusSetting;
const value3 = CustomStatusSetting.useSetting();
const emojiId = value3 == null ? value2 : value3.emojiId;
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
let items2 = [EmojiStore];
items2 = [value3, Reflect.apply(useStateFromStores, fluxModule, [items2, _fun54652, [emojiId]])];
return useMemo(_fun54653, items2);
}
function _fun54652() { // fn#54652, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:1065, offset: 0x0136b105, size: 58 bytes, params: 1, frame: 13
const emojiIdBinding = emojiId;
const value2 = null;
return value2 != emojiIdBinding ? emojiId === '0' ? value2 : EmojiStore.getUsableCustomEmojiById(emojiId) : value2;
}
function _fun54653() { // fn#54653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7060:1137, offset: 0x0136b13f, size: 41 bytes, params: 1, frame: 14
const value2 = null;
return value2 != env0_0 ? _activityFromSetting(env0_0, env0_2) : value2;
}