feat: MessageSiteBan

This commit is contained in:
cha0s 2020-12-13 05:56:21 -06:00
parent e6cee7263e
commit b73687a9c5
2 changed files with 16 additions and 7 deletions

View File

@ -23,6 +23,7 @@ export default function Message(props) {
pending,
rejected,
timestamp,
uuid,
},
} = props;
const [undelivered, setUndelivered] = useState(false);
@ -56,10 +57,11 @@ export default function Message(props) {
<Markdown message={message} />
{isShort && $messageTime}
<Moderation
messageIsAdmin={false}
messageIsModerator={false}
userIsAdmin={false}
userIsModerator={false}
messageIsAdmin
messageIsModerator
userIsAdmin
userIsModerator
uuid={uuid}
/>
</div>
</div>
@ -74,5 +76,6 @@ Message.propTypes = {
pending: PropTypes.bool,
rejected: PropTypes.bool,
timestamp: PropTypes.number,
uuid: PropTypes.string,
}).isRequired,
};

View File

@ -1,17 +1,20 @@
import './index.scss';
import {useSocket} from '@latus/socket/client';
import PropTypes from 'prop-types';
import React from 'react';
import Actions from 'components/actions';
export default function ChatMessageModeration(props) {
export default function Moderation(props) {
const {
messageIsAdmin,
messageIsModerator,
userIsAdmin,
userIsModerator,
uuid,
} = props;
const socket = useSocket();
const actions = [];
if (messageIsAdmin) {
actions.push(['👑', 'Admin distinction', () => {}]);
@ -20,7 +23,9 @@ export default function ChatMessageModeration(props) {
actions.push(['🎩', 'Moderator distinction', () => {}]);
}
if (userIsAdmin) {
actions.push(['🛑', 'Site ban', () => {}]);
actions.push(['🛑', 'Site ban', () => {
socket.send(['MessageSiteBan', uuid]);
}]);
}
if (userIsModerator) {
actions.push(['🚫', 'Channel ban', () => {}]);
@ -35,9 +40,10 @@ export default function ChatMessageModeration(props) {
);
}
ChatMessageModeration.propTypes = {
Moderation.propTypes = {
messageIsAdmin: PropTypes.bool.isRequired,
messageIsModerator: PropTypes.bool.isRequired,
userIsAdmin: PropTypes.bool.isRequired,
userIsModerator: PropTypes.bool.isRequired,
uuid: PropTypes.string.isRequired,
};