bigbuffet-rw/app/soapbox/containers/status_container.tsx

38 lines
1,021 B
TypeScript
Raw Normal View History

import React from 'react';
import Status, { IStatus } from 'soapbox/components/status';
import { useAppSelector } from 'soapbox/hooks';
import { makeGetStatus } from 'soapbox/selectors';
interface IStatusContainer extends Omit<IStatus, 'id'> {
id: string,
/** @deprecated Unused. */
contextType?: any,
/** @deprecated Unused. */
otherAccounts?: any,
/** @deprecated Unused. */
withDismiss?: any,
/** @deprecated Unused. */
getScrollPosition?: any,
/** @deprecated Unused. */
updateScrollBottom?: any,
}
const getStatus = makeGetStatus();
/**
* Legacy Status wrapper accepting a status ID instead of the full entity.
* @deprecated Use the Status component directly.
*/
const StatusContainer: React.FC<IStatusContainer> = ({ id, onMoveUp, onMoveDown }) => {
const status = useAppSelector(state => getStatus(state, { id }));
if (status) {
return <Status status={status} onMoveUp={onMoveUp} onMoveDown={onMoveDown} />;
} else {
return null;
}
};
export default StatusContainer;