2022-02-09 00:17:07 +00:00
|
|
|
import { connect } from 'react-redux';
|
2023-05-23 15:15:17 +00:00
|
|
|
|
2022-02-09 00:17:07 +00:00
|
|
|
import { openDropdownMenu, closeDropdownMenu } from 'mastodon/actions/dropdown_menu';
|
|
|
|
import { fetchHistory } from 'mastodon/actions/history';
|
|
|
|
import DropdownMenu from 'mastodon/components/dropdown_menu';
|
|
|
|
|
2023-09-22 16:18:46 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param {import('mastodon/store').RootState} state
|
|
|
|
* @param {*} props
|
|
|
|
*/
|
2022-02-09 00:17:07 +00:00
|
|
|
const mapStateToProps = (state, { statusId }) => ({
|
2023-09-22 16:18:46 +00:00
|
|
|
openDropdownId: state.dropdownMenu.openId,
|
|
|
|
openedViaKeyboard: state.dropdownMenu.keyboard,
|
2022-02-09 00:17:07 +00:00
|
|
|
items: state.getIn(['history', statusId, 'items']),
|
|
|
|
loading: state.getIn(['history', statusId, 'loading']),
|
|
|
|
});
|
|
|
|
|
|
|
|
const mapDispatchToProps = (dispatch, { statusId }) => ({
|
|
|
|
|
2023-01-11 20:58:46 +00:00
|
|
|
onOpen (id, onItemClick, keyboard) {
|
2022-02-09 00:17:07 +00:00
|
|
|
dispatch(fetchHistory(statusId));
|
2023-09-22 16:18:46 +00:00
|
|
|
dispatch(openDropdownMenu({ id, keyboard }));
|
2022-02-09 00:17:07 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
onClose (id) {
|
2023-09-22 16:18:46 +00:00
|
|
|
dispatch(closeDropdownMenu({ id }));
|
2022-02-09 00:17:07 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(DropdownMenu);
|