TelegramPWA/src/components/common/MessageOutgoingStatus.tsx
2024-04-19 13:37:34 +04:00

34 lines
848 B
TypeScript

import type { FC } from '../../lib/teact/teact';
import React, { memo } from '../../lib/teact/teact';
import type { ApiMessageOutgoingStatus } from '../../api/types';
import Transition from '../ui/Transition';
import Icon from './Icon';
import './MessageOutgoingStatus.scss';
type OwnProps = {
status: ApiMessageOutgoingStatus;
};
enum Keys {
failed, pending, succeeded, read,
}
const MessageOutgoingStatus: FC<OwnProps> = ({ status }) => {
return (
<div className="MessageOutgoingStatus">
<Transition name="reveal" activeKey={Keys[status]}>
{status === 'failed' ? (
<div className="MessageOutgoingStatus--failed">
<Icon name="message-failed" />
</div>
) : <Icon name={`message-${status}`} />}
</Transition>
</div>
);
};
export default memo(MessageOutgoingStatus);