import React from 'react'; import { defineMessages, useIntl } from 'react-intl'; import { changeStatusLanguage } from 'soapbox/actions/statuses'; import { type Language, languages } from 'soapbox/features/preferences'; import { useAppDispatch } from 'soapbox/hooks'; import DropdownMenu from './dropdown-menu'; import { HStack, Icon, Text } from './ui'; import type { Status } from 'soapbox/normalizers'; const messages = defineMessages({ languageVersions: { id: 'status.language_versions', defaultMessage: 'The post has multiple language versions.' }, }); interface IStatusLanguagePicker { status: Pick; showLabel?: boolean; } const StatusLanguagePicker: React.FC = ({ status, showLabel }) => { const intl = useIntl(); const dispatch = useAppDispatch(); if (!status.contentMapHtml || Object.keys(status.contentMapHtml).length < 2) return null; const icon = ; return ( <> · ({ text: languages[language as Language] || language, action: () => dispatch(changeStatusLanguage(status.id, language)), active: language === status.currentLanguage, }))} > ); }; export { StatusLanguagePicker as default, };