ea74a66dbd
* initial support for block/mute * hide blocked + muted content everywhere * add info message for blocked/muted characteristics * sort blocked list by most recent block first * add 'blocked' message on channel page for channels that you have blocked * cleanup * delete unused files * always pass mute/block list to claim_search on homepage * PR cleanup
41 lines
900 B
JavaScript
41 lines
900 B
JavaScript
// @flow
|
|
import React from 'react';
|
|
import Button from 'component/button';
|
|
|
|
type Props = {
|
|
uri: string,
|
|
isBlocked: boolean,
|
|
isBlockingOrUnBlocking: boolean,
|
|
doCommentModUnBlock: (string) => void,
|
|
doCommentModBlock: (string) => void,
|
|
};
|
|
|
|
function ChannelBlockButton(props: Props) {
|
|
const { uri, doCommentModUnBlock, doCommentModBlock, isBlocked, isBlockingOrUnBlocking } = props;
|
|
|
|
function handleClick() {
|
|
if (isBlocked) {
|
|
doCommentModUnBlock(uri);
|
|
} else {
|
|
doCommentModBlock(uri);
|
|
}
|
|
}
|
|
|
|
return (
|
|
<Button
|
|
button={isBlocked ? 'alt' : 'secondary'}
|
|
label={
|
|
isBlocked
|
|
? isBlockingOrUnBlocking
|
|
? __('Unblocking...')
|
|
: __('Unblock')
|
|
: isBlockingOrUnBlocking
|
|
? __('Blocking...')
|
|
: __('Block')
|
|
}
|
|
onClick={handleClick}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default ChannelBlockButton;
|