hide menu on web for unauth
This commit is contained in:
parent
aced8fb593
commit
7581d914fe
2 changed files with 153 additions and 146 deletions
|
@ -28,6 +28,7 @@ import { doToast } from 'redux/actions/notifications';
|
||||||
import { makeSelectSigningIsMine } from 'redux/selectors/content';
|
import { makeSelectSigningIsMine } from 'redux/selectors/content';
|
||||||
import { doChannelSubscribe, doChannelUnsubscribe } from 'redux/actions/subscriptions';
|
import { doChannelSubscribe, doChannelUnsubscribe } from 'redux/actions/subscriptions';
|
||||||
import { makeSelectIsSubscribed } from 'redux/selectors/subscriptions';
|
import { makeSelectIsSubscribed } from 'redux/selectors/subscriptions';
|
||||||
|
import { selectUserVerifiedEmail } from 'redux/selectors/user';
|
||||||
import ClaimPreview from './view';
|
import ClaimPreview from './view';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
|
|
||||||
|
@ -49,6 +50,7 @@ const select = (state, props) => {
|
||||||
collectionName: makeSelectNameForCollectionId(props.collectionId)(state),
|
collectionName: makeSelectNameForCollectionId(props.collectionId)(state),
|
||||||
isMyCollection: makeSelectCollectionIsMine(props.collectionId)(state),
|
isMyCollection: makeSelectCollectionIsMine(props.collectionId)(state),
|
||||||
editedCollection: makeSelectEditedCollectionForId(props.collectionId)(state),
|
editedCollection: makeSelectEditedCollectionForId(props.collectionId)(state),
|
||||||
|
isAuthenticated: Boolean(selectUserVerifiedEmail(state)),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@ type Props = {
|
||||||
doChannelUnsubscribe: (SubscriptionArgs) => void,
|
doChannelUnsubscribe: (SubscriptionArgs) => void,
|
||||||
isChannelPage: boolean,
|
isChannelPage: boolean,
|
||||||
editedCollection: Collection,
|
editedCollection: Collection,
|
||||||
|
isAuthenticated: boolean,
|
||||||
};
|
};
|
||||||
|
|
||||||
function ClaimMenuList(props: Props) {
|
function ClaimMenuList(props: Props) {
|
||||||
|
@ -89,6 +90,7 @@ function ClaimMenuList(props: Props) {
|
||||||
doChannelUnsubscribe,
|
doChannelUnsubscribe,
|
||||||
isChannelPage = false,
|
isChannelPage = false,
|
||||||
editedCollection,
|
editedCollection,
|
||||||
|
isAuthenticated,
|
||||||
} = props;
|
} = props;
|
||||||
const repostedContent = claim && claim.reposted_claim;
|
const repostedContent = claim && claim.reposted_claim;
|
||||||
const contentClaim = repostedContent || claim;
|
const contentClaim = repostedContent || claim;
|
||||||
|
@ -223,176 +225,179 @@ function ClaimMenuList(props: Props) {
|
||||||
</MenuButton>
|
</MenuButton>
|
||||||
<MenuList className="menu__list">
|
<MenuList className="menu__list">
|
||||||
{/* WATCH LATER */}
|
{/* WATCH LATER */}
|
||||||
<>
|
{(!IS_WEB || (IS_WEB && isAuthenticated)) && (
|
||||||
{isPlayable && !collectionId && (
|
<>
|
||||||
<MenuItem
|
|
||||||
className="comment__menu-option"
|
|
||||||
onSelect={() => {
|
|
||||||
doToast({
|
|
||||||
message: __('Item %action% Watch Later', {
|
|
||||||
action: hasClaimInWatchLater
|
|
||||||
? __('removed from --[substring for "Item %action% Watch Later"]--')
|
|
||||||
: __('added to --[substring for "Item %action% Watch Later"]--'),
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
doCollectionEdit(COLLECTIONS_CONSTS.WATCH_LATER_ID, {
|
|
||||||
claims: [contentClaim],
|
|
||||||
remove: hasClaimInWatchLater,
|
|
||||||
type: 'playlist',
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<div className="menu__link">
|
|
||||||
<Icon aria-hidden icon={hasClaimInWatchLater ? ICONS.DELETE : ICONS.TIME} />
|
|
||||||
{hasClaimInWatchLater ? __('In Watch Later') : __('Watch Later')}
|
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
{/* CUSTOM LIST */}
|
|
||||||
{isPlayable && !collectionId && (
|
|
||||||
<MenuItem
|
|
||||||
className="comment__menu-option"
|
|
||||||
onSelect={() => {
|
|
||||||
doToast({
|
|
||||||
message: __(`Item %action% ${lastCollectionName}`, {
|
|
||||||
action: hasClaimInCustom ? __('removed from') : __('added to'),
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
doCollectionEdit(COLLECTIONS_CONSTS.FAVORITES_ID, {
|
|
||||||
claims: [contentClaim],
|
|
||||||
remove: hasClaimInCustom,
|
|
||||||
type: 'playlist',
|
|
||||||
});
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<div className="menu__link">
|
|
||||||
<Icon aria-hidden icon={hasClaimInCustom ? ICONS.DELETE : ICONS.STAR} />
|
|
||||||
{hasClaimInCustom ? __(`In ${lastCollectionName}`) : __(`${lastCollectionName}`)}
|
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
{/* COLLECTION OPERATIONS */}
|
|
||||||
{collectionId && collectionName && isCollectionClaim && (
|
|
||||||
<>
|
<>
|
||||||
{Boolean(editedCollection) && (
|
{isPlayable && !collectionId && (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
className="comment__menu-option"
|
className="comment__menu-option"
|
||||||
onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}?view=edit`)}
|
onSelect={() => {
|
||||||
|
doToast({
|
||||||
|
message: __('Item %action% Watch Later', {
|
||||||
|
action: hasClaimInWatchLater
|
||||||
|
? __('removed from --[substring for "Item %action% Watch Later"]--')
|
||||||
|
: __('added to --[substring for "Item %action% Watch Later"]--'),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
doCollectionEdit(COLLECTIONS_CONSTS.WATCH_LATER_ID, {
|
||||||
|
claims: [contentClaim],
|
||||||
|
remove: hasClaimInWatchLater,
|
||||||
|
type: 'playlist',
|
||||||
|
});
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="menu__link">
|
<div className="menu__link">
|
||||||
<Icon aria-hidden iconColor={'red'} icon={ICONS.PUBLISH} />
|
<Icon aria-hidden icon={hasClaimInWatchLater ? ICONS.DELETE : ICONS.TIME} />
|
||||||
{__('Publish')}
|
{hasClaimInWatchLater ? __('In Watch Later') : __('Watch Later')}
|
||||||
</div>
|
</div>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
)}
|
)}
|
||||||
<MenuItem className="comment__menu-option" onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}`)}>
|
{/* CUSTOM LIST */}
|
||||||
<div className="menu__link">
|
{isPlayable && !collectionId && (
|
||||||
<Icon aria-hidden icon={ICONS.VIEW} />
|
<MenuItem
|
||||||
{__('View List')}
|
className="comment__menu-option"
|
||||||
</div>
|
onSelect={() => {
|
||||||
</MenuItem>
|
doToast({
|
||||||
<MenuItem
|
message: __(`Item %action% ${lastCollectionName}`, {
|
||||||
className="comment__menu-option"
|
action: hasClaimInCustom ? __('removed from') : __('added to'),
|
||||||
onSelect={() => openModal(MODALS.COLLECTION_DELETE, { collectionId })}
|
}),
|
||||||
>
|
});
|
||||||
<div className="menu__link">
|
doCollectionEdit(COLLECTIONS_CONSTS.FAVORITES_ID, {
|
||||||
<Icon aria-hidden icon={ICONS.DELETE} />
|
claims: [contentClaim],
|
||||||
{__('Delete List')}
|
remove: hasClaimInCustom,
|
||||||
</div>
|
type: 'playlist',
|
||||||
</MenuItem>
|
});
|
||||||
</>
|
}}
|
||||||
)}
|
>
|
||||||
{/* CURRENTLY ONLY SUPPORT PLAYLISTS FOR PLAYABLE; LATER DIFFERENT TYPES */}
|
<div className="menu__link">
|
||||||
{isPlayable && (
|
<Icon aria-hidden icon={hasClaimInCustom ? ICONS.DELETE : ICONS.STAR} />
|
||||||
<MenuItem
|
{hasClaimInCustom ? __(`In ${lastCollectionName}`) : __(`${lastCollectionName}`)}
|
||||||
className="comment__menu-option"
|
</div>
|
||||||
onSelect={() => openModal(MODALS.COLLECTION_ADD, { uri, type: 'playlist' })}
|
</MenuItem>
|
||||||
>
|
)}
|
||||||
<div className="menu__link">
|
{/* COLLECTION OPERATIONS */}
|
||||||
<Icon aria-hidden icon={ICONS.STACK} />
|
{collectionId && collectionName && isCollectionClaim && (
|
||||||
{__('Add to Lists')}
|
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
{!isChannelPage && (
|
|
||||||
<>
|
|
||||||
<hr className="menu__separator" />
|
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleSupport}>
|
|
||||||
<div className="menu__link">
|
|
||||||
<Icon aria-hidden icon={ICONS.LBC} />
|
|
||||||
{__('Support --[button to support a claim]--')}
|
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{!incognitoClaim && !isRepost && !claimIsMine && !isChannelPage && (
|
|
||||||
<>
|
|
||||||
<hr className="menu__separator" />
|
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleFollow}>
|
|
||||||
<div className="menu__link">
|
|
||||||
<Icon aria-hidden icon={ICONS.SUBSCRIBE} />
|
|
||||||
{subscriptionLabel}
|
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
{!isMyCollection && (
|
|
||||||
<>
|
|
||||||
{(!claimIsMine || channelIsBlocked) && channelUri ? (
|
|
||||||
!incognitoClaim &&
|
|
||||||
!isRepost && (
|
|
||||||
<>
|
<>
|
||||||
<hr className="menu__separator" />
|
{Boolean(editedCollection) && (
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleToggleBlock}>
|
<MenuItem
|
||||||
<div className="menu__link">
|
className="comment__menu-option"
|
||||||
<Icon aria-hidden icon={ICONS.BLOCK} />
|
onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}?view=edit`)}
|
||||||
{channelIsBlocked ? __('Unblock Channel') : __('Block Channel')}
|
>
|
||||||
</div>
|
|
||||||
</MenuItem>
|
|
||||||
|
|
||||||
{isAdmin && (
|
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleToggleAdminBlock}>
|
|
||||||
<div className="menu__link">
|
<div className="menu__link">
|
||||||
<Icon aria-hidden icon={ICONS.GLOBE} />
|
<Icon aria-hidden iconColor={'red'} icon={ICONS.PUBLISH} />
|
||||||
{channelIsAdminBlocked ? __('Global Unblock Channel') : __('Global Block Channel')}
|
{__('Publish')}
|
||||||
</div>
|
</div>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
)}
|
)}
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}`)}>
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleToggleMute}>
|
|
||||||
<div className="menu__link">
|
<div className="menu__link">
|
||||||
<Icon aria-hidden icon={ICONS.MUTE} />
|
<Icon aria-hidden icon={ICONS.VIEW} />
|
||||||
{channelIsMuted ? __('Unmute Channel') : __('Mute Channel')}
|
{__('View List')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem
|
||||||
|
className="comment__menu-option"
|
||||||
|
onSelect={() => openModal(MODALS.COLLECTION_DELETE, { collectionId })}
|
||||||
|
>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.DELETE} />
|
||||||
|
{__('Delete List')}
|
||||||
</div>
|
</div>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</>
|
</>
|
||||||
)
|
)}
|
||||||
) : (
|
{/* CURRENTLY ONLY SUPPORT PLAYLISTS FOR PLAYABLE; LATER DIFFERENT TYPES */}
|
||||||
|
{isPlayable && (
|
||||||
|
<MenuItem
|
||||||
|
className="comment__menu-option"
|
||||||
|
onSelect={() => openModal(MODALS.COLLECTION_ADD, { uri, type: 'playlist' })}
|
||||||
|
>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.STACK} />
|
||||||
|
{__('Add to Lists')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
{!isChannelPage && (
|
||||||
<>
|
<>
|
||||||
{!isChannelPage && !isRepost && (
|
<hr className="menu__separator" />
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleEdit}>
|
<MenuItem className="comment__menu-option" onSelect={handleSupport}>
|
||||||
<div className="menu__link">
|
<div className="menu__link">
|
||||||
<Icon aria-hidden icon={ICONS.EDIT} />
|
<Icon aria-hidden icon={ICONS.LBC} />
|
||||||
{__('Edit')}
|
{__('Support --[button to support a claim]--')}
|
||||||
</div>
|
</div>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
)}
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
{showDelete && (
|
{!incognitoClaim && !isRepost && !claimIsMine && !isChannelPage && (
|
||||||
<MenuItem className="comment__menu-option" onSelect={handleDelete}>
|
<>
|
||||||
<div className="menu__link">
|
<hr className="menu__separator" />
|
||||||
<Icon aria-hidden icon={ICONS.DELETE} />
|
<MenuItem className="comment__menu-option" onSelect={handleFollow}>
|
||||||
{__('Delete')}
|
<div className="menu__link">
|
||||||
</div>
|
<Icon aria-hidden icon={ICONS.SUBSCRIBE} />
|
||||||
</MenuItem>
|
{subscriptionLabel}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
{!isMyCollection && (
|
||||||
|
<>
|
||||||
|
{(!claimIsMine || channelIsBlocked) && channelUri ? (
|
||||||
|
!incognitoClaim &&
|
||||||
|
!isRepost && (
|
||||||
|
<>
|
||||||
|
<hr className="menu__separator" />
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={handleToggleBlock}>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.BLOCK} />
|
||||||
|
{channelIsBlocked ? __('Unblock Channel') : __('Block Channel')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
|
||||||
|
{isAdmin && (
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={handleToggleAdminBlock}>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.GLOBE} />
|
||||||
|
{channelIsAdminBlocked ? __('Global Unblock Channel') : __('Global Block Channel')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={handleToggleMute}>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.MUTE} />
|
||||||
|
{channelIsMuted ? __('Unmute Channel') : __('Mute Channel')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
{!isChannelPage && !isRepost && (
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={handleEdit}>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.EDIT} />
|
||||||
|
{__('Edit')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{showDelete && (
|
||||||
|
<MenuItem className="comment__menu-option" onSelect={handleDelete}>
|
||||||
|
<div className="menu__link">
|
||||||
|
<Icon aria-hidden icon={ICONS.DELETE} />
|
||||||
|
{__('Delete')}
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<hr className="menu__separator" />
|
<hr className="menu__separator" />
|
||||||
|
|
||||||
{isChannelPage && IS_WEB && rssUrl && (
|
{isChannelPage && IS_WEB && rssUrl && (
|
||||||
|
|
Loading…
Add table
Reference in a new issue