TelegramPWA/src/components/common/GroupCallLink.tsx
2022-03-19 21:19:11 +01:00

37 lines
862 B
TypeScript

import React, { FC, useCallback } from '../../lib/teact/teact';
import { ApiGroupCall } from '../../api/types';
import buildClassName from '../../util/buildClassName';
import Link from '../ui/Link';
import { getActions } from '../../global';
type OwnProps = {
className?: string;
groupCall?: Partial<ApiGroupCall>;
children: React.ReactNode;
};
const GroupCallLink: FC<OwnProps> = ({
className, groupCall, children,
}) => {
const { joinGroupCall } = getActions();
const handleClick = useCallback(() => {
if (groupCall) {
joinGroupCall({ id: groupCall.id, accessHash: groupCall.accessHash });
}
}, [groupCall, joinGroupCall]);
if (!groupCall) {
return children;
}
return (
<Link className={buildClassName('GroupCallLink', className)} onClick={handleClick}>{children}</Link>
);
};
export default GroupCallLink;