Files
discord-decomp/sources/by-id/module-04553.jsx
T
2026-07-28 01:06:53 +03:00

271 lines
14 KiB
React

/* Metro module 4553; source: unknown; dependencies: [29, 57, 31, 27, 33, 4547, 4554, 4521, 4513, 4523] */
import ObjectWithoutProperties from './module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */
import React from './module-00031-React.js'; /* Metro dependency 31 */
import Module00057 from './module-00057.js'; /* Metro dependency 57 */
import __INTERNAL_VIEW_CONFIG from './module-04554-__INTERNAL_VIEW_CONFIG.js'; /* Metro dependency 4554 */
import * as ReactNativeModule from './module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as JsxRuntimeModule from './module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as Module04513Module from './module-04513.js'; /* Metro dependency 4513 */
import * as FreezeModule from './module-04521-Freeze.jsx'; /* Metro dependency 4521 */
import * as moduleValue2 from './module-04547.js'; /* Metro dependency 4547 */
function _fun38730(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#38730, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:6, offset: 0x010c8719, size: 271 bytes, params: 8, frame: 19
const env0_0 = require;
const env0_3 = ['onWillAppear', 'onDidAppear', 'onWillDisappear', 'onDidDisappear', 'isFocused', 'freezeContents',
'icon', 'selectedIcon', 'standardAppearance', 'scrollEdgeAppearance', 'scrollEdgeEffects',
'experimental_userInterfaceStyle', 'style'];
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
ReactNativeModule.Platform;
const StyleSheet = ReactNativeModule.StyleSheet;
const env0_11 = StyleSheet.create({fillParent: {'position': 'absolute', 'flex': 1, 'width': '100%',
'height': '100%'}});
exports.default = TabsScreen;
function mapAppearanceToNativeProp(a0) { // fn#38731, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:453, offset: 0x010c8828, size: 133 bytes, params: 2, frame: 22
var stacked;
var inline;
var compactInline;
var tabBarBackgroundColor;
var tabBarShadowColor;
var Object;
var assign;
var object;
var mapItemAppearanceToNativePropBinding;
if (a0) {
stacked = a0.stacked;
inline = a0.inline;
compactInline = a0.compactInline;
tabBarBackgroundColor = a0.tabBarBackgroundColor;
tabBarShadowColor = a0.tabBarShadowColor;
Object = global.Object;
assign = Object.assign;
object = {};
mapItemAppearanceToNativePropBinding = mapItemAppearanceToNativeProp;
object.stacked = mapItemAppearanceToNativePropBinding(stacked);
object.inline = mapItemAppearanceToNativePropBinding(inline);
object.compactInline = mapItemAppearanceToNativePropBinding(compactInline);
object.tabBarBackgroundColor = processColor(tabBarBackgroundColor);
object.tabBarShadowColor = processColor(tabBarShadowColor);
return Reflect.apply(assign, Object, [{}, a0, object]);
}
}
function mapItemAppearanceToNativeProp(a0) { // fn#38732, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:798, offset: 0x010c88ad, size: 107 bytes, params: 2, frame: 20
var normal;
var selected;
var focused;
var disabled;
var Object;
var assign;
var object;
var mapItemStateAppearanceToNativePropBinding;
if (a0) {
normal = a0.normal;
selected = a0.selected;
focused = a0.focused;
disabled = a0.disabled;
Object = global.Object;
assign = Object.assign;
object = {};
mapItemStateAppearanceToNativePropBinding = mapItemStateAppearanceToNativeProp;
object.normal = mapItemStateAppearanceToNativePropBinding(normal);
object.selected = mapItemStateAppearanceToNativePropBinding(selected);
object.focused = mapItemStateAppearanceToNativePropBinding(focused);
object.disabled = mapItemStateAppearanceToNativePropBinding(disabled);
return Reflect.apply(assign, Object, [{}, a0, object]);
}
}
function mapItemStateAppearanceToNativeProp(a0) { // fn#38733, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:1114, offset: 0x010c8918, size: 129 bytes, params: 2, frame: 22
var tabBarItemTitleFontColor;
var tabBarItemIconColor;
var tabBarItemBadgeBackgroundColor;
var tabBarItemTitleFontWeight;
var Object;
var assign;
var object;
var processColorBinding;
var value2;
if (a0) {
tabBarItemTitleFontColor = a0.tabBarItemTitleFontColor;
tabBarItemIconColor = a0.tabBarItemIconColor;
tabBarItemBadgeBackgroundColor = a0.tabBarItemBadgeBackgroundColor;
tabBarItemTitleFontWeight = a0.tabBarItemTitleFontWeight;
Object = global.Object;
assign = Object.assign;
object = {};
processColorBinding = processColor;
value2 = undefined;
object.tabBarItemTitleFontColor = processColorBinding(tabBarItemTitleFontColor);
object.tabBarItemIconColor = processColor(tabBarItemIconColor);
object.tabBarItemBadgeBackgroundColor = processColor(tabBarItemBadgeBackgroundColor);
object.tabBarItemTitleFontWeight = value2 === tabBarItemTitleFontWeight ? value2 : global.String(tabBarItemTitleFontWeight);
return Reflect.apply(assign, Object, [{}, a0, object]);
}
}
function TabsScreen(a0) { // fn#38734, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:1470, offset: 0x010c8999, size: 886 bytes, params: 2, frame: 47
var object3;
var r13;
var controlledBottomTabs;
var value11;
let binding = onDidDisappear2;
const value2 = binding.useRef(null);
const value3 = -1;
const value4 = binding.useRef(value3);
binding.useEffect(_fun38735, []);
const value5 = false;
const value6 = binding.useState(value5);
const value7 = undefined;
const value8 = Module00057(value6, 2);
const property = value8[0];
const env0_2 = value8[1];
const onWillAppear = a0.onWillAppear;
const onWillAppear2 = onWillAppear;
const onDidAppear = a0.onDidAppear;
const onDidAppear2 = onDidAppear;
const onWillDisappear = a0.onWillDisappear;
const onDidDisappear = a0.onDidDisappear;
var onDidDisappear2 = onDidDisappear;
const isFocused = a0.isFocused;
const r4 = value7 !== isFocused && isFocused;
const freezeContents = a0.freezeContents;
const icon = a0.icon;
a0.selectedIcon;
const standardAppearance = a0.standardAppearance;
const scrollEdgeAppearance = a0.scrollEdgeAppearance;
const scrollEdgeEffects = a0.scrollEdgeEffects;
const experimental_userInterfaceStyle = a0.experimental_userInterfaceStyle;
const style = a0.style;
const value10 = onDidAppear2(a0, onWillAppear2);
if (Module04513Module.freezeEnabled()) {
if (value7 !== freezeContents) {
r13 = freezeContents;
} else {
controlledBottomTabs = (require(4523) /* metro dependency 4523 */).featureFlags.experiment.controlledBottomTabs;
value11 = !property;
r13 = controlledBottomTabs ? property ? value11 : !r4 : value11;
}
} else {
r13 = value5;
}
binding = onDidDisappear2;
const value13 = binding.useCallback(_fun38736, [onWillAppear]);
const value14 = binding.useCallback(_fun38737, [onDidAppear]);
const value15 = binding.useCallback(_fun38738, [onWillDisappear]);
const value16 = binding.useCallback(_fun38739, [onDidDisappear]);
moduleValue2.bottomTabsDebugLog('TabsScreen [' + (value4.current ?? value3) + '] render; tabKey: ' + value10.tabKey + ' shouldFreeze: ' + r13 + ', isFocused: ' + r4 + ' nativeViewIsVisible: ' + property);
const iconsToNativeProps = parseIconsToNativeProps(icon);
const defaultImport = __INTERNAL_VIEW_CONFIG;
const Object = global.Object;
const assign = Object.assign;
object3 = {collapsable: value5};
object3.style = [style, env0_11.fillParent];
object3.onWillAppear = value13;
object3.onDidAppear = value14;
object3.onWillDisappear = value15;
object3.onDidDisappear = value16;
object3.isFocused = r4;
const object = {};
const mapAppearanceToNativePropBinding = mapAppearanceToNativeProp;
object.standardAppearance = mapAppearanceToNativePropBinding(standardAppearance);
object.scrollEdgeAppearance = mapAppearanceToNativePropBinding(scrollEdgeAppearance);
object.ref = value2;
object.bottomScrollEdgeEffect = scrollEdgeEffects == null ? value7 : scrollEdgeEffects.bottom;
object.leftScrollEdgeEffect = scrollEdgeEffects == null ? value7 : scrollEdgeEffects.left;
object.rightScrollEdgeEffect = scrollEdgeEffects == null ? value7 : scrollEdgeEffects.right;
object.topScrollEdgeEffect = scrollEdgeEffects == null ? value7 : scrollEdgeEffects.top;
object.isTitleUndefined = value10.title === null || value7 === value10.title;
object.userInterfaceStyle = experimental_userInterfaceStyle;
const object2 = {};
const Freeze = (FreezeModule).Freeze;
object2.children = (
<Freeze freeze={r13} placeholder={value10.placeholder}>
{value10.children}
</Freeze>
);
return ((Component) => <Component {...Reflect.apply(assign, Object, [object3, iconsToNativeProps, object, value10,
object2])} />)(defaultImport);
function _fun38735() { // fn#38735, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:1544, offset: 0x010c8d0f, size: 89 bytes, params: 1, frame: 13
var binding;
var value2;
if (env0_0.current != null) {
binding = env0_1;
value2 = environment.__proto__;
binding.current = findNodeHandle(env0_0.current) ?? -1;
} else {
env0_1.current = -1;
}
}
function _fun38736(a0) { // fn#38736, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:2150, offset: 0x010c8d68, size: 114 bytes, params: 2, frame: 17
let value = environment.__proto__;
value = require(4547) /* metro dependency 4547 */;
value.bottomTabsDebugLog('TabsScreen [' + env0_1.current + '] onWillAppear received');
env0_2(true);
if (onWillAppear != null) {
onWillAppear(a0);
}
}
function _fun38737(a0) { // fn#38737, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:2284, offset: 0x010c8dda, size: 103 bytes, params: 2, frame: 17
let value = environment.__proto__;
value = require(4547) /* metro dependency 4547 */;
value.bottomTabsDebugLog('TabsScreen [' + env0_1.current + '] onDidAppear received');
if (onDidAppear != null) {
onDidAppear(a0);
}
}
function _fun38738(a0) { // fn#38738, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:2411, offset: 0x010c8e41, size: 103 bytes, params: 2, frame: 17
let value = environment.__proto__;
value = require(4547) /* metro dependency 4547 */;
value.bottomTabsDebugLog('TabsScreen [' + env0_1.current + '] onWillDisappear received');
if (onWillDisappear != null) {
onWillDisappear(a0);
}
}
function _fun38739(a0) { // fn#38739, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:2542, offset: 0x010c8ea8, size: 114 bytes, params: 2, frame: 17
let value = environment.__proto__;
value = require(4547) /* metro dependency 4547 */;
value.bottomTabsDebugLog('TabsScreen [' + env0_1.current + '] onDidDisappear received');
env0_2(false);
if (onDidDisappear != null) {
onDidDisappear(a0);
}
}
function parseIconsToNativeProps(a0, a1) { // fn#38740, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4731:2828, owner: TabsScreen.parseIconsToNativeProps, offset: 0x010c8f1a, size: 221 bytes, params: 3, frame: 15
var type;
var value2;
var assetSource;
const value = undefined;
const r0 = (a0 == null ? value : a0.android) || (a0 == null ? value : a0.shared);
if (r0) {
type = r0.type;
if (type === 'imageSource') {
value2 = environment.__proto__;
assetSource = Image.resolveAssetSource(r0.imageSource);
if (!assetSource) {
global.console.error('[RNScreens] failed to resolve an asset for bottom tab icon');
}
return global.Object.assign({}, {imageIconResource: assetSource || value});
}
type = r0.type;
if (type === 'drawableResource') {
return global.Object.assign({}, {drawableIconResourceName: r0.name});
}
throw new global.Error('[RNScreens] Incorrect icon format for Android. You must provide `imageSource` or `drawableResource`.');
}
const Object = global.Object;
return Object.assign({}, {});
}
}
}
global.__d(_fun38730, 4553, [29, 57, 31, 27, 33, 4547, 4554, 4521, 4513,
4523]) /* metro module 4553, dependencies: [29, 57, 31, 27, 33, 4547, 4554, 4521, 4513, 4523] */;