import clsx from 'clsx'; import React from 'react'; import { FormattedMessage } from 'react-intl'; import Account from 'soapbox/components/account'; import AttachmentThumbs from 'soapbox/components/attachment-thumbs'; import StatusContent from 'soapbox/components/status-content'; import StatusReplyMentions from 'soapbox/components/status-reply-mentions'; import { HStack, Stack } from 'soapbox/components/ui'; import QuotedStatus from 'soapbox/features/status/containers/quoted-status-container'; import PollPreview from 'soapbox/features/ui/components/poll-preview'; import { useAppSelector } from 'soapbox/hooks'; import { buildStatus } from '../builder'; import DraftStatusActionBar from './draft-status-action-bar'; import type { DraftStatus as DraftStatusType } from 'soapbox/reducers/draft-statuses'; import type { Poll as PollEntity, Status as StatusEntity } from 'soapbox/types/entities'; interface IDraftStatus { draftStatus: DraftStatusType; } const DraftStatus: React.FC = ({ draftStatus, ...other }) => { const status = useAppSelector((state) => { if (!draftStatus) return null; return buildStatus(state, draftStatus); }) as StatusEntity | null; if (!status) return null; const account = status.account; let quote; if (status.quote) { if (status.pleroma.get('quote_visible', true) === false) { quote = (

); } else { quote = ; } } return (
} />
{status.media_attachments.size > 0 && ( )} {quote} {status.poll && }
); }; export default DraftStatus;