Files
discord-decomp/sources/modules/keyboard/native/PortalKeyboardRenderer.tsx
T
2026-07-28 01:06:53 +03:00

118 lines
8.6 KiB
TypeScript

/* Metro module 15143; source: modules/keyboard/native/PortalKeyboardRenderer.tsx; dependencies: [31, 1480, 33, 4508, 4022, 1583, 477, 15144, 4023, 4008, 5225, 10915, 1482, 4026, 2] */
import SubscribeToKeyboardUIStore from './subscribeToKeyboardUIStore.tsx'; /* Metro dependency 1480 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as PlatformUtilsModule from '../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */
import * as KeyboardTypesModule from './KeyboardTypes.tsx'; /* Metro dependency 1583 */
import * as PortalKeyboardUIStoreNativeModule from './PortalKeyboardUIStore.native.tsx'; /* Metro dependency 4023 */
import * as TransitionGroupModule from '../../../design/components/TransitionGroup/TransitionGroup.tsx'; /* Metro dependency 4508 */
function _fun115462(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#115462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:6, offset: 0x02461631, size: 188 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_6 = [];
const transitionGroupGetItemKey = function(a0) {
return a0.id;
};
(FileImportTrackerModule).fileFinishedImporting('modules/keyboard/native/PortalKeyboardRenderer.tsx');
exports.PortalKeyboardRenderer = PortalKeyboardRenderer;
function transitionGroupRenderItem(a0, a1, a2, a3) { // fn#115464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:199, offset: 0x024616ed, size: 200 bytes, params: 5, frame: 18
var r0;
var value;
const TransitionStates = (TransitionGroupModule).TransitionStates;
const YEETED = TransitionStates.YEETED;
if (a2 === YEETED && (require(4022) /* metro dependency 4022: useKeyboardType */).getKeyboardType() === (require(1583) /* metro dependency 1583: KeyboardTypes */).KeyboardTypes.SYSTEM && (require(477) /* metro dependency 477: PlatformUtils */).isAndroid()) {
r0 = null;
} else {
value = importDefault(15144) /* metro dependency 15144: PortalKeyboardRendererComponent */;
value = ((Component) => <Component item={a1} state={a2} cleanUp={a3} key={a0} />)(value);
r0 = value;
}
return r0;
}
function PortalKeyboardRenderer({portal}) { // fn#115465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:525, offset: 0x024617b5, size: 388 bytes, params: 2, frame: 20
portal = portal === undefined || portal;
const value2 = ReactModule.useId();
ReactModule.useLayoutEffect(_fun115466, [value2]);
ReactModule.useLayoutEffect(function() {
var env0_0 = SubscribeToKeyboardUIStore(_fun115468);
return _fun115469;
}, []);
ReactModule.useLayoutEffect(_fun115470, []);
const PortalKeyboardUIStore = (PortalKeyboardUIStoreNativeModule).PortalKeyboardUIStore;
const value3 = PortalKeyboardUIStore.useField('keyboard');
const value4 = PortalKeyboardUIStore.useField('renderers');
const value7 = ReactModule.useMemo(_fun115473, [value4.length === 0 || value4[value4.length - 1] === value2, value3]);
const r2 = portal ? (require(4026) /* metro dependency 4026: PortalKeyboard */).PortalKeyboard : ReactModule.Fragment;
const TransitionGroup = (TransitionGroupModule).TransitionGroup;
return ((Component) => <Component><TransitionGroup items={value7} getItemKey={transitionGroupGetItemKey} renderItem={transitionGroupRenderItem} /></Component>)(r2);
function _fun115466() { // fn#115466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:607, offset: 0x02461939, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (PortalKeyboardUIStoreNativeModule).registerPortalKeyboardRenderer(env0_0);
}
function _fun115467() { // fn#115467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:678, offset: 0x02461966, size: 36 bytes, params: 1, frame: 12
const env0_0 = SubscribeToKeyboardUIStore(_fun115468);
return _fun115469;
function _fun115468() { // fn#115468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:692, offset: 0x0246198a, size: 118 bytes, params: 1, frame: 16
const value = environment.__proto__.__proto__;
const PortalKeyboardUIStore = (require(4023) /* metro dependency 4023: PortalKeyboardUIStoreNative */).PortalKeyboardUIStore;
const field = PortalKeyboardUIStore.getField('keyboard');
if (field != null && (require(4022) /* metro dependency 4022: useKeyboardType */).getKeyboardType() !== field.type) {
(require(4023) /* metro dependency 4023: PortalKeyboardUIStoreNative */).closePortalKeyboardIfUnhandled();
}
}
function _fun115469() { // fn#115469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:853, offset: 0x02461a00, size: 48 bytes, params: 1, frame: 12
env0_0();
const value = environment.__proto__.__proto__;
(PortalKeyboardUIStoreNativeModule).closePortalKeyboardIfUnhandled();
}
}
function _fun115470() { // fn#115470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:929, offset: 0x02461a30, size: 118 bytes, params: 1, frame: 14
var environment;
let value = environment.__proto__;
if (PlatformUtilsModule.isAndroid()) {
value = require(4008) /* metro dependency 4008: RootNavigationRefNative */;
value = value.getRootNavigationRef();
if (value != null) {
value.addListener('state', onNavigationStateChange);
return _fun115472;
}
}
function onNavigationStateChange() { // fn#115471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:1035, offset: 0x02461aa6, size: 283 bytes, params: 1, frame: 17
const KeyboardTypes = (KeyboardTypesModule).KeyboardTypes;
const value = environment.__proto__.__proto__;
const PortalKeyboardUIStore = (require(4023) /* metro dependency 4023: PortalKeyboardUIStoreNative */).PortalKeyboardUIStore;
const field = PortalKeyboardUIStore.getField('keyboard');
if (field != null && field.channelId !== (require(5225) /* metro dependency 5225: FakePlaceholderPrivateChannel */).FAKE_PLACEHOLDER_PRIVATE_CHANNEL_ID && (require(10915) /* metro dependency 10915: isChannelFocusedNative */).getFocusedChannelId() !== field.channelId) {
if ((require(4022) /* metro dependency 4022: useKeyboardType */).getKeyboardType() !== KeyboardTypes.SYSTEM) {
(require(1482) /* metro dependency 1482: KeyboardUIStoreNative */).setKeyboardType({type: KeyboardTypes.SYSTEM});
}
(require(4023) /* metro dependency 4023: PortalKeyboardUIStoreNative */).closePortalKeyboardIfUnhandled();
}
}
function _fun115472() { // fn#115472, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:1430, offset: 0x01f2274a, size: 31 bytes, params: 1, frame: 13
const binding = env0_0;
binding.removeListener('state', onNavigationStateChange);
}
}
function _fun115473() { // fn#115473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15340:1652, offset: 0x02461bc1, size: 46 bytes, params: 1, frame: 3
return env0_1 == null ? env1_6 : env0_2 ? [env0_1] : env1_6;
}
}
}
global.__d(_fun115462, 15143, [31, 1480, 33, 4508, 4022, 1583, 477, 15144, 4023, 4008, 5225, 10915, 1482, 4026,
2]) /* metro module 15143, dependencies: [31, 1480, 33, 4508, 4022, 1583, 477, 15144, 4023, 4008, 5225, 10915, 1482, 4026, 2] */;