// SPDX-License-Identifier: AGPL-3.0-or-later
import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants';
import {UserTag} from '@app/features/channel/components/ChannelUserTag';
import {CompactAuthorPrefix, CompactMessageLayout} from '@app/features/channel/components/CompactMessageLayout';
import {MessageAvatar} from '@app/features/channel/components/MessageAvatar';
import {MessageUsername} from '@app/features/channel/components/MessageUsername';
import {useMessageViewContext} from '@app/features/channel/components/MessageViewContext';
import {TimestampWithTooltip} from '@app/features/channel/components/TimestampWithTooltip';
import Guilds from '@app/features/guild/state/Guilds';
import GuildMembers from '@app/features/member/state/GuildMembers';
import {compactMarkdownProps} from '@app/features/theme/layout/MessageLayoutAttributes';
import markupStyles from '@app/features/theme/styles/Markup.module.css';
import styles from '@app/features/theme/styles/Message.module.css';
import Users from '@app/features/user/state/Users';
import * as DateUtils from '@app/features/user/utils/DateFormatting';
import {msg} from '@lingui/core/macro';
import {useLingui} from '@lingui/react/macro';
import {WarningCircleIcon} from '@phosphor-icons/react';
import {clsx} from 'clsx';
import {observer} from 'mobx-react-lite';
const UPDATE_PRODUCT_TO_VIEW_MESSAGE_DESCRIPTOR = msg({
message: 'Update {productName} to view this message.',
comment: 'Message placeholder shown when the app cannot render a newer message type.',
});
export const UnknownMessage = observer(() => {
const {i18n} = useLingui();
const {message, channel, shouldGroup, isHovering, messageDisplayCompact, previewContext, previewOverrides} =
useMessageViewContext();
const userAuthor = Users.getUser(message.author.id);
const author = message.webhookId != null ? message.author : (userAuthor ?? message.author);
const formattedDate = DateUtils.getRelativeDateString(message.timestamp, i18n);
const guild = Guilds.getGuild(channel.guildId ?? '');
const member = GuildMembers.getMember(guild?.id ?? '', author?.id ?? '');
const updateMessage = i18n._(UPDATE_PRODUCT_TO_VIEW_MESSAGE_DESCRIPTOR, {productName: PRODUCT_NAME});
if (messageDisplayCompact) {
return (