// Metro module 10191 (f10192). import * as Module19 from "react"; import { useMemo, useCallback } from "react"; import { View } from "react-native"; import { createChannelRecordFromInvite } from "../../../records/ChannelRecord"; import { Routes } from "../../../Constants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import { useGetOrFetchApplication } from "../../applications/useGetOrFetchApplications"; import { useCanUnlinkLobbyChannel } from "../../lobbies/LobbyUtils"; import useShowUnlinkChannelAlert from "../../integration_settings/native/useShowUnlinkChannelAlert"; import AlertActionCreators from "../../../actions/native/AlertActionCreators"; import { intl, t } from "../../../intl/index.native"; import { ArrowSmallRightIcon } from "../../../design/components/Icon/native/redesign/generated/ArrowSmallRightIcon"; import { transitionTo } from "../../routing/router_utils"; import InstantInviteIcons from "./InstantInviteIcons"; import { Card } from "../../../design/components/Card/native/Card.native"; import { Stack } from "../../../design/components/Stack/native/Stack.native"; import GameIcon, { GameIconSizes } from "../../game_detection/native/GameIcon"; import { Text } from "../../../design/components/Text/native/Text"; import { ContextMenu } from "../../../design/components/ContextMenu/native/ContextMenu.native"; import { IconButton } from "../../../design/components/Button/native/IconButton.native"; import { InstantInviteDetails } from "./InstantInviteCode"; import DetailedGuildIdentityUserRow from "../../guild_settings/native/DetailedGuildIdentityUserRow"; import { useInviteActions } from "./InstantInviteUtils"; import InviteRolesDisplay from "../../instant_invite/native/InviteRolesDisplay"; import InstantInviteUsesLabel from "./InstantInviteUsesLabel"; const useStyles = createStyles({ creatorWrapper: { marginLeft: -16, marginBottom: -16, marginTop: 8, flex: 1 }, gameWrapper: { flex: 1, flexDirection: "row", alignItems: "center", gap: 8 }, gameText: { flex: 1 } }); const r38 = Module19.memo(function({ invite, onInviteRevoked }) { const styles = useStyles(); const { uses, maxUses } = invite; const id = invite.guild?.id; const memo2 = useMemo(() => createChannelRecordFromInvite(invite.channel), [invite]); const inviteActions = useInviteActions({ invite, onInviteRevoked }); const memo = useMemo(() => invite.roles.map((role) => role.id), [invite.roles]); let r36 = memo.length > 0 && id != null; const r57 = [ {invite.code} {({ ref, ...props }) => } , , , ,]; if (r36) { r36 = ; } r57[2] = r36; r57[3] = {invite.inviter?.id != null ? : null} ; return {r57}; }); export default r38; export function LinkedChannelInvite(props) { const channel = props.channel; const styles = useStyles(); const linked_by = channel.linkedLobby?.linked_by; const getOrFetchApplication = useGetOrFetchApplication(channel.linkedLobby?.application_id); const canUnlinkLobbyChannel = useCanUnlinkLobbyChannel(channel); const id = channel.id; let r35 = getOrFetchApplication?.name; if (r35 == null) { r35 = ""; } const showUnlinkChannelAlert = useShowUnlinkChannelAlert(id, r35); let c17756_2 = showUnlinkChannelAlert; const callback = useCallback(() => { if (canUnlinkLobbyChannel) { c17756_2(); } else { AlertActionCreators.show({ title: intl.string(t.JmUENg), body: intl.string(t.SrvsML) }); } }, [canUnlinkLobbyChannel, showUnlinkChannelAlert]); return {getOrFetchApplication?.name} [{ label: intl.string(t.aW2YlJ), IconComponent: ArrowSmallRightIcon, action: () => { transitionTo(Routes.CHANNEL(channel.guild_id, channel.id)); } }, { label: intl.string(t.JmUENg), iconSource: InstantInviteIcons.revoke, variant: "destructive", action: callback }], [channel.guild_id, channel.id, callback])}> {({ ref, ...props }) => } {linked_by != null ? : null} ; }