|
|
|
|
@ -8,6 +8,7 @@ import classNames from 'classnames';
|
|
|
|
|
import { quoteComposeById } from '@/mastodon/actions/compose_typed'; |
|
|
|
|
import { toggleReblog } from '@/mastodon/actions/interactions'; |
|
|
|
|
import { openModal } from '@/mastodon/actions/modal'; |
|
|
|
|
import { fetchStatus } from '@/mastodon/actions/statuses'; |
|
|
|
|
import { quickBoosting } from '@/mastodon/initial_state'; |
|
|
|
|
import type { ActionMenuItem } from '@/mastodon/models/dropdown_menu'; |
|
|
|
|
import type { Status } from '@/mastodon/models/status'; |
|
|
|
|
@ -111,6 +112,7 @@ const BoostOrQuoteMenu: FC<ReblogButtonProps> = ({ status, counters }) => {
|
|
|
|
|
|
|
|
|
|
const statusId = status.get('id') as string; |
|
|
|
|
const wasBoosted = !!status.get('reblogged'); |
|
|
|
|
const quoteApproval = status.get('quote_approval'); |
|
|
|
|
|
|
|
|
|
const showLoginPrompt = useCallback(() => { |
|
|
|
|
dispatch( |
|
|
|
|
@ -167,9 +169,16 @@ const BoostOrQuoteMenu: FC<ReblogButtonProps> = ({ status, counters }) => {
|
|
|
|
|
dispatch(toggleReblog(status.get('id'), true)); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (quoteApproval === null) { |
|
|
|
|
dispatch( |
|
|
|
|
fetchStatus(statusId, { forceFetch: true, alsoFetchContext: false }), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
}, |
|
|
|
|
[dispatch, isLoggedIn, showLoginPrompt, status], |
|
|
|
|
[dispatch, isLoggedIn, showLoginPrompt, status, quoteApproval, statusId], |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
|