Add tooltip to Room Tile Icon

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-07-15 16:46:39 +01:00
parent 113a0f1b5c
commit ae17cd3ec6
2 changed files with 22 additions and 1 deletions

View File

@ -22,6 +22,8 @@ import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import DMRoomMap from "../../../utils/DMRoomMap"; import DMRoomMap from "../../../utils/DMRoomMap";
import { MatrixClientPeg } from "../../../MatrixClientPeg"; import { MatrixClientPeg } from "../../../MatrixClientPeg";
import { isPresenceEnabled } from "../../../utils/presence"; import { isPresenceEnabled } from "../../../utils/presence";
import { _t } from "../../../languageHandler";
import TextWithTooltip from "../elements/TextWithTooltip";
enum Icon { enum Icon {
// Note: the names here are used in CSS class names // Note: the names here are used in CSS class names
@ -32,6 +34,19 @@ enum Icon {
PresenceOffline = "OFFLINE", PresenceOffline = "OFFLINE",
} }
function tooltipText(variant: Icon) {
switch (variant) {
case Icon.Globe:
return _t("Public Room");
case Icon.PresenceOnline:
return _t("Online");
case Icon.PresenceAway:
return _t("Away");
case Icon.PresenceOffline:
return _t("Offline");
}
}
interface IProps { interface IProps {
room: Room; room: Room;
tag: TagID; tag: TagID;
@ -145,6 +160,10 @@ export default class RoomTileIcon extends React.Component<IProps, IState> {
public render(): React.ReactElement { public render(): React.ReactElement {
if (this.state.icon === Icon.None) return null; if (this.state.icon === Icon.None) return null;
return <span className={`mx_RoomTileIcon mx_RoomTileIcon_${this.state.icon.toLowerCase()}`} />; return <TextWithTooltip
tooltip={tooltipText(this.state.icon)}
tooltipClass="mx_Tooltip_timeline"
class={`mx_RoomTileIcon mx_RoomTileIcon_${this.state.icon.toLowerCase()}`}
/>;
} }
} }

View File

@ -1239,6 +1239,8 @@
"Leave Room": "Leave Room", "Leave Room": "Leave Room",
"Forget Room": "Forget Room", "Forget Room": "Forget Room",
"Room options": "Room options", "Room options": "Room options",
"Public Room": "Public Room",
"Away": "Away",
"Add a topic": "Add a topic", "Add a topic": "Add a topic",
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.", "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.",
"This room has already been upgraded.": "This room has already been upgraded.", "This room has already been upgraded.": "This room has already been upgraded.",