matrix-react-sdk
Version:
SDK for matrix.org using React
48 lines (47 loc) • 1.39 kB
TypeScript
import React from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import { NotificationState } from "../../../stores/notifications/NotificationState";
import { IOOBData } from "../../../stores/ThreepidInviteStore";
interface IProps {
room: Room;
size: string;
displayBadge?: boolean;
/**
* If true, show nothing if the notification would only cause a dot to be shown rather than
* a badge. That is: only display badges and not dots. Default: false.
*/
hideIfDot?: boolean;
oobData?: IOOBData;
viewAvatarOnClick?: boolean;
tooltipProps?: {
tabIndex?: number;
};
}
interface IState {
notificationState?: NotificationState;
icon: Icon;
}
declare enum Icon {
None = "NONE",// ... except this one
Globe = "GLOBE",
PresenceOnline = "ONLINE",
PresenceAway = "AWAY",
PresenceOffline = "OFFLINE",
PresenceBusy = "BUSY"
}
export default class DecoratedRoomAvatar extends React.PureComponent<IProps, IState> {
private _dmUser;
private isUnmounted;
private isWatchingTimeline;
constructor(props: IProps);
componentWillUnmount(): void;
private get isPublicRoom();
private get dmUser();
private set dmUser(value);
private onRoomTimeline;
private onPresenceUpdate;
private getPresenceIcon;
private calculateIcon;
render(): React.ReactNode;
}
export {};