Files
discord-decomp/sources/components_native/ChannelContainer.tsx
T
2026-07-28 01:06:53 +03:00

128 lines
7.3 KiB
TypeScript

/* Metro module 10903; source: components_native/ChannelContainer.tsx; dependencies: [31, 27, 3785, 1379, 1934, 661, 1376, 33, 4501, 4010, 10904, 566, 10659, 6266, 3968, 1365, 11259, 11260, 10749, 2] */
import ChannelStore from '../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import SelectedChannelStore from '../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */
import LurkingStore from '../modules/lurker_mode/LurkingStore.tsx'; /* Metro dependency 3785 */
import UsePrevious from '../hooks/usePrevious.tsx'; /* Metro dependency 6266 */
import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
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 FluxModule from '../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */
import * as DismissibleContentConstantsModule from '../modules/dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
import * as CreateStylesModule from '../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as UseChannelStylesSharedModule from './useChannelStylesShared.tsx'; /* Metro dependency 11259 */
function _fun83461(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#83461, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:6, offset: 0x01f1b92d, size: 321 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_12 = (CreateStylesModule).createStyles({container: {'position': 'absolute',
'left': 0, 'right': 0, 'backgroundColor': 'transparent', 'marginTop': 8}});
(FileImportTrackerModule).fileFinishedImporting('components_native/ChannelContainer.tsx');
exports.ChannelContainer = ChannelContainer;
function NotificationsContainer() { // fn#83462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:351, offset: 0x01f1ba6e, size: 111 bytes, params: 1, frame: 18
var r0;
var value;
const styles = useStyles();
if ((importDefault(4010) /* metro dependency 4010: useChatLayout */)().isChatBesideChannelList) {
var viewBindingProps = {style: styles.container};
value = importDefault(10904) /* metro dependency 10904: Notifications */;
value = (
<View {...viewBindingProps}>
{((Component) => <Component />)(value)}
</View>
);
r0 = value;
} else {
r0 = null;
}
return r0;
}
function ChannelContainer({guildId, channelId, children}) { // fn#83463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:582, offset: 0x01f1badd, size: 553 bytes, params: 2, frame: 25
const {channel, voiceChannelId,
isStageChannel} = (FluxModule).useStateFromStoresObject([SelectedChannelStore,
ChannelStore], _fun83464);
let r8 = isStageChannel ? (importDefault(10659) /* metro dependency 10659: useCanSpeakInChannel */)(voiceChannelId) : !isStageChannel;
const value6 = (FluxModule).useStateFromStores([LurkingStore], _fun83465);
const r12 = channel != null && channel.isPrivate();
const value9 = (UsePrevious)(r12);
value9.useEffect(_fun83466, [channelId, (UsePrevious)(channelId),
r12, value9]);
const value11 = (UseChannelStylesSharedModule).useChannelStyles();
const scene = value11.scene;
const flex = value11.flex;
const type = channel?.type;
const GUILD_ANNOUNCEMENT = ChannelTypes.GUILD_ANNOUNCEMENT;
const r10 = (
type !== GUILD_ANNOUNCEMENT
? null
: (
value6
? ((Component) => <Component channel={channel} />)(importDefault(11260) /* metro dependency 11260: AnnouncementChannelLurkerBar */)
: null
)
);
r8 = r8 && ((Component) => <Component style={value11.callPTTButton} />)(importDefault(10749) /* metro dependency 10749: CallPTTButton */);
return (
<View style={scene}>
<View style={flex}>
{r10}
{children}
{r8}
</View>
<NotificationsContainer />
</View>
);
function _fun83464() { // fn#83464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:691, offset: 0x01f1bd06, size: 102 bytes, params: 1, frame: 14
var r1;
let value = environment.__proto__;
const voiceChannelId = SelectedChannelStore.getVoiceChannelId();
const object = {};
const channelStoreBinding = ChannelStore;
object.channel = channelStoreBinding.getChannel(channelId);
object.voiceChannelId = voiceChannelId;
const Boolean = global.Boolean;
value = channelStoreBinding.getChannel(voiceChannelId);
if (value == null) {
r1 = undefined;
} else {
value = value.isGuildStageVoice();
r1 = value;
}
object.isStageChannel = Boolean(r1);
return object;
}
function _fun83465() { // fn#83465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:964, offset: 0x01f1bd6c, size: 40 bytes, params: 1, frame: 12
return guildId != null && LurkingStore.isLurking(guildId);
}
function _fun83466() { // fn#83466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11089:1060, offset: 0x01f1bd94, size: 134 bytes, params: 1, frame: 16
var r1;
var moduleValue;
var value;
let r0 = ReactModule && !env0_2;
if (!r0) {
r1 = ReactModule && env0_2;
r1 = r1 && channelId !== ReactNativeModule.View;
r0 = r1;
}
if (r0) {
value = environment.__proto__;
moduleValue = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.ACTIVITY_GDM_CALL_TOOLTIP,
{dismissAction: ContentDismissActionType.AUTO});
}
}
}
}
global.__d(_fun83461, 10903, [31, 27, 3785, 1379, 1934, 661, 1376, 33, 4501, 4010, 10904, 566, 10659, 6266, 3968,
1365, 11259, 11260, 10749,
2]) /* metro module 10903, dependencies: [31, 27, 3785, 1379, 1934, 661, 1376, 33, 4501, 4010, 10904, 566, 10659, 6266, 3968, 1365, 11259, 11260, 10749, 2] */;