decord/beta/source/modules/panels/isChannelFocused.native.tsx
2026-10-12 16:32:48 +00:00

259 lines
8.2 KiB
TypeScript

// Module ID: 6072
// Function ID: 6073
// Name: isChannelFocused
// Dependencies: [32, 19, 6036, 6073, 6074, 4978, 4976, 4977, 4979, 6075, 558, 576, 2]
// Exports: isChannelFocused, isChannelFocusedForReadStateAck
// Module 6072 (isChannelFocused)
import NavigationRouteUtils from "NavigationRouteUtils" /* 4976 */;
import RootNavigationRef from "RootNavigationRef" /* 4977 */;
import getInitialNavigationStateDefault from "getInitialNavigationState" /* 4978 */;
import useChatLayout from "useChatLayout" /* 4979 */;
import NavigationHistoryStore2 from "NavigationHistoryStore" /* 6073 */;
import getChannelDetailsFromRouteDefault from "getChannelDetailsFromRoute" /* 6075 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import react from "react" /* 19 */;
import ChannelRTCStore from "ChannelRTCStore" /* 6036 */;
import VoicePanelStore from "VoicePanelStore" /* 6074 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
const useChatLayoutDefault = useChatLayout;
const NavigationHistoryStore = NavigationHistoryStore2;
function getFocusedChannelId() {
const obj = RootNavigationRef;
const rootNavigationRef = obj.getRootNavigationRef();
const obj3 = useChatLayout;
const isChatLockedOpen = obj3.getChatLayout().isChatLockedOpen;
if (null != rootNavigationRef) {
if (rootNavigationRef.isReady()) {
const tmp4 = getChannelDetailsFromRouteDefault;
return _slicedToArray(tmp4(rootNavigationRef.getCurrentRoute(), isChatLockedOpen), 2)[1];
}
}
let tmp6 = channelId1;
if (null === channelId1) {
const tmp21 = getInitialNavigationStateDefault();
let tmp7;
const coerceMainRoute = NavigationRouteUtils.coerceMainRoute;
NavigationRouteUtils;
if (tmp21 != null) {
const routes = tmp21.routes;
if (routes != null) {
let num2;
if (tmp21 != null) {
num2 = tmp21.index;
}
if (num2 == null) {
num2 = 0;
}
tmp7 = routes[num2];
}
}
const coerceMainRouteResult = coerceMainRoute(tmp7);
let tmp9;
if (null != coerceMainRouteResult) {
const tmpResult3 = NavigationRouteUtils;
if (isChatLockedOpen) {
const state3 = coerceMainRouteResult.state;
let tmp14;
const coerceTabsRoute = tmpResult3.coerceTabsRoute;
if (state3 != null) {
const routes3 = state3.routes;
if (routes3 != null) {
const state4 = coerceMainRouteResult.state;
let num4;
if (state4 != null) {
num4 = state4.index;
}
if (num4 == null) {
num4 = 0;
}
tmp14 = routes3[num4];
}
}
const coerceTabsRouteResult = coerceTabsRoute(tmp14);
if (null != coerceTabsRouteResult) {
const state5 = coerceTabsRouteResult.state;
let tmp17;
const coerceGuildsRoute = NavigationRouteUtils.coerceGuildsRoute;
NavigationRouteUtils;
if (state5 != null) {
const routes4 = state5.routes;
if (routes4 != null) {
const state6 = coerceTabsRouteResult.state;
let num5;
if (state6 != null) {
num5 = state6.index;
}
if (num5 == null) {
num5 = 0;
}
tmp17 = routes4[num5];
}
}
const coerceGuildsRouteResult = coerceGuildsRoute(tmp17);
if (null != coerceGuildsRouteResult) {
const params2 = coerceGuildsRouteResult.params;
let channelId;
if (params2 != null) {
channelId = params2.channelId;
}
tmp9 = channelId;
}
}
} else {
const state = coerceMainRouteResult.state;
let tmp11;
const coerceChannelRoute = tmpResult3.coerceChannelRoute;
if (state != null) {
const routes2 = state.routes;
if (routes2 != null) {
const state2 = coerceMainRouteResult.state;
let num3;
if (state2 != null) {
num3 = state2.index;
}
if (num3 == null) {
num3 = 0;
}
tmp11 = routes2[num3];
}
}
const coerceChannelRouteResult = coerceChannelRoute(tmp11);
if (null != coerceChannelRouteResult) {
const params = coerceChannelRouteResult.params;
channelId1 = undefined;
if (params != null) {
channelId1 = params.channelId;
}
tmp9 = channelId1;
}
}
}
channelId1 = tmp9;
tmp6 = tmp9;
}
return tmp6;
}
const CHANNEL_PREFIX = NavigationHistoryStore2.CHANNEL_PREFIX;
let channelId1 = null;
function isChannelFocused() {
return null != getFocusedChannelId();
}
const tmp2 = ReactCompilerGating.isReactCompilerEnabled() ? (function useIsChannelFocused() {
let closure_0;
let first;
let first1;
let tmp10;
let tmp11;
let tmp7;
let tmp8;
let obj = require("react");
const cResult = obj.c(6);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const fn = function s() {
return null != getFocusedChannelId();
};
cResult[0] = fn;
first = fn;
} else {
first = cResult[0];
}
[first1, _require] = react.useState(first);
const tmp6 = useChatLayoutDefault();
if (cResult[1] === Symbol.for("react.memo_cache_sentinel")) {
const fn2 = function o() {
closure_0(null != getFocusedChannelId());
};
cResult[1] = fn2;
tmp7 = fn2;
} else {
tmp7 = cResult[1];
}
if (cResult[2] !== tmp6) {
const items = [tmp6];
cResult[2] = tmp6;
cResult[3] = items;
tmp8 = items;
} else {
tmp8 = cResult[3];
}
const effect = obj2.useEffect(tmp7, tmp8);
if (cResult[4] === Symbol.for("react.memo_cache_sentinel")) {
const fn3 = function c() {
const obj = closure_0(dependencyMap[7]);
const rootNavigationRef = obj.getRootNavigationRef();
if (null != rootNavigationRef) {
function handleStateChange() {
rootNavigationRef(null != getFocusedChannelId());
}
rootNavigationRef.addListener("state", handleStateChange);
return () => {
rootNavigationRef.removeListener("state", handleStateChange);
};
}
};
const items1 = [];
cResult[4] = fn3;
cResult[5] = items1;
tmp11 = items1;
tmp10 = fn3;
} else {
tmp10 = cResult[4];
tmp11 = cResult[5];
}
const effect1 = obj2.useEffect(tmp10, tmp11);
return first1;
}) : (function useIsChannelFocused() {
let closure_0;
let first;
[first, closure_0] = react.useState(() => null != getFocusedChannelId());
const items = [useChatLayoutDefault()];
const effect = react.useEffect(() => {
closure_0(null != getFocusedChannelId());
}, items);
const effect1 = react.useEffect(() => {
function handleStateChange() {
rootNavigationRef(null != getFocusedChannelId());
}
const obj = closure_0(dependencyMap[7]);
const rootNavigationRef = obj.getRootNavigationRef();
if (null != rootNavigationRef) {
rootNavigationRef.addListener("state", handleStateChange);
return () => {
rootNavigationRef.removeListener("state", handleStateChange);
};
}
}, []);
return first;
});
const result = size.fileFinishedImporting("modules/panels/isChannelFocused.native.tsx");
export { getFocusedChannelId };
export { isChannelFocused };
export const useIsChannelFocused = tmp2;
export const isChannelFocusedForReadStateAck = function isChannelFocusedForReadStateAck(channelId, arg1) {
if (ChannelRTCStore.getChatOpen(channelId)) {
return true;
} else {
const state = VoicePanelStore.getState();
if (state.isVoicePanelFullscreen()) {
return false;
} else if (getFocusedChannelId() === channelId) {
return true;
} else {
if (null != arg1) {
const lastFocusedTimestampForHistoryItem = NavigationHistoryStore.getLastFocusedTimestampForHistoryItem(CHANNEL_PREFIX + channelId);
if (null != lastFocusedTimestampForHistoryItem) {
if (lastFocusedTimestampForHistoryItem >= arg1) {
return true;
}
}
}
return false;
}
}
};