|
|
@ -38,6 +38,8 @@ const messages = defineMessages({
|
|
|
|
blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
|
|
|
|
blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' },
|
|
|
|
blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
|
|
|
|
blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },
|
|
|
|
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
|
|
|
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
|
|
|
|
|
|
|
bookmarkSetFolder: { id: 'status.bookmark_folder', defaultMessage: 'Set bookmark folder' },
|
|
|
|
|
|
|
|
bookmarkChangeFolder: { id: 'status.bookmark_folder_change', defaultMessage: 'Change bookmark folder' },
|
|
|
|
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Un-repost' },
|
|
|
|
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Un-repost' },
|
|
|
|
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be reposted' },
|
|
|
|
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be reposted' },
|
|
|
|
chat: { id: 'status.chat', defaultMessage: 'Chat with @{name}' },
|
|
|
|
chat: { id: 'status.chat', defaultMessage: 'Chat with @{name}' },
|
|
|
@ -112,6 +114,7 @@ interface IStatusActionBar {
|
|
|
|
expandable?: boolean;
|
|
|
|
expandable?: boolean;
|
|
|
|
space?: 'sm' | 'md' | 'lg';
|
|
|
|
space?: 'sm' | 'md' | 'lg';
|
|
|
|
statusActionButtonTheme?: 'default' | 'inverse';
|
|
|
|
statusActionButtonTheme?: 'default' | 'inverse';
|
|
|
|
|
|
|
|
fromBookmarks?: boolean;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|
|
|
const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|
|
@ -120,6 +123,7 @@ const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|
|
|
expandable = true,
|
|
|
|
expandable = true,
|
|
|
|
space = 'sm',
|
|
|
|
space = 'sm',
|
|
|
|
statusActionButtonTheme = 'default',
|
|
|
|
statusActionButtonTheme = 'default',
|
|
|
|
|
|
|
|
fromBookmarks = false,
|
|
|
|
}) => {
|
|
|
|
}) => {
|
|
|
|
const intl = useIntl();
|
|
|
|
const intl = useIntl();
|
|
|
|
const history = useHistory();
|
|
|
|
const history = useHistory();
|
|
|
@ -201,6 +205,12 @@ const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|
|
|
dispatch(toggleBookmark(status));
|
|
|
|
dispatch(toggleBookmark(status));
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleBookmarkFolderClick = () => {
|
|
|
|
|
|
|
|
dispatch(openModal('SELECT_BOOKMARK_FOLDER', {
|
|
|
|
|
|
|
|
statusId: status.id,
|
|
|
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const handleExternalClick = () => {
|
|
|
|
const handleExternalClick = () => {
|
|
|
|
window.open(status.uri, '_blank');
|
|
|
|
window.open(status.uri, '_blank');
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -453,6 +463,14 @@ const StatusActionBar: React.FC<IStatusActionBar> = ({
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (features.bookmarkFolders && fromBookmarks) {
|
|
|
|
|
|
|
|
menu.push({
|
|
|
|
|
|
|
|
text: intl.formatMessage(status.pleroma.get('bookmark_folder') ? messages.bookmarkChangeFolder : messages.bookmarkSetFolder),
|
|
|
|
|
|
|
|
action: handleBookmarkFolderClick,
|
|
|
|
|
|
|
|
icon: require('@tabler/icons/outline/folders.svg'),
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (features.federating && !account.local) {
|
|
|
|
if (features.federating && !account.local) {
|
|
|
|
const { hostname: domain } = new URL(status.uri);
|
|
|
|
const { hostname: domain } = new URL(status.uri);
|
|
|
|
menu.push({
|
|
|
|
menu.push({
|
|
|
|