mirror of
https://github.com/stoatchat/for-legacy-web.git
synced 2026-03-09 02:05:28 +00:00
Independent tooltip for missing permissions.
This commit is contained in:
2
external/lang
vendored
2
external/lang
vendored
Submodule external/lang updated: 9406c734ca...03b206f608
@@ -1,3 +1,5 @@
|
|||||||
|
import { Text } from "preact-i18n";
|
||||||
|
import styled from "styled-components";
|
||||||
import { Children } from "../../types/Preact";
|
import { Children } from "../../types/Preact";
|
||||||
import Tippy, { TippyProps } from '@tippyjs/react';
|
import Tippy, { TippyProps } from '@tippyjs/react';
|
||||||
|
|
||||||
@@ -17,3 +19,24 @@ export default function Tooltip(props: Props) {
|
|||||||
</Tippy>
|
</Tippy>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PermissionTooltipBase = styled.div`
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: 'Fira Mono';
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
export function PermissionTooltip(props: Omit<Props, 'content'> & { permission: string }) {
|
||||||
|
const { permission, ...tooltipProps } = props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Tooltip content={<PermissionTooltipBase>
|
||||||
|
<Text id="app.permissions.required" />
|
||||||
|
<code>{ permission }</code>
|
||||||
|
</PermissionTooltipBase>} {...tooltipProps} />
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { ulid } from "ulid";
|
import { ulid } from "ulid";
|
||||||
import { Text } from "preact-i18n";
|
import { Text } from "preact-i18n";
|
||||||
import Tooltip from "../Tooltip";
|
import Tooltip, { PermissionTooltip } from "../Tooltip";
|
||||||
import { Channel } from "revolt.js";
|
import { Channel } from "revolt.js";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { defer } from "../../../lib/defer";
|
import { defer } from "../../../lib/defer";
|
||||||
@@ -90,9 +90,9 @@ function MessageBox({ channel, draft, dispatcher }: Props) {
|
|||||||
return (
|
return (
|
||||||
<Base>
|
<Base>
|
||||||
<Blocked>
|
<Blocked>
|
||||||
<Tooltip content={<div>Permissions Required<div>Send messages</div></div>} placement="top">
|
<PermissionTooltip permission="SendMessages" placement="top">
|
||||||
<ShieldX size={22}/>
|
<ShieldX size={22}/>
|
||||||
</Tooltip>
|
</PermissionTooltip>
|
||||||
<Text id="app.main.channel.misc.no_sending" />
|
<Text id="app.main.channel.misc.no_sending" />
|
||||||
</Blocked>
|
</Blocked>
|
||||||
</Base>
|
</Base>
|
||||||
|
|||||||
Reference in New Issue
Block a user