matrix-react-sdk
Version:
SDK for matrix.org using React
48 lines (47 loc) • 1.59 kB
TypeScript
import React, { ReactNode } from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import { SDKContext } from "../../contexts/SDKContext";
interface IProps {
isPanelCollapsed: boolean;
children?: ReactNode;
}
type PartialDOMRect = Pick<DOMRect, "width" | "left" | "top" | "height">;
interface IState {
contextMenuPosition: PartialDOMRect | null;
isDarkTheme: boolean;
isHighContrast: boolean;
selectedSpace?: Room | null;
showLiveAvatarAddon: boolean;
}
export default class UserMenu extends React.Component<IProps, IState> {
static contextType: React.Context<import("../../contexts/SDKContext").SdkContextClass>;
context: React.ContextType<typeof SDKContext>;
private dispatcherRef?;
private themeWatcherRef?;
private readonly dndWatcherRef?;
private buttonRef;
constructor(props: IProps, context: React.ContextType<typeof SDKContext>);
private get hasHomePage();
private onCurrentVoiceBroadcastRecordingChanged;
componentDidMount(): void;
componentWillUnmount(): void;
private isUserOnDarkTheme;
private isUserOnHighContrastTheme;
private onProfileUpdate;
private onSelectedSpaceUpdate;
private onThemeChanged;
private onAction;
private onOpenMenuClick;
private onContextMenu;
private onCloseMenu;
private onSwitchThemeClick;
private onSettingsOpen;
private onProvideFeedback;
private onSignOutClick;
private onSignInClick;
private onRegisterClick;
private onHomeClick;
private renderContextMenu;
render(): React.ReactNode;
}
export {};